k8s-kubeadm-实验环境准备
安装kubeadm,kubelet,kubectl
下面操作可以针对所有主机
# 配置yum源 $ cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF
# 安装工具 # 找到要安装的版本号 $ yum list kubeadm --showduplicates | sort -r
# 安装指定版本 $ yum install kubelet-1.19.8-0 -y && yum install kubectl-1.19.8-0 -y && yum install kubeadm-1.19.8-0 -y
初始化kubeadm
在m1主机中创建kubeadm-config.yaml文件
apiVersion: kubeadm.k8s.io/v1beta1 kind: ClusterConfiguration kubernetesVersion: v1.19.8 controlPlaneEndpoint: "192.168.170.180:6443" networking: # This CIDR is a Calico default. Substitute or remove for your CNI provider. podSubnet: "172.22.0.0/16" imageRepository: registry.aliyuncs.com/google_containers
然后执行初始化
echo "1" >/proc/sys/net/bridge/bridge-nf-call-iptables
kubeadm init --config=kubeadm-config.yaml --upload-certs
初始化结束后,运行提示的命令
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
拷贝you can now join...的两段输出,保存下来。
部署网络插件
https://docs.projectcalico.org/getting-started/kubernetes/self-managed-onprem/onpremises
curl https://docs.projectcalico.org/manifests/calico.yaml -O kubectl apply -f calico.yaml
加入其他master
# 使用之前保存的join命令加入集群 $ kubeadm join ... # 耐心等待一会,并观察日志 $ journalctl -f # 查看集群状态 # 1.查看节点 $ kubectl get nodes # 2.查看pods $ kubectl get pods --all-namespaces
加入其他worker
# 使用之前保存的join命令加入集群 $ kubeadm join ... # 耐心等待一会,并观察日志 $ journalctl -f # 查看节点 $ kubectl get nodes
虚拟机重启后,集群启动失败。需要清理,重新安装,通过下面命令
kubeadm reset rm -rf /var/lib/cni rm -rf /var/lib/etcd rm -rf $HOME/.kube