1. 首先在aws上通过k8s的node节点ami模板创建一个ec2实例
2. 实例创建好之后,从其他机器拷贝镜像包导入镜像,启动docker 启动kubelet等操作已经在启动实例时候启动
3. 在master节点上切换到root,分别执行命令生成sha256和token
# openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
# kubeadm token list
4. 在新加的机器上切换到root用户执行命令,对应的token和SHA256用上一步生成的
# kubeadm reset
# kubeadm join --token [TOKEN] masterIP:6443 --discovery-token-ca-cert-hash sha256:[SHA256]
5. 新的节点加入到集群后是没有pod运行在上面的,我们可以找一个有负载的服务的pod对应的node节点,并设置污点策略为NoSchedule
kubectl taint node [nodename] key=value:NoSchedule
然后删除该节点上的对应的pod,这个pod重启后k8s会调度跑到新增的node上