教你一次性成功安装K8S集群(基于一主两从模式)(7)
# 只在 master 节点执行 # export 命令只在当前 shell 会话中有效,开启新的 shell 窗口后,如果要继续安装过程,请重新执行此处的 export 命令 export MASTER_IP=192.168.175.101 # 替换 k8s.master 为 您想要的 dnsName export APISERVER_NAME=k8s.master # Kubernetes 容器组所在的网段,该网段安装完成后,由 kubernetes 创建,事先并不存在于您的物理网络中 export POD_SUBNET=172.18.0.1/16 echo "${MASTER_IP} ${APISERVER_NAME}" >> /etc/hosts 2.初始化Master节点 在binghe101服务器上创建init_master.sh脚本文件,文件内容如下所示。 #!/bin/bash # 脚本出错时终止执行 set -e if [ ${#POD_SUBNET} -eq 0 ] || [ ${#APISERVER_NAME} -eq 0 ]; then echo -e "33[31;1m请确保您已经设置了环境变量 POD_SUBNET 和 APISERVER_NAME 33[0m" echo 当前POD_SUBNET=$POD_SUBNET echo 当前APISERVER_NAME=$APISERVER_NAME exit 1 fi # 查看完整配置选项 https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2 rm -f ./kubeadm-config.yaml cat < ./kubeadm-config.yaml apiVersion: kubeadm.k8s.io/v1beta2 kind: ClusterConfiguration kubernetesVersion: v1.18.2 imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers controlPlaneEndpoint: "${APISERVER_NAME}:6443" networking: serviceSubnet: "10.96.0.0/16" podSubnet: "${POD_SUBNET}" dnsDomain: "cluster.local" EOF # kubeadm init # 根据您服务器网速的情况,您需要等候 3 - 10 分钟 kubeadm init --config=kubeadm-config.yaml --upload-certs # 配置 kubectl rm -rf /root/.kube/ mkdir /root/.kube/ cp -i /etc/kubernetes/admin.conf /root/.kube/config # 安装 calico 网络插件 # 参考文档 https://docs.projectcalico.org/v3.13/getting-started/kubernetes/self-managed-onprem/onpremises echo "安装calico-3.13.1" rm -f calico-3.13.1.yaml wget https://kuboard.cn/install-script/calico/calico-3.13.1.yaml kubectl apply -f calico-3.13.1.yaml 赋予init_master.sh脚本文件可执行权限。 chmod a+x ./init_master.sh 执行init_master.sh脚本文件。 ./init_master.sh 3.查看Master节点的初始化结果 (1)确保所有容器组处于Running状态 # 执行如下命令,等待 3-10 分钟,直到所有的容器组处于 Running 状态 watch kubectl get pod -n kube-system -o wide 如下所示。 [root@binghe101 ~]# watch kubectl get pod -n kube-system -o wide Every 2.0s: kubectl get pod -n kube-system -o wide binghe101: Sat May 2 23:40:33 2020 NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES calico-kube-controllers-5b8b769fcd-l2tmm 1/1 Running 0 3m59s 172.18.203.67 binghe101 calico-node-8krsl 1/1 Running 0 3m59s 192.168.175.101 binghe101 coredns-546565776c-rd2zr 1/1 Running 0 3m59s 172.18.203.66 binghe101 coredns-546565776c-x8r7l 1/1 Running 0 3m59s 172.18.203.65 binghe101 etcd-binghe101 1/1 Running 0 4m14s 192.168.175.101 binghe101 kube-apiserver-binghe101 1/1 Running 0 4m14s 192.168.175.101 binghe101 kube-controller-manager-binghe101 1/1 Running 0 4m14s 192.168.175.101 binghe101 kube-proxy-qnffb 1/1 Running 0 3m59s 192.168.175.101 binghe101 kube-scheduler-binghe101 1/1 Running 0 4m14s 192.168.175.101 binghe101 (2) 查看 Master 节点初始化结果 kubectl get nodes -o wide 如下所示。 (编辑:ASP站长网) |