我在上一章部署好了主节点,这章来进行node节点加入
获取token
node加入master时候需要使用到token,我们到主节点上查看一下
kubeadm token list
我这里是o6dzhe.oxwu5ad6kt80qi05 我们的token不一样的,在后面可以看到还剩余23小时有效期
如果你的token过期了可以使用
kubeadm token create
新申请一个,如果想删除
kubeadm token delete <token前面的id>
如 kubeadm token delete o6dzhe.oxwu5ad6kt80qi05
现在我们获取到了token的值为 o6dzhe.oxwu5ad6kt80qi05
获取master控制台上的hash
还是在主节点上获取这个数值,千万不要去别的node节点上
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2> /dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
执行完这个命令就可以获取到一串数值
我们在输出的这串数值前面加个sha256: 就是我们master上面所需的hash值,就是下面这样
sha256:f26751192d56ef3e4ce5eb0ad64ee12f2e05298a4a6223651e4a83887e6187b9
我们的数值都不一样,你必须自己去查看你的数值
token和hash
现在我们获取到两个重要数值,分别是token和hash
token: o6dzhe.oxwu5ad6kt80qi05 (一定要在有效期内使用)
hash: sha256:f26751192d56ef3e4ce5eb0ad64ee12f2e05298a4a6223651e4a83887e6187b9
我们先在主节点上查看一下nodes
可以看到只有我们的一个master主节点
现在就要去加入节点了
注意:刚刚以上的操作都是在master节点做的,现在我们要进入node里了
node1加入master
进入node1服务器
cat << EOF >> /etc/docker/daemon.json
{
"exec-opts":["native.cgroupdriver=systemd"]
}
EOF
systemctl restart docker
kubeadm join 192.168.113.120:6443 --token o6dzhe.oxwu5ad6kt80qi05 --discovery-token-ca-cert-hash sha256:f26751192d56ef3e4ce5eb0ad64ee12f2e05298a4a6223651e4a83887e6187b9
这条命令里的o6dzhe.oxwu5ad6kt80qi05 和sha256:f26751192d56ef3e4ce5eb0ad64ee12f2e05298a4a6223651e4a83887e6187b9
都要改成你的
这样就加入成功了
我们再去master主服务器上查看使用 kubectl get nodes
可以看到node1已经成功加入了
node2加入master
进入node2服务器
cat << EOF >> /etc/docker/daemon.json
{
"exec-opts":["native.cgroupdriver=systemd"]
}
EOF
systemctl restart docker
kubeadm join 192.168.113.120:6443 --token o6dzhe.oxwu5ad6kt80qi05 --discovery-token-ca-cert-hash sha256:f26751192d56ef3e4ce5eb0ad64ee12f2e05298a4a6223651e4a83887e6187b9
加入成功
回到master服务器上查看
看到node1和node2成功加入