【问题标题】:kubeadm: Explicitly set token for nodes to join withkubeadm:显式设置要加入的节点的令牌
【发布时间】:2019-03-27 15:43:35
【问题描述】:

我已经使用kubeadm 设置了我的主节点。

现在我想在我的节点上运行join 命令,以便稍后加入集群。

我要做的就是跑

kubeadm join --token <token> --discovery-token-ca-cert-hash <sha256>

其中&lt;token&gt; 和是先前由以下命令返回的值:

kubeadm init 

我也在尝试编写上述过程的脚本,我发现从最后一个命令中解析实际标记有点困难;

所以我在徘徊是否有办法在集群初始化期间显式指定&lt;token&gt;&lt;sha256&gt;,以避免不得不对init 命令执行hacky 解析。

【问题讨论】:

    标签: kubernetes kubeadm


    【解决方案1】:

    我也在尝试为它制作一个脚本。

    为了获得所需的值,我使用以下命令:

    TOKEN=$(sshpass -p $PASSWORD ssh  -o StrictHostKeyChecking=no root@$MASTER_IP sudo kubeadm token list | tail -1 | cut -f 1 -d " ") 
    
    
    HASH=$(sshpass -p $PASSWORD ssh  -o StrictHostKeyChecking=no  root@$MASTER_IP  openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //' )
    

    基本上,我使用此命令在 master 上 ssh 并获取此值。

    我还没有找到更简单的方法来实现这一点。

    【讨论】:

      【解决方案2】:

      其实好像有办法解决这个问题:

      (我将其放入 ansible 任务中,因为这是我计划使用它的地方)

        - name: kubernetes.yml --> Initiate kubernetes cluster
            shell: 'kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address={{ ansible_facts[if_name]["ipv4"]["address"] }}'
            become: yes
            when: inventory_hostname in groups['masters']
      
      
          - name: kubernetes.yml --> Get the join command
            shell: kubeadm token create --print-join-command
            register: rv_join_command
            when: inventory_hostname in (groups['masters'] | last)
            become: yes
      
          - name: kubernetes.yml --> Print the join command
            debug:
              var: rv_join_command.stdout
      

      输出:

      TASK [kubernetes.yml --> Print the join command] *******************************
      ok: [kubernetes-master-1] => 
        rv_join_command.stdout: 'kubeadm join 192.168.30.1:6443 --token ah0dbr.grxg9fke3c28dif3i     --discovery-token-ca-cert-hash sha256:716712ca7f07bfb4aa7df9a8b30ik3t0k3t2259b8c6fc7b68f50334356078 '
      

      【讨论】:

        猜你喜欢
        • 2017-03-12
        • 2020-06-03
        • 2019-09-10
        • 2020-05-18
        • 1970-01-01
        • 2021-01-04
        • 2013-04-05
        • 2020-11-05
        • 2017-03-10
        相关资源
        最近更新 更多