精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

亚洲欧美日韩区| 国产精品酒店视频| 思思99re6国产在线播放| 国产精品无码一区二区桃花视频 | 裸体xxxx视频在线| 亚洲精品1区| 91久久精品网| 亚洲激情一区二区| 伊人久久久久久久久久久久| 黑人巨大精品欧美一区免费视频 | 欧美日韩在线中文| av中文字幕第一页| 亚洲AV无码精品色毛片浪潮| 婷婷精品进入| 欧美一级片免费看| 久久国产精品一区二区三区| 麻豆一区二区三区精品视频| 奇米影视777在线欧美电影观看 | 色妞色视频一区二区三区四区| 97av中文字幕| 91porny九色| 水蜜桃精品av一区二区| 欧美麻豆精品久久久久久| 亚洲亚洲精品三区日韩精品在线视频| 国产又粗又猛视频| 欧美91大片| 最近2019中文字幕第三页视频| 国产人妻黑人一区二区三区| 亚洲免费一区| 性做久久久久久免费观看欧美| 亚洲国产精品日韩| www.黄色片| 日本va欧美va欧美va精品| 久久精品亚洲94久久精品| 国产老熟女伦老熟妇露脸| 久草免费在线视频| 亚洲人成影院在线观看| 国产精品揄拍500视频| 亚洲 欧美 日韩 综合| 一级毛片免费高清中文字幕久久网| 亚洲色图狂野欧美| youjizz.com在线观看| 韩日在线视频| 久久综合国产精品| 91中文在线视频| 欧美福利在线视频| 亚洲永久精品唐人导航网址| 亚洲精品成人久久电影| 在线免费黄色小视频| 日日夜夜一区| 欧美日韩国产色视频| 欧美一区二区三区成人久久片| 视频一区 中文字幕| 国产精品普通话对白| 欧美大奶子在线| 免费一级黄色录像| 三区四区不卡| 日韩在线视频观看| 欧美精品久久久久久久久46p| 自拍偷拍欧美一区| 国产精品伦一区二区三区| segui88久久综合| 亚洲免费观看在线视频| 在线观看福利一区| 国产视频一区二区三| 在线男人天堂| 婷婷成人综合网| 97视频在线免费| 俺来俺也去www色在线观看| 亚洲一区在线看| 国产一区二区三区小说| 波多野一区二区| 欧美视频13p| 欧美日韩怡红院| 二吊插入一穴一区二区| 日韩欧美有码在线| 老子影院午夜伦不卡大全| 日韩三级在线观看视频| 蜜桃国内精品久久久久软件9| 成人天堂资源www在线| 欧美日韩精品一区视频| 日本成人中文字幕在线| av成人免费看| 日韩欧美国产综合一区| 日韩精品视频一区二区| 欧美极品在线观看| 啊v视频在线一区二区三区| 黄色一级视频在线观看| 国产午夜久久| 91精品美女在线| 亚洲天堂网视频| 另类成人小视频在线| 2019国产精品视频| 国产小视频一区| 欧美国产日韩在线观看| 天天做天天躁天天躁| 波多野结衣亚洲| 欧美一区二区三区视频在线| 日本黄色网址大全| 午夜av一区| 青青a在线精品免费观看| 久久亚洲精品石原莉奈| 男女激情视频一区| 国产98在线|日韩| 成年午夜在线| 亚洲成人一区二区| 午夜精品中文字幕| 亚洲福利天堂| 欧美高清视频在线| 亚洲视频中文字幕在线观看| a美女胸又www黄视频久久| 亚洲韩国在线| 欧美理论影院| 亚洲国产91色在线| 久久精品亚洲a| 久久久久国产精品一区三寸| 国产精品亚洲欧美导航| 日本一卡二卡四卡精品| 亚洲综合视频网| 九九精品久久久| 亚洲人成网77777色在线播放| 久久精品国产精品| 中文字幕乱码视频| 久久蜜桃av一区二区天堂| 被灌满精子的波多野结衣| 国产高清日韩| 中文在线不卡视频| 人人爽人人爽人人片av| www.日韩在线| 中文网丁香综合网| 亚洲天堂导航| 91精品久久久久久久久99蜜臂| 国产精品20p| 久久深夜福利| 久久亚洲一区二区| hd国产人妖ts另类视频| 色94色欧美sute亚洲线路二| 性高潮免费视频| 欧美黄在线观看| 91精品视频播放| 免费**毛片在线| 欧美高清视频不卡网| 亚洲不卡的av| 美腿丝袜亚洲一区| 亚洲午夜精品久久久中文影院av| 四虎4545www国产精品| 亚洲欧美制服综合另类| 亚洲乱码国产乱码精品| 国产亚洲精久久久久久| 日韩免费高清在线| 精品久久国产| 国产精品欧美亚洲777777| 高清av在线| 欧美日韩免费高清一区色橹橹| 蜜桃av乱码一区二区三区| 成人在线视频国产| 日韩视频免费在线| 国产丰满美女做爰| 夜夜嗨av一区二区三区四季av| 国产一级二级av| 亚洲激情欧美| 久久精品人人做人人爽电影| 台湾佬中文娱乐网欧美电影| 国产亚洲福利一区| 一区二区的视频| 亚洲乱码日产精品bd| 日韩Av无码精品| 麻豆9191精品国产| 一区二区三区不卡在线| 国产精品国产亚洲精品| 久久久免费观看| 欧美日韩激情视频一区二区三区| 91电影在线观看| 91麻豆精品成人一区二区| 国产成人啪免费观看软件| 久久久久久久中文| av中文字幕一区二区| 91亚洲精品一区| av免费在线观看网址| 亚洲国产精品成人av| 亚洲中文字幕无码爆乳av| 国产精品久久久久久久久免费丝袜| 日韩av影视大全| 日韩图片一区| 亚洲一区二区三区精品在线观看| 日本一区精品视频| 51ⅴ精品国产91久久久久久| 日本中文字幕在线看| 精品国产网站在线观看| 欧美国产在线看| 久久久久久久综合狠狠综合| 亚洲激情在线看| 欧美日韩四区| 色涩成人影视在线播放| 国产午夜亚洲精品一级在线| 午夜精品久久久久久99热| 国产在线观看高清视频| 精品剧情在线观看| 亚洲婷婷久久综合| 亚洲欧美电影院| 亚洲自拍偷拍图| 成+人+亚洲+综合天堂| 污色网站在线观看| 国产精品综合| 日本成人三级| 1204国产成人精品视频| 国产精品旅馆在线| 国产天堂在线播放视频| www.国产一区| 国产一级片在线| 69av一区二区三区| 日韩在线视频不卡| 亚洲精品免费看| 五月天婷婷丁香网| 久久精品人人做| 老司机免费视频| 国产精品亚洲视频| 天天碰免费视频| 亚洲欧美网站| 黄色激情在线视频| 日韩在线二区| 日韩欧美一区二区三区四区| 精品视频自拍| 99re国产视频| 国产精品视频一区视频二区| 亚洲日本在线天堂| 999日本视频| 牛牛电影国产一区二区| 中文字幕日韩在线视频| 国产在线超碰| 国产视频亚洲精品| 天堂在线视频免费| 欧美性受xxxx黑人xyx| 国产精品va无码一区二区三区| 高清一区二区三区| 国产精品嫩草影院久久久| 天堂√8在线中文| 久久免费在线观看| 91超碰在线播放| 久久久久久网站| 黄色av网站在线播放| 中文字幕亚洲自拍| 欧美天天影院| 久久亚洲精品毛片| 在线日本视频| 日韩小视频网址| 女女色综合影院| www.xxxx欧美| 亚洲区欧洲区| 高清欧美一区二区三区| av电影院在线看| 国语自产偷拍精品视频偷 | 精品国产无码在线| 久久综合99| 亚洲欧美日韩精品在线| 亚洲成人精选| 欧洲精品在线播放| 女生裸体视频一区二区三区| 国产精品av免费| 国语自产精品视频在线看8查询8| 欧美男女爱爱视频| 老鸭窝毛片一区二区三区| 午夜精品久久久内射近拍高清| 国产一区成人| 手机在线免费观看毛片| 国产一区啦啦啦在线观看| wwwxxxx在线观看| 99精品欧美一区二区蜜桃免费 | 国产精品久久天天影视| 成人在线免费高清视频| 亚洲精品影视| 九热视频在线观看| 国产精品18久久久久久vr| 影音先锋黄色资源| 国产欧美精品一区二区色综合 | 久久精品国内一区二区三区水蜜桃| 黄色网zhan| 国产日韩一区二区三区在线| 青青视频在线播放| 日韩黄色一级片| 色婷婷一区二区三区在线观看| 国产麻豆精品theporn| 国产乱淫av麻豆国产免费| 91蜜桃传媒精品久久久一区二区| 在线观看日本中文字幕| 国产精品久久久久久福利一牛影视 | 中文字幕在线成人| 欧美激情二区| 91干在线观看| 9.1麻豆精品| 欧美aaaaa喷水| 亚洲素人在线| 欧美另类videosbestsex日本| 免费在线日韩av| 国模大尺度视频| 欧美国产一区视频在线观看| 国产91av视频| 91麻豆精品国产91久久久久久久久 | 波多野结衣综合网| 精品中文字幕一区二区| 在线免费观看成年人视频| 亚洲激情成人在线| 精品在线视频免费| 欧美巨大另类极品videosbest| 香蕉视频免费看| 欧美日本亚洲视频| av伦理在线| 99中文视频在线| 欧美aaaa视频| 国产精品免费成人| 国产黑丝在线一区二区三区| 老司机精品免费视频| 午夜精品视频在线观看| 国产成人麻豆精品午夜在线| 色一区av在线| 精品免费av一区二区三区| 久久久99爱| 91久久中文| 欧美熟妇精品一区二区| 国产精品三级av在线播放| 国产亚洲精品女人久久久久久| 制服丝袜亚洲色图| 在线免费看黄| 国产精品久久久久久久久免费| 天堂av一区二区三区在线播放| 艳母动漫在线免费观看| 日韩激情一区二区| 日韩女同一区二区三区| 色视频一区二区| 免费成人av电影| 国产香蕉精品视频一区二区三区 | 亚洲国产aⅴ成人精品无吗| 一级片aaaa| 久久精品国产2020观看福利| 小说区图片区亚洲| 影音先锋亚洲视频| 国产伦精品一区二区三区免费优势| 久久香蕉国产线看观看av| 成人在线爆射| 欧美午夜精品久久久久久蜜| 亚洲福利久久| 亚洲麻豆一区二区三区| 亚洲午夜激情av| 日本高清视频免费看| 欧美日韩美女在线观看| wwwav在线播放| yw.139尤物在线精品视频| 丝袜亚洲另类丝袜在线| 欧美精品久久久久久久久25p| 91偷拍与自偷拍精品| 久久久久久久久久久久久久av| 亚洲国产中文字幕在线观看| 国产一级免费片| 国产欧美一区二区三区网站| 成年人晚上看的视频| 夜夜嗨av色一区二区不卡| 巨胸喷奶水www久久久免费动漫| 欧美日韩亚洲一区二区三区在线观看 | 美女久久久精品| 日韩精品中文字| 中文av资源在线| y111111国产精品久久婷婷| 精品69视频一区二区三区Q| 制服.丝袜.亚洲.中文.综合懂| 一区二区三区精品| 在线观看国产黄| 欧美日韩中文一区| 一本—道久久a久久精品蜜桃| 九一久久久久久| 欧美日韩免费做爰视频| 欧美成人一级视频| 高潮在线视频| 日本午夜精品一区二区三区| 久久国产精品无码网站| www欧美com| 福利精品视频在线| 日本高清视频在线| 国产成人精品电影| 欧美成人基地| 欧美日韩一区在线视频| 国产在线精品视频| 九九热在线免费观看| 午夜老司机在线观看| 性做久久久久久免费观看欧美| 国产xxxx视频| 欧美亚洲一区二区在线| av免费在线免费观看| 欧美日韩系列| 国产精品亚洲一区二区三区妖精| 国产免费av一区| 久久手机精品视频| 国产亚洲久久| 久久久久日韩精品久久久男男| 99热这里只有精品首页 | 草草地址线路①屁屁影院成人| 欧美日韩一二区| 国产乱子伦三级在线播放| 亚洲va码欧洲m码| 日韩激情中文字幕| 国产精品黄色网|