使用配置文件来初始化(目前还是实验性的)

  1. kubeadm init --config FILE
  2. kubeadm join --config FILE

打印当前版本 kubeadm init 和 kubeadm join 的默认配置

kubeadm config print init-defaults
kubeadm config print join-defaults

将旧的 v1alpha3 版本的配置迁移到 v1beta1 版本 。 Kubernetes 1.14 版本中将会移除对 v1alpha3 这个版本的支持

kubeadm config migrate --old-config OLD_FILE --new-config NEW_FILE

v1beta1 版本配置中每个字段的细节说明
https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta1

加入集群相关

# 加入集群的命令通式
kubeadm join --token <token> <master-ip>:<master-port> --discovery-token-ca-cert-hash sha256:<hash>
# 列出加入集群时候的token
kubeadm token list
# 如果token过期,则需要重新创建一个
kubeadm token create
# sha256 值
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | \
   openssl dgst -sha256 -hex | sed 's/^.* //'

升级集群

Control Planle Node

# 升级 kubeadm
apt update && apt install kubeadm
# 查看可升级的计划
kubeadm upgrade plan
# 指定版本执行升级
kubeamd upgrade apply v1.15.0
# 更新节点的kubelet配置信息
kubeadm upgrade node
# 升级 kubelet kubectl
apt install kubelet kubectl
# 重启 kubelet
systemctl restart kubelet

Worker Nodes

# 升级 kubeadm
apt update && apt install kubeadm
# 更新节点的kubelet配置信息
kubeadm upgrade node
# 升级 kubelet kubectl
apt install -y kubelet kubectl
# 重启 kubelet
systemctl restart kubelet