详细步骤可以参考:使用kubeadm部署生产环境kubernetes集群
git clone https://github.com/huweihuang/kubeadm-scripts.git
命令说明:
$ bash setup-k8s.sh -h
usage:
-h 显示帮助
-t [NodeType] 节点类型:(master, node)
-d [MasterDomain] apiserver域名
-m [MasterIP] Master IP/VIP
-n [NodeName] 节点名称
-k [Token] 添加master/node的Token
-a [Hash] 添加master/node的Hash
-c [CertificateKey] 添加master的CertificateKey
-u true 可选参数,更新为10年证书的kubeadm
example:
# init first master
bash setup-k8s.sh -t master -d [MasterDomain] -m [MasterIP] -n [NodeName]
# join the other master
bash setup-k8s.sh -t master -d [MasterDomain] -m [MasterIP] -n [NodeName] -k [Token] -a [Hash] -c [CertificateKey]
# join node
bash setup-k8s.sh -t node -d [MasterDomain] -m [MasterIP] -n [NodeName] -k [Token] -a [Hash]
修改version
文件中的组件版本号。
K8sVersion=1.28.0
ContainerdVersion=1.7.5
RuncVersion=1.1.9
CniVersion=1.3.0
NerdctlVersion=1.5.0
CrictlVersion=1.28.0
bash setup-k8s.sh -t master -d [MasterDomain] -m [MasterIP] -n [NodeName]
kubeadm token create --print-join-command
# 输出
kubeadm join xxx:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
bash setup-k8s.sh -t master -d [MasterDomain] -m [MasterIP] -n [NodeName] -k [Token] -a [Hash] -c [CertificateKey]
bash setup-k8s.sh -t node -d [MasterDomain] -m [MasterIP] -n [NodeName] -k [Token] -a [Hash]
任选一种网络插件安装。
- 安装flannel网络插件
cd cni/
bash install-flannel.sh
- 安装calico网络插件
cd cni/
bash install-calico.sh
cd master/
bash install-dashboard.sh
bash install-metrics-server.sh