精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

教你一次性成功安裝K8S集群(基于一主兩從模式)

云計算
作者個人研發(fā)的在高并發(fā)場景下,提供的簡單、穩(wěn)定、可擴展的延遲消息隊列框架,具有精準的定時任務和延遲隊列處理功能。自開源半年多以來,已成功為十幾家中小型企業(yè)提供了精準定時調(diào)度方案,經(jīng)受住了生產(chǎn)環(huán)境的考驗。

[[354882]]

作者個人研發(fā)的在高并發(fā)場景下,提供的簡單、穩(wěn)定、可擴展的延遲消息隊列框架,具有精準的定時任務和延遲隊列處理功能。自開源半年多以來,已成功為十幾家中小型企業(yè)提供了精準定時調(diào)度方案,經(jīng)受住了生產(chǎn)環(huán)境的考驗。為使更多童鞋受益,現(xiàn)給出開源框架地址:

https://github.com/sunshinelyz/mykit-delay

PS: 歡迎各位Star源碼,也可以pr你牛逼哄哄的代碼。

寫在前面

研究K8S有一段時間了,最開始學習K8S時,根據(jù)網(wǎng)上的教程安裝K8S環(huán)境總是報錯。所以,我就改變了學習策略,先不搞環(huán)境搭建了。先通過官網(wǎng)學習了K8S的整體架構(gòu),底層原理,又硬啃了一遍K8S源碼。別問我為哈這樣學,只是我覺得對我個人來說,這樣學能讓我更好的理解整套云原生體系。這不,這次,我總結(jié)了如何一次性成功安裝K8S集群的方法。我們今天先來說說如何基于一主兩從模式搭建K8S集群。后面,我們再上如何完全無坑搭建K8S高可用集群的方案。

文章和搭建環(huán)境所需要的yml文件已收錄到:https://github.com/sunshinelyz/technology-binghe 和 https://gitee.com/binghe001/technology-binghe 。如果文件對你有點幫助,別忘記給個Star哦!

集群規(guī)劃

IP 主機名 節(jié)點 操作系統(tǒng)版本
192.168.175.101 binghe101 Master CentOS 8.0.1905
192.168.175.102 binghe102 Worker CentOS 8.0.1905
192.168.175.103 binghe103 Worker CentOS 8.0.1905

基礎配置

在三臺服務器上的/etc/hosts文件中添加如下配置項。

  1. 192.168.175.101  binghe101 
  2. 192.168.175.102  binghe102 
  3. 192.168.175.103  binghe103 

檢查系統(tǒng)環(huán)境

分別在三臺服務器上檢查系統(tǒng)的環(huán)境。

1.查看服務器操作系統(tǒng)版本

  1. cat /etc/redhat-release 

安裝Docker和K8S集群的服務器操作系統(tǒng)版本需要在CentOS 7以上。

2.查看服務器的主機名

  1. hostname 

注意:集群中服務器的主機名不能是localhost。

3.查看服務器的CPU核數(shù)

  1. lscpu 

注意:集群中服務器的CPU核數(shù)不能少于2個。

4.查看服務器網(wǎng)絡

以binghe101(Master)服務器為例。在服務器上執(zhí)行 ip route show 命令來查看服務器的默認網(wǎng)卡,如下所示。

  1. [root@binghe101 ~]# ip route show 
  2. default via 192.168.175.2 dev ens33 proto static metric 100  
  3. 172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown  
  4. 192.168.175.0/24 dev ens33 proto kernel scope link src 192.168.175.101 metric 100  

在上面的輸出信息中有如下一行標注了binghe101服務器所使用的默認網(wǎng)卡。

  1. default via 192.168.175.2 dev ens33 proto static metric 100  

可以看到,binghe101服務器使用的默認網(wǎng)卡為ens33。

接下來,使用ip address命令查看服務器的IP地址,如下所示。

  1. [root@binghe101 ~]# ip address 
  2. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 
  3.     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 
  4.     inet 127.0.0.1/8 scope host lo 
  5.        valid_lft forever preferred_lft forever 
  6.     inet6 ::1/128 scope host  
  7.        valid_lft forever preferred_lft forever 
  8. 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 
  9.     link/ether 00:0c:29:68:06:63 brd ff:ff:ff:ff:ff:ff 
  10.     inet 192.168.175.101/24 brd 192.168.175.255 scope global noprefixroute ens33 
  11.        valid_lft forever preferred_lft forever 
  12.     inet6 fe80::890f:5a92:4171:2a11/64 scope link noprefixroute  
  13.        valid_lft forever preferred_lft forever 

可以看到,binghe101服務器上的默認網(wǎng)卡的IP地址為192.168.175.101,K8S將使用此 IP 地址與集群內(nèi)的其他節(jié)點通信。集群中所有K8S所使用的IP地址必須可以互通。

Docker安裝

分別在三臺服務器上安裝Docker并配置阿里云鏡像加速器。

1.安裝Docker

新建auto_install_docker.sh腳本文件

  1. vim auto_install_docker.sh 

文件的內(nèi)容如下所示。

  1. export REGISTRY_MIRROR=https://registry.cn-hangzhou.aliyuncs.com 
  2. dnf install yum* 
  3. yum install -y yum-utils  device-mapper-persistent-data  lvm2 
  4. yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
  5. dnf install https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.13-3.1.el7.x86_64.rpm 
  6. yum install docker-ce docker-ce-cli -y 
  7. systemctl enable docker.service 
  8. systemctl start docker.service 
  9. docker version 

或者指定Docker的版本進行安裝,此時auto_install_docker.sh腳本文件的內(nèi)容如下所示。

  1. export REGISTRY_MIRROR=https://registry.cn-hangzhou.aliyuncs.com 
  2. dnf install yum* 
  3. yum install -y yum-utils device-mapper-persistent-data lvm2 
  4. yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
  5. yum install -y docker-ce-19.03.8 docker-ce-cli-19.03.8 containerd.io 
  6. systemctl enable docker.service 
  7. systemctl start docker.service 
  8. docker version 

使用如下命令賦予auto_install_docker.sh文件可執(zhí)行權限。

  1. chmod a+x ./auto_install_docker.sh 

接下來,直接運行auto_install_docker.sh腳本文件安裝Docker即可。

  1. ./auto_install_docker.sh 

2.配置阿里云鏡像加速器

新建腳本文件aliyun_docker_images.sh。

  1. vim aliyun_docker_images.sh 

文件內(nèi)容如下所示。

  1. mkdir -p /etc/docker 
  2. tee /etc/docker/daemon.json <<-'EOF' 
  3.   "registry-mirrors": ["https://zz3sblpi.mirror.aliyuncs.com"
  4. EOF 
  5. systemctl daemon-reload 
  6. systemctl restart docker 

為aliyun_docker_images.sh腳本文件賦予可執(zhí)行權限,如下所示。

  1. chmod a+x ./aliyun_docker_images.sh 

執(zhí)行aliyun_docker_images.sh腳本文件配置阿里云鏡像加速器。

  1. ./aliyun_docker_images.sh 

系統(tǒng)設置

分別在三臺服務器上進行系統(tǒng)設置。

1.安裝nfs-utils

  1. yum install -y nfs-utils 
  2. yum install -y wget 

2.關閉防火墻

  1. systemctl stop firewalld 
  2. systemctl disable firewalld 

3.關閉 SeLinux

  1. setenforce 0 
  2. sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config 

4.關閉 swap

  1. swapoff -a 
  2. yes | cp /etc/fstab /etc/fstab_bak 
  3. cat /etc/fstab_bak |grep -v swap > /etc/fstab 

5.修改 /etc/sysctl.conf

新建sys_config.sh腳本文件。

  1. vim sys_config.sh 

sys_config.sh腳本文件的內(nèi)容如下所示,

  1. # 如果有配置,則修改 
  2. sed -i "s#^net.ipv4.ip_forward.*#net.ipv4.ip_forward=1#g"  /etc/sysctl.conf 
  3. sed -i "s#^net.bridge.bridge-nf-call-ip6tables.*#net.bridge.bridge-nf-call-ip6tables=1#g"  /etc/sysctl.conf 
  4. sed -i "s#^net.bridge.bridge-nf-call-iptables.*#net.bridge.bridge-nf-call-iptables=1#g"  /etc/sysctl.conf 
  5. sed -i "s#^net.ipv6.conf.all.disable_ipv6.*#net.ipv6.conf.all.disable_ipv6=1#g"  /etc/sysctl.conf 
  6. sed -i "s#^net.ipv6.conf.default.disable_ipv6.*#net.ipv6.conf.default.disable_ipv6=1#g"  /etc/sysctl.conf 
  7. sed -i "s#^net.ipv6.conf.lo.disable_ipv6.*#net.ipv6.conf.lo.disable_ipv6=1#g"  /etc/sysctl.conf 
  8. sed -i "s#^net.ipv6.conf.all.forwarding.*#net.ipv6.conf.all.forwarding=1#g"  /etc/sysctl.conf 
  9. # 可能沒有,追加 
  10. echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf 
  11. echo "net.bridge.bridge-nf-call-ip6tables = 1" >> /etc/sysctl.conf 
  12. echo "net.bridge.bridge-nf-call-iptables = 1" >> /etc/sysctl.conf 
  13. echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf 
  14. echo "net.ipv6.conf.default.disable_ipv6 = 1" >> /etc/sysctl.conf 
  15. echo "net.ipv6.conf.lo.disable_ipv6 = 1" >> /etc/sysctl.conf 
  16. echo "net.ipv6.conf.all.forwarding = 1"  >> /etc/sysctl.conf 
  17. # 執(zhí)行命令以應用 
  18. sysctl -p 

執(zhí)行如下命令賦予sys_config.sh文件可執(zhí)行權限。

  1. chmod a+x ./sys_config.sh 

執(zhí)行sys_config.sh腳本文件。

  1. ./sys_config.sh 

安裝K8S

分別在三臺服務器上安裝K8S。

1.配置K8S yum源

新建k8s_yum.sh腳本文件。

  1. vim k8s_yum.sh 

文件的內(nèi)容如下所示。

  1. cat <<EOF > /etc/yum.repos.d/kubernetes.repo 
  2. [kubernetes] 
  3. name=Kubernetes 
  4. baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 
  5. enabled=1 
  6. gpgcheck=0 
  7. repo_gpgcheck=0 
  8. gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg 
  9.        http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg 
  10. EOF 

賦予k8s_yum.sh腳本文件的可執(zhí)行權限。

  1. chmod a+x ./k8s_yum.sh 

執(zhí)行k8s_yum.sh文件。

  1. ./k8s_yum.sh 

2.卸載舊版本的K8S

  1. yum remove -y kubelet kubeadm kubectl 

3.安裝kubelet、kubeadm、kubectl

  1. yum install -y kubelet-1.18.2 kubeadm-1.18.2 kubectl-1.18.2 

4.修改docker Cgroup Driver為systemd

  1. sed -i "s#^ExecStart=/usr/bin/dockerd.*#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --exec-opt native.cgroupdriver=systemd#g" /usr/lib/systemd/system/docker.service 

5.重啟 docker,并啟動 kubelet

  1. systemctl daemon-reload 
  2. systemctl restart docker 
  3. systemctl enable kubelet && systemctl start kubelet 

綜合安裝腳本

綜上,上述安裝Docker、進行系統(tǒng)設置,安裝K8S的操作可以統(tǒng)一成auto_install_docker_k8s.sh腳本。腳本的內(nèi)容如下所示。

  1. #安裝Docker 19.03.8 
  2. export REGISTRY_MIRROR=https://registry.cn-hangzhou.aliyuncs.com 
  3. dnf install yum* 
  4. yum install -y yum-utils device-mapper-persistent-data lvm2 
  5. yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
  6. yum install -y docker-ce-19.03.8 docker-ce-cli-19.03.8 containerd.io 
  7. systemctl enable docker.service 
  8. systemctl start docker.service 
  9. docker version 
  10.  
  11. #配置阿里云鏡像加速器 
  12. mkdir -p /etc/docker 
  13. tee /etc/docker/daemon.json <<-'EOF' 
  14.   "registry-mirrors": ["https://zz3sblpi.mirror.aliyuncs.com"
  15. EOF 
  16. systemctl daemon-reload 
  17. systemctl restart docker 
  18.  
  19. #安裝nfs-utils 
  20. yum install -y nfs-utils 
  21. yum install -y wget 
  22.  
  23. #關閉防火墻 
  24. systemctl stop firewalld 
  25. systemctl disable firewalld 
  26.  
  27. #關閉SeLinux 
  28. setenforce 0 
  29. sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config 
  30.  
  31. # 關閉 swap 
  32. swapoff -a 
  33. yes | cp /etc/fstab /etc/fstab_bak 
  34. cat /etc/fstab_bak |grep -v swap > /etc/fstab 
  35.  
  36. #修改 /etc/sysctl.conf 
  37. # 如果有配置,則修改 
  38. sed -i "s#^net.ipv4.ip_forward.*#net.ipv4.ip_forward=1#g"  /etc/sysctl.conf 
  39. sed -i "s#^net.bridge.bridge-nf-call-ip6tables.*#net.bridge.bridge-nf-call-ip6tables=1#g"  /etc/sysctl.conf 
  40. sed -i "s#^net.bridge.bridge-nf-call-iptables.*#net.bridge.bridge-nf-call-iptables=1#g"  /etc/sysctl.conf 
  41. sed -i "s#^net.ipv6.conf.all.disable_ipv6.*#net.ipv6.conf.all.disable_ipv6=1#g"  /etc/sysctl.conf 
  42. sed -i "s#^net.ipv6.conf.default.disable_ipv6.*#net.ipv6.conf.default.disable_ipv6=1#g"  /etc/sysctl.conf 
  43. sed -i "s#^net.ipv6.conf.lo.disable_ipv6.*#net.ipv6.conf.lo.disable_ipv6=1#g"  /etc/sysctl.conf 
  44. sed -i "s#^net.ipv6.conf.all.forwarding.*#net.ipv6.conf.all.forwarding=1#g"  /etc/sysctl.conf 
  45. # 可能沒有,追加 
  46. echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf 
  47. echo "net.bridge.bridge-nf-call-ip6tables = 1" >> /etc/sysctl.conf 
  48. echo "net.bridge.bridge-nf-call-iptables = 1" >> /etc/sysctl.conf 
  49. echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf 
  50. echo "net.ipv6.conf.default.disable_ipv6 = 1" >> /etc/sysctl.conf 
  51. echo "net.ipv6.conf.lo.disable_ipv6 = 1" >> /etc/sysctl.conf 
  52. echo "net.ipv6.conf.all.forwarding = 1"  >> /etc/sysctl.conf 
  53. # 執(zhí)行命令以應用 
  54. sysctl -p 
  55.  
  56. # 配置K8S的yum源 
  57. cat <<EOF > /etc/yum.repos.d/kubernetes.repo 
  58. [kubernetes] 
  59. name=Kubernetes 
  60. baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 
  61. enabled=1 
  62. gpgcheck=0 
  63. repo_gpgcheck=0 
  64. gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg 
  65.        http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg 
  66. EOF 
  67.  
  68. # 卸載舊版本K8S 
  69. yum remove -y kubelet kubeadm kubectl 
  70.  
  71. # 安裝kubelet、kubeadm、kubectl,這里我安裝的是1.18.2版本,你也可以安裝1.17.2版本 
  72. yum install -y kubelet-1.18.2 kubeadm-1.18.2 kubectl-1.18.2 
  73.  
  74. # 修改docker Cgroup Driver為systemd 
  75. # # 將/usr/lib/systemd/system/docker.service文件中的這一行 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 
  76. # # 修改為 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --exec-opt native.cgroupdriver=systemd 
  77. # 如果不修改,在添加 worker 節(jié)點時可能會碰到如下錯誤 
  78. # [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd".  
  79. # Please follow the guide at https://kubernetes.io/docs/setup/cri/ 
  80. sed -i "s#^ExecStart=/usr/bin/dockerd.*#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --exec-opt native.cgroupdriver=systemd#g" /usr/lib/systemd/system/docker.service 
  81.  
  82. # 設置 docker 鏡像,提高 docker 鏡像下載速度和穩(wěn)定性 
  83. # 如果您訪問 https://hub.docker.io 速度非常穩(wěn)定,亦可以跳過這個步驟 
  84. # curl -sSL https://kuboard.cn/install-script/set_mirror.sh | sh -s ${REGISTRY_MIRROR} 
  85.  
  86. # 重啟 docker,并啟動 kubelet 
  87. systemctl daemon-reload 
  88. systemctl restart docker 
  89. systemctl enable kubelet && systemctl start kubelet 
  90.  
  91. docker version 

注意:我安裝的K8S版本是1.18.2,大家在安裝K8S時,也可以選擇其他版本進行安裝

賦予auto_install_docker_k8s.sh腳本文件可執(zhí)行權限。

  1. chmod a+x ./auto_install_docker_k8s.sh 

執(zhí)行auto_install_docker_k8s.sh腳本文件。

  1. ./auto_install_docker_k8s.sh 

注意:需要在每臺服務器上執(zhí)行auto_install_docker_k8s.sh腳本文件。

初始化Master節(jié)點

只在binghe101服務器上執(zhí)行的操作。

1.初始化Master節(jié)點的網(wǎng)絡環(huán)境

  1. # 只在 master 節(jié)點執(zhí)行 
  2. # export 命令只在當前 shell 會話中有效,開啟新的 shell 窗口后,如果要繼續(xù)安裝過程,請重新執(zhí)行此處的 export 命令 
  3. export MASTER_IP=192.168.175.101 
  4. # 替換 k8s.master 為 您想要的 dnsName 
  5. export APISERVER_NAME=k8s.master 
  6. # Kubernetes 容器組所在的網(wǎng)段,該網(wǎng)段安裝完成后,由 kubernetes 創(chuàng)建,事先并不存在于您的物理網(wǎng)絡中 
  7. export POD_SUBNET=172.18.0.1/16 
  8. echo "${MASTER_IP}    ${APISERVER_NAME}" >> /etc/hosts 

2.初始化Master節(jié)點

在binghe101服務器上創(chuàng)建init_master.sh腳本文件,文件內(nèi)容如下所示。

  1. #!/bin/bash 
  2. # 腳本出錯時終止執(zhí)行 
  3. set -e 
  4.  
  5. if [ ${#POD_SUBNET} -eq 0 ] || [ ${#APISERVER_NAME} -eq 0 ]; then 
  6.   echo -e "\033[31;1m請確保您已經(jīng)設置了環(huán)境變量 POD_SUBNET 和 APISERVER_NAME \033[0m" 
  7.   echo 當前POD_SUBNET=$POD_SUBNET 
  8.   echo 當前APISERVER_NAME=$APISERVER_NAME 
  9.   exit 1 
  10. fi 
  11.  
  12.  
  13. # 查看完整配置選項 https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2 
  14. rm -f ./kubeadm-config.yaml 
  15. cat <<EOF > ./kubeadm-config.yaml 
  16. apiVersion: kubeadm.k8s.io/v1beta2 
  17. kind: ClusterConfiguration 
  18. kubernetesVersion: v1.18.2 
  19. imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers 
  20. controlPlaneEndpoint: "${APISERVER_NAME}:6443" 
  21. networking: 
  22.   serviceSubnet: "10.96.0.0/16" 
  23.   podSubnet: "${POD_SUBNET}" 
  24.   dnsDomain: "cluster.local" 
  25. EOF 
  26.  
  27. # kubeadm init 
  28. # 根據(jù)您服務器網(wǎng)速的情況,您需要等候 3 - 10 分鐘 
  29. kubeadm init --config=kubeadm-config.yaml --upload-certs 
  30.  
  31. # 配置 kubectl 
  32. rm -rf /root/.kube/ 
  33. mkdir /root/.kube/ 
  34. cp -i /etc/kubernetes/admin.conf /root/.kube/config 
  35.  
  36. # 安裝 calico 網(wǎng)絡插件 
  37. # 參考文檔 https://docs.projectcalico.org/v3.13/getting-started/kubernetes/self-managed-onprem/onpremises 
  38. echo "安裝calico-3.13.1" 
  39. rm -f calico-3.13.1.yaml 
  40. wget https://kuboard.cn/install-script/calico/calico-3.13.1.yaml 
  41. kubectl apply -f calico-3.13.1.yaml 

賦予init_master.sh腳本文件可執(zhí)行權限。

  1. chmod a+x ./init_master.sh 

執(zhí)行init_master.sh腳本文件。

  1. ./init_master.sh 

3.查看Master節(jié)點的初始化結(jié)果

(1)確保所有容器組處于Running狀態(tài)

  1. # 執(zhí)行如下命令,等待 3-10 分鐘,直到所有的容器組處于 Running 狀態(tài) 
  2. watch kubectl get pod -n kube-system -o wide 

如下所示。

  1. [root@binghe101 ~]# watch kubectl get pod -n kube-system -o wide 
  2. Every 2.0s: kubectl get pod -n kube-system -o wide                                                                                                                          binghe101: Sat May  2 23:40:33 2020 
  3.  
  4. NAME                                       READY   STATUS    RESTARTS   AGE     IP                NODE        NOMINATED NODE   READINESS GATES 
  5. calico-kube-controllers-5b8b769fcd-l2tmm   1/1     Running   0          3m59s   172.18.203.67     binghe101   <none>           <none> 
  6. calico-node-8krsl                          1/1     Running   0          3m59s   192.168.175.101   binghe101   <none>           <none> 
  7. coredns-546565776c-rd2zr                   1/1     Running   0          3m59s   172.18.203.66     binghe101   <none>           <none> 
  8. coredns-546565776c-x8r7l                   1/1     Running   0          3m59s   172.18.203.65     binghe101   <none>           <none> 
  9. etcd-binghe101                             1/1     Running   0          4m14s   192.168.175.101   binghe101   <none>           <none> 
  10. kube-apiserver-binghe101                   1/1     Running   0          4m14s   192.168.175.101   binghe101   <none>           <none> 
  11. kube-controller-manager-binghe101          1/1     Running   0          4m14s   192.168.175.101   binghe101   <none>           <none> 
  12. kube-proxy-qnffb                           1/1     Running   0          3m59s   192.168.175.101   binghe101   <none>           <none> 
  13. kube-scheduler-binghe101                   1/1     Running   0          4m14s   192.168.175.101   binghe101   <none>           <none> 

(2) 查看 Master 節(jié)點初始化結(jié)果

  1. kubectl get nodes -o wide 

如下所示。

  1. [root@binghe101 ~]# kubectl get nodes -o wide 
  2. NAME        STATUS   ROLES    AGE     VERSION   INTERNAL-IP       EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION         CONTAINER-RUNTIME 
  3. binghe101   Ready    master   5m43s   v1.18.2   192.168.175.101   <none>        CentOS Linux 8 (Core)   4.18.0-80.el8.x86_64   docker://19.3.8 

初始化Worker節(jié)點

1.獲取join命令參數(shù)

在Master節(jié)點上執(zhí)行如下命令獲取join命令參數(shù)。

  1. kubeadm token create --print-join-command 

具體執(zhí)行如下所示。

  1. [root@binghe101 ~]# kubeadm token create --print-join-command 
  2. W0502 23:44:55.218947   59318 configset.go:202] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io] 
  3. kubeadm join k8s.master:6443 --token s0hoh1.2cwyf1fyyjl2h04a     --discovery-token-ca-cert-hash sha256:6d78e360dc64d84762611ac6beec8ac0f0fe9f72a5c2cca008df949e07827c19 

其中,有如下一行輸出。

  1. kubeadm join k8s.master:6443 --token s0hoh1.2cwyf1fyyjl2h04a     --discovery-token-ca-cert-hash sha256:6d78e360dc64d84762611ac6beec8ac0f0fe9f72a5c2cca008df949e07827c19 

這行代碼就是獲取到的join命令。

注意:join命令中的token的有效時間為 2 個小時,2小時內(nèi),可以使用此 token 初始化任意數(shù)量的 worker 節(jié)點。

2.初始化Worker節(jié)點

針對所有的 worker 節(jié)點執(zhí)行,在這里,就是在binghe102服務器和binghe103服務器上執(zhí)行。

創(chuàng)建init_worker.sh腳本文件,文件內(nèi)容如下所示。

  1. # 只在 worker 節(jié)點執(zhí)行 
  2. # 192.168.175.101 為 master 節(jié)點的內(nèi)網(wǎng) IP 
  3. export MASTER_IP=192.168.175.101 
  4. # 替換 k8s.master 為初始化 master 節(jié)點時所使用的 APISERVER_NAME 
  5. export APISERVER_NAME=k8s.master 
  6. echo "${MASTER_IP}    ${APISERVER_NAME}" >> /etc/hosts 
  7.  
  8. # 替換為 master 節(jié)點上 kubeadm token create 命令輸出的join 
  9. kubeadm join k8s.master:6443 --token s0hoh1.2cwyf1fyyjl2h04a     --discovery-token-ca-cert-hash sha256:6d78e360dc64d84762611ac6beec8ac0f0fe9f72a5c2cca008df949e07827c19 

其中,kubeadm join...就是master 節(jié)點上 kubeadm token create 命令輸出的join。

賦予init_worker.sh腳本文件文件可執(zhí)行權限,并執(zhí)行init_worker.sh腳本文件。

  1. chmod a+x ./init_worker.sh 
  2. ./init_worker.sh 

3.查看初始化結(jié)果

在Master節(jié)點執(zhí)行如下命令查看初始化結(jié)果。

  1. kubectl get nodes -o wide 

如下所示。

  1. [root@binghe101 ~]# kubectl get nodes 
  2. NAME        STATUS   ROLES    AGE     VERSION 
  3. binghe101   Ready    master   20m     v1.18.2 
  4. binghe102   Ready    <none>   2m46s   v1.18.2 
  5. binghe103   Ready    <none>   2m46s   v1.18.2 

注意:kubectl get nodes命令后面加上-o wide參數(shù)可以輸出更多的信息。

重啟K8S集群引起的問題

1.Worker節(jié)點故障不能啟動

Master 節(jié)點的 IP 地址發(fā)生變化,導致 worker 節(jié)點不能啟動。需要重新安裝K8S集群,并確保所有節(jié)點都有固定的內(nèi)網(wǎng) IP 地址。

2.Pod崩潰或不能正常訪問

重啟服務器后使用如下命令查看Pod的運行狀態(tài)。

  1. kubectl get pods --all-namespaces 

發(fā)現(xiàn)很多 Pod 不在 Running 狀態(tài),此時,需要使用如下命令刪除運行不正常的Pod。

  1. kubectl delete pod <pod-name> -n <pod-namespece> 

注意:如果Pod 是使用 Deployment、StatefulSet 等控制器創(chuàng)建的,K8S 將創(chuàng)建新的 Pod 作為替代,重新啟動的 Pod 通常能夠正常工作。

本文轉(zhuǎn)載自微信公眾號「冰河技術」,可以通過以下二維碼關注。轉(zhuǎn)載本文請聯(lián)系冰河技術公眾號。

 

責任編輯:武曉燕 來源: 冰河技術
相關推薦

2020-11-02 13:44:56

CentOSK8SLinux

2020-09-23 10:40:50

Centos7k8sJava

2011-04-18 13:36:42

2024-04-03 09:00:10

2014-08-04 14:38:25

LinuxToken

2013-04-17 09:16:37

2024-02-28 08:18:13

Java日志項目

2023-12-05 08:33:44

滴滴故障k8s

2019-08-06 09:21:45

2023-09-26 07:11:15

KubernetesJob節(jié)點

2021-08-12 09:48:21

Webpack Loa工具Webpack

2021-08-20 11:35:04

服務運維 故障

2014-03-06 15:16:18

安全管理linux安全

2009-12-25 14:46:53

Windows 7文件關聯(lián)

2010-11-24 16:32:50

2012-09-18 15:04:31

Office 2013微軟

2022-06-02 14:18:44

kubeadm云原生

2021-11-04 07:49:58

K8SStatefulSetMySQL

2019-08-12 08:36:33

K8S網(wǎng)絡Pod

2010-07-20 14:55:23

點贊
收藏

51CTO技術棧公眾號

午夜精品123| 国产综合成人久久大片91| 欧美精品一区二区蜜臀亚洲| 国产青青在线视频| 国产三级在线看| 极品尤物av久久免费看| 国内免费久久久久久久久久久| 黄色片视频免费观看| 亚洲二区av| 午夜精品一区二区三区免费视频 | 亚洲国产成人av网| 热re99久久精品国99热蜜月| 99久久精品国产一区色| 美女网站久久| 九九热这里只有精品免费看| 久久久久久久久久久国产精品| 国产日韩另类视频一区| 一卡二卡欧美日韩| 亚洲v国产v在线观看| 亚洲精品久久久久久久久久| 日本人妖一区二区| 97精品在线视频| 一区二区国产精品精华液| 亚洲三级网址| 亚洲精品一区二区三区香蕉| 中文字幕第36页| 国产一二三在线| 亚洲精品免费播放| 一级二级三级欧美| 欧美91精品久久久久国产性生爱| 国产一区二区三区综合| 国产精品1区2区在线观看| 天堂资源在线播放| 91精品国产调教在线观看| 国产一区二区三区网站| 亚洲中文字幕一区| a级日韩大片| 欧美一级二级三级蜜桃| 粉色视频免费看| 成人一区福利| 欧美性极品xxxx娇小| 久久综合久久网| 人人澡人人添人人爽一区二区| 国产女主播一区| 日韩中文一区二区三区| 久久综合九色综合久| 波多野结衣中文字幕一区二区三区| 91久久精品视频| 一区二区精品视频在线观看| 日本在线不卡视频| 日本中文字幕不卡免费| 国产伦精品一区二区三区视频网站| 亚洲第一在线| 97久久精品国产| 国产无码精品一区二区| 最新日韩欧美| 性欧美在线看片a免费观看 | 精品999日本| 欧美高清性猛交| 久久久综合久久久| 亚洲区第一页| 97avcom| 国产情侣自拍av| 米奇777在线欧美播放| 45www国产精品网站| 亚洲天堂视频网站| 奇米影视一区二区三区| 成人高h视频在线| 国产白浆在线观看| 成人动漫精品一区二区| 精品国产乱码一区二区三区四区| 日中文字幕在线| 国产日韩欧美不卡| 中文字幕一区二区三区5566| 国产美女在线观看| 亚洲成人av一区| 日韩久久一级片| 91大神在线观看线路一区| 欧美精品在线观看播放| 欧美一级片在线免费观看| 欧美三级电影在线| 尤物tv国产一区| 国产三级国产精品国产国在线观看| 欧美jjzz| 国内外成人免费激情在线视频 | 一本久道久久综合狠狠爱| 欧美综合第一页| 中文av免费观看| 国产91在线观看| 久久国产精品亚洲va麻豆| www免费网站在线观看| 亚洲私人黄色宅男| 免费看一级大黄情大片| 涩涩涩久久久成人精品| 欧美精品一区二区在线观看| 免费在线观看污| 亚洲国产精品日韩专区av有中文| 国外视频精品毛片| 欧美成人一区二区视频| 国产成人精品一区二区三区四区| 久久偷看各类wc女厕嘘嘘偷窃| 1024视频在线| 午夜av一区二区| 天堂一区在线观看| 老牛精品亚洲成av人片| 色偷偷噜噜噜亚洲男人| 少妇一级淫片免费放中国| 久久99精品久久久久久动态图| 国产高清一区视频| 日本中文字幕在线播放| 精品动漫一区二区| 日本在线观看视频一区| 精品国产乱码久久久久久蜜坠欲下 | 欧美在线影院| 国产精品久久久久7777婷婷| 好吊色一区二区三区| 国产精品久久综合| 岳毛多又紧做起爽| 成功精品影院| 欧美成人精品激情在线观看| 久久亚洲精品石原莉奈| 成人免费视频视频| 大地资源第二页在线观看高清版| 亚洲国产成人二区| 亚洲аv电影天堂网| 午夜剧场免费在线观看| 久久国产婷婷国产香蕉| 品久久久久久久久久96高清| 草草在线观看| 欧美成人vr18sexvr| 精品人妻伦九区久久aaa片| 日日摸夜夜添夜夜添亚洲女人| 国产欧美日韩一区| 午夜小视频在线观看| 制服视频三区第一页精品| 国产精品久久免费观看| 老鸭窝毛片一区二区三区| 久久av二区| а√天堂8资源中文在线| 欧美成人欧美edvon| 男人与禽猛交狂配| 国产一区二区三区久久久| 一本一道久久a久久精品综合 | 日本道精品一区二区三区| 日本少妇xxxx| 国产色综合网| 久久久久久国产精品mv| 欧洲一区精品| 亚洲精品小视频| 国产精品国产三级国产专区52| 成人免费观看男女羞羞视频| 日本a级片在线播放| 久久丁香四色| 久久久久久成人| 性生活视频软件| 亚洲一区二区中文在线| 男人网站在线观看| 国产欧美日本| 欧美裸体网站| 成人国产精品一区二区免费麻豆| 视频在线观看99| 国产伦精品一区二区三区四区| 1024亚洲合集| 91人人澡人人爽| 日韩视频久久| 秋霞在线观看一区二区三区| 岛国一区二区| 欧美多人乱p欧美4p久久| 天堂在线中文网| 色偷偷一区二区三区| 精品亚洲aⅴ无码一区二区三区| 免费观看成人鲁鲁鲁鲁鲁视频| 一区二区在线观| 成人国产精品一区二区网站| 欧美黑人巨大精品一区二区| 天天操天天爱天天干| 91九色02白丝porn| 中文国语毛片高清视频| 国产高清不卡一区二区| 欧美深夜福利视频| 国产真实有声精品录音| 亚洲一区亚洲二区| 97超碰免费在线| 中文字幕亚洲第一| www.综合色| 色综合亚洲欧洲| 国产亚洲精品久久久久久豆腐| 豆国产96在线|亚洲| 亚洲熟妇av一区二区三区| 91久久电影| 精品不卡一区二区三区| 精品久久福利| 午夜精品国产精品大乳美女| www.中文字幕久久久| 日韩你懂的在线播放| 无码人妻丰满熟妇区五十路| 亚洲日本一区二区| 动漫精品一区二区三区| 精品一区二区免费| 国产免费黄色av| 正在播放日韩欧美一页| 欧美影视一区二区| 亚洲精品高潮| 国产精品视频1区| 黄色在线看片| 爱福利视频一区| 你懂的在线观看| 亚洲成人黄色网| 91片黄在线观看喷潮| 欧美性猛交视频| 欧美激情国产精品免费| 中文字幕乱码日本亚洲一区二区| 男人网站在线观看| 国产精品白丝jk白祙喷水网站 | 国产一级一片免费播放| 中文字幕欧美日本乱码一线二线| 日韩少妇一区二区| 国产制服丝袜一区| 五月婷婷狠狠操| 亚洲综合精品四区| 韩日视频在线观看| 午夜久久影院| ijzzijzzij亚洲大全| 精品日韩在线| 欧美一区二区在线| 九色丨蝌蚪丨成人| 国产98在线|日韩| 粉嫩一区二区三区在线观看| 国产精品私拍pans大尺度在线| 乡村艳史在线观看| 亚洲**2019国产| 国产嫩草在线视频| 欧美丰满少妇xxxx| 在线xxxx| 欧美二区在线播放| 青草av在线| 欧美精品在线视频观看| 成人a在线视频免费观看| 少妇高潮 亚洲精品| 成人动漫在线播放| 在线播放国产一区二区三区| 欧美美女色图| 亚洲人成五月天| 男女av在线| 亚洲区在线播放| 欧洲一级在线观看| 国产亚洲成精品久久| 国产在线你懂得| 国产亚洲欧美aaaa| eeuss影院www在线观看| 中文字幕综合一区| 色视频在线免费观看| www.日韩欧美| www.久久ai| 欧美激情视频网址| 免费毛片b在线观看| 欧洲精品在线视频| 视频一区在线免费看| 国产精品一二三在线| 成人全视频免费观看在线看| 91精品久久久久久综合乱菊| 国产精品毛片无码| 999日本视频| 老司机aⅴ在线精品导航| 欧美日韩国产高清视频| 国产在线观看91一区二区三区| 亚洲免费不卡| 欧美黄色aaaa| 欧美 日韩 亚洲 一区| 久久字幕精品一区| 欧美第一页浮力影院| 国产精品一区久久久久| 青青草视频网站| 久久这里只有精品视频网| 欧美激情 一区| 亚洲色图都市小说| 国产精品自拍99| 欧美日韩亚洲另类| 精品人妻少妇嫩草av无码专区| 亚洲电影免费观看| 国产精品一二三区视频| 久久亚洲精品毛片| 咪咪网在线视频| 国产精品青草久久久久福利99| 9999在线精品视频| 久久96国产精品久久99软件| 色综合蜜月久久综合网| 成人性生活视频免费看| 日韩精品亚洲一区| 中文字幕无码毛片免费看| 久久一二三国产| 日本精品在线免费观看| 精品日本美女福利在线观看| 亚洲性猛交富婆| 精品日产卡一卡二卡麻豆| 国产一级片在线| 久久免费观看视频| 欧美视频在线视频精品| 97超碰资源| 波多野结衣在线播放一区| 日韩激情视频一区二区| 久久精品国产第一区二区三区| 一本加勒比波多野结衣| 最新国产精品久久精品| 秋霞精品一区二区三区| 日韩亚洲欧美一区| www.中文字幕久久久| 国产91精品高潮白浆喷水| 久久久精品区| 亚洲精品一区二区三区av| 国产欧美一区二区色老头| 午夜免费一级片| 国产视频一区在线播放| 日韩欧美亚洲视频| 欧美一区二区三区人| 午夜在线视频播放| 日本久久中文字幕| 久久影视三级福利片| 黄色小视频大全| 美国欧美日韩国产在线播放| 五级黄高潮片90分钟视频| 亚洲一区二区三区四区在线免费观看 | 一区免费视频| www激情五月| 国产精品乱子久久久久| 国产天堂第一区| 亚洲欧美制服中文字幕| 岛国av在线网站| 国产不卡一区二区三区在线观看| 99久久这里只有精品| 天堂av在线网站| 国产日产欧美一区二区视频| 国产成人亚洲精品自产在线| 精品日韩一区二区三区| 羞羞的网站在线观看| 亚洲a∨日韩av高清在线观看| 欧美成免费一区二区视频| 五月婷婷六月丁香激情| 中文字幕中文字幕在线一区| 中文字幕在线视频第一页| 中文字幕不卡av| 欧美爱爱视频| 亚洲欧洲在线一区| 久久国产成人午夜av影院| 可以免费看av的网址| 欧美日韩一区在线| 中国日本在线视频中文字幕| 国产精品免费久久久| 日韩欧美视频在线播放| 亚洲另类第一页| 亚洲天堂久久久久久久| a级片在线视频| 欧美极品第一页| 国产精品x8x8一区二区| 国产原创popny丨九色| 91啪九色porn原创视频在线观看| 亚洲欧美在线视频免费| 精品亚洲永久免费精品| 深夜成人福利| 亚洲欧美日韩在线综合| 国产综合色产在线精品 | 91国内精品野花午夜精品| www日韩tube| 91丨九色丨国产在线| 欧美日本中文| 国产精品探花一区二区在线观看| 一本大道av一区二区在线播放| av福利精品| 91手机在线观看| 国产麻豆综合| 婷婷丁香综合网| 日韩视频国产视频| 成入视频在线观看| 日韩欧美在线电影| 国产一区二区不卡老阿姨| 国产无遮挡又黄又爽| 国产亚洲成av人片在线观看桃| 97久久精品一区二区三区的观看方式| 男女裸体影院高潮| 久久蜜桃香蕉精品一区二区三区| 国产天堂第一区| 欧美激情精品久久久久久蜜臀 | 伊人久久精品视频| 国产精品亚洲欧美一级在线| 18岁网站在线观看| 国产精品久久久久久久久免费樱桃 | 日韩免费一区二区| 另类激情视频| 亚洲五码在线观看视频| 久久亚洲一级片| 国产日本精品视频| 欧美亚洲激情在线| 91精品啪在线观看国产81旧版| 国产亚洲色婷婷久久99精品91| 欧美日韩国产乱码电影| 黄色在线观看www| 裸体大乳女做爰69| 久久精品一区八戒影视| 亚洲第一成年人网站| 国产精品第三页|