溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

K8s(Kubernetes)簡介及安裝部署

發(fā)布時(shí)間:2020-06-15 03:10:45 來源:億速云 閱讀:10421 作者:栢白 欄目:云計(jì)算

提綱:

一.環(huán)境準(zhǔn)備
二.部署前操作

  1. 借助ntp服務(wù)設(shè)置各節(jié)點(diǎn)的時(shí)間同步

  2. 通過DNS完成各節(jié)點(diǎn)名稱解析,測試環(huán)境主機(jī),測試用hosts文件代替

  3. 配置ssh免密登入

  4. 關(guān)閉各節(jié)點(diǎn)iptables和firewalld服務(wù)

  5. 禁用SELinux

  6. 禁用Swap設(shè)備

  7. 打開iptables橋接功能及路由轉(zhuǎn)發(fā)

三.部署k8s集群

  1. 部署docker

  2. 部署kubernetes

  3. 配置Master節(jié)點(diǎn)初始化

  4. 在master安裝flannel插入

  5. Node節(jié)點(diǎn)加入

  6. 在master上查看

一.環(huán)境準(zhǔn)備

系統(tǒng)主機(jī)名ip
Centos7.5master4X.5X.44.101
Centos7.5node014X.5X.38.116
Centos7.5node024X.5X.39.27

二.部署前操作

  1. 借助ntp服務(wù)設(shè)置各節(jié)點(diǎn)的時(shí)間同步

    • 下載

      yum -y install chrony


    • 啟動

      systemctl start chronyd && systemctl enable chronyd


    • 檢測

      chronyc sources


    • K8s(Kubernetes)簡介及安裝部署

      K8s(Kubernetes)簡介及安裝部署

      K8s(Kubernetes)簡介及安裝部署

  2. 通過DNS完成各節(jié)點(diǎn)名稱解析,測試環(huán)境主機(jī),測試用hosts文件代替

    • hostnamectl  set-hostname  master

    • 同理設(shè)置node01、node02

    • 配置各節(jié)點(diǎn)hosts

    K8s(Kubernetes)簡介及安裝部署

    K8s(Kubernetes)簡介及安裝部署

    K8s(Kubernetes)簡介及安裝部署

    K8s(Kubernetes)簡介及安裝部署

    K8s(Kubernetes)簡介及安裝部署

    K8s(Kubernetes)簡介及安裝部署

  3. 配置master配置ssh免密登入。

    ssh-keygen -t rsa


    ssh-copy-id node01


    ssh-copy-id node02
  4. K8s(Kubernetes)簡介及安裝部署

  5. 如有firewalld服務(wù)或iptables規(guī)則關(guān)閉各節(jié)點(diǎn)iptables和firewalld服務(wù)

    systemctl stop firewalld && systemctl disable firewalld


    iptables -F


  6. 禁用SELinux

    • 關(guān)閉臨時(shí)

      setenforce 0


    • 永久關(guān)閉

      /etc/sysconfig/selinux 中改SELINUX=disabled


  7. 禁用Swap設(shè)備

    • 檢查

      swapoff -a


      free


    K8s(Kubernetes)簡介及安裝部署

    K8s(Kubernetes)簡介及安裝部署

    K8s(Kubernetes)簡介及安裝部署

  8. 打開iptables橋接功能及路由轉(zhuǎn)發(fā)

    • 各節(jié)點(diǎn)開啟橋接。

      sysctl -a |grep bridge過濾bridge不存在就用下面命令加載br_netfilter
      modprobe br_netfilter
      
      cat >> /etc/sysctl.d/k8s.conf << EOF
      net.bridge.bridge-nf-call-iptables = 1
      net.bridge.bridge-nf-call-ip6tables = 1
      EOF
      
      sysctl -p /etc/sysctl.d/k8s.conf
    • K8s(Kubernetes)簡介及安裝部署

      K8s(Kubernetes)簡介及安裝部署

      K8s(Kubernetes)簡介及安裝部署

    • 各節(jié)點(diǎn)開啟轉(zhuǎn)發(fā)。

      echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.confsysctl -p

K8s(Kubernetes)簡介及安裝部署

K8s(Kubernetes)簡介及安裝部署

K8s(Kubernetes)簡介及安裝部署

三.部署k8s集群

  1. 部署docker

    • 獲取yum、安裝、開啟。

      wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
      yum -y install docker-cesystemctl enable docker && systemctl start docker
      docker --version

    K8s(Kubernetes)簡介及安裝部署

    K8s(Kubernetes)簡介及安裝部署

    K8s(Kubernetes)簡介及安裝部署

  2. 部署kubernetes

    • 獲取yum。

      cat > /etc/yum.repos.d/kubernetes.repo << EOF
      [kubernetes]
      name=Kubernetes
      baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
      enabled=1
      gpgcheck=1
      repo_gpgcheck=1
      gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
      EOF
    • K8s(Kubernetes)簡介及安裝部署

      K8s(Kubernetes)簡介及安裝部署

      K8s(Kubernetes)簡介及安裝部署

    • 安裝、開機(jī)自啟kubelet。


    yum -y install kubelet kubectl kubeadm
    
        systemctl enable kubelet


    K8s(Kubernetes)簡介及安裝部署

    K8s(Kubernetes)簡介及安裝部署

    K8s(Kubernetes)簡介及安裝部署

  1. 配置Master節(jié)點(diǎn)初始化

    • 部署(由于訪問k8s源達(dá)不到,用阿里源)。

      kubeadm version #查看安裝的版本
      kubeadm init --kubernetes-version="v1.20.5" --pod-network-cidr=10.244.0.0/16 
      --image-repository registry.aliyuncs.com/google_containers #根據(jù)上面版本填寫


    • K8s(Kubernetes)簡介及安裝部署

    • 保存初始化中信息,方便節(jié)點(diǎn)加入。

      K8s(Kubernetes)簡介及安裝部署

    • 執(zhí)行初始化中提示必要步驟

      mkdir -p $HOME/.kube
      sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo 
      chown $(id -u):$(id -g) $HOME/.kube/config
    • kubectl查看節(jié)點(diǎn)狀態(tài)。

      kubectl get nodes


    K8s(Kubernetes)簡介及安裝部署

  1. 在master中安裝flannel插入

    • 根據(jù)上圖,狀態(tài)是NotReady,安裝flannel插件

      wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml如果wget下載有問題就用其他方法把yml文件下載下來
      kubectl apply -f kube-flannel.yml
    • 用kubectl查看狀態(tài)是否變化為Ready。

      kubectl get nodes


    K8s(Kubernetes)簡介及安裝部署

  2. Node節(jié)點(diǎn)加入

    • 將 master初始中保存的  kueadm join ip:6443 --token **復(fù)制到node01、node02中執(zhí)行

    K8s(Kubernetes)簡介及安裝部署

  3. 在master上查看

    • 查看節(jié)點(diǎn)是否加入。

      kubectl get nodes


    • K8s(Kubernetes)簡介及安裝部署

    • 查看pod資源狀態(tài)(Running正常)。

      kubectl get pod -n kube-system


K8s(Kubernetes)簡介及安裝部署

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI