先放个链接,万一有人关注呢
↓ ↓ ↓ ↓ ↓
Kubernetes(K8S)部署集群全流程详解:基于Kubeadm
KubeGems:Kubernetes(K8S)集群可视化界面部署
# 定义要部署的CentOS 8主机列表hosts=("host1" "host2" "host3")new_node="host4"# 在master主机上获取token和hash值的函数get_token_and_hash() {token=$(ssh master "sudo kubeadm token create --print-join-command" | awk '{print $5}')hash=$(ssh master "openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'")echo "Token: $token"echo "Hash: $hash"}# 在所有主机上执行命令的函数execute_command_on_hosts() {command=$1for host in "${hosts[@]}"; dossh $host "$command"done}# 更新主机的包管理器execute_command_on_hosts "sudo yum update -y"# 配置阿里源execute_command_on_hosts "sudo yum install -y wget"execute_command_on_hosts "wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo"# 安装Kubernetes组件execute_command_on_hosts "sudo yum install -y kubelet kubeadm kubectl"# 启动并启用Kubernetes服务execute_command_on_hosts "sudo systemctl start kubelet"execute_command_on_hosts "sudo systemctl enable kubelet"# 在master主机上初始化Kubernetes集群ssh master "sudo kubeadm init --pod-network-cidr=10.244.0.0/16"# 部署CNI网络插件ssh master "kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml"# 获取token和hash值get_token_and_hashtoken=$(get_token_and_hash | awk '/Token:/{print $2}')hash=$(get_token_and_hash | awk '/Hash:/{print $2}')# 添加新节点到Kubernetes集群ssh master "sudo kubeadm join <master节点的IP地址和端口> --token $token --discovery-token-ca-cert-hash $hash"# 刷新节点状态ssh master "kubectl get nodes"

欢迎新的小伙伴加入!在这里,我们鼓励大家积极参与群内讨论和交流,分享自己的见解和经验,一起学习和成长。同时,也欢迎大家提出问题和建议,让我们不断改进和完善这个平台。
↓↓↓ 点个在看,无需赞赏!
原文作者:运维book思议;如有侵权,请联系管理员删除。