05-kubeadm join原理

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後面接的結果是一樣的,一致就可以說加入正確

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章