05-kubeadm join原理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huangjun0210/article/details/86690633

join:将node加入集群
kubeadm join 172.28.65.239:6443 --token 40dup1.urffu06eu0u1hzy3 --discovery-token-ca-cert-hash sha256:9536338df40c12f9287a15d4764fb02041b5e5cd2b0700fddeea32cfbab4cd83

1. master节点IP+端口

172.28.65.239:6443

命令第一部分为master节点IP+端口

2. token:用于Master验证Node身份

--token 40dup1.urffu06eu0u1hzy3

主要是在/etc/kubernetes/manifests/kube-apiserver.yaml中的–enable-bootstrap-token-auth=true设置了为true
在这里插入图片描述
token格式由两段组成:token-id.token-serect

  • 查看有前缀的secret对象(token-id)
    kubectl get secret -n kube-system | grep bootstrap
    在这里插入图片描述
    bootstrap-token的后缀与kubeadm join --token 的token-id一致
  • 查看secret对象的具体内容
    kubectl get secret/bootstrap-token-40dup1 -n kube-system -o yaml
    token-secret是一个base64编码的字符串,解码
    echo dXJmZnUwNmV1MHUxaHp5Mw== | base64 -d
    在这里插入图片描述
    解码后的内容与kubeadm join --token 的token-serect一致

3. discovery-token-ca-cert-hash : 用于Node验证Master身份

根据CA的公钥证书数据来计算出hash值
openssl x509 -in /etc/kubernetes/pki/ca.crt -noout -pubkey | openssl rsa -pubin -outform DER 2>/dev/null | sha256sum | cut -d' ' -f1
在这里插入图片描述
这里的计算结果,跟join加入的discovery-token-ca-cert-hash后面接的结果是一样的,一致就可以说加入正确

猜你喜欢

转载自blog.csdn.net/huangjun0210/article/details/86690633