【问题标题】:Kubernetes/Kops: How is it works -- New created node join clusterKubernetes/Kops:它是如何工作的——新创建的节点加入集群
【发布时间】:2018-11-15 22:09:42
【问题描述】:

我正在与 kops 合作维护 kubernetes 集群,但对它如何将新节点加入集群感到有些困惑。

一开始我觉得应该是使用ELB dns名称来配置每个节点中的kubelet作为api服务器。但我找不到任何支持。

然后,我发现在新创建的实例的userdata中,有一些kubelet的配置项:

 `kubeconfigPath: /var/lib/kubelet/kubeconfig`

当我登录实例并发现 kubeconfig 文件中配置的服务器是另一个 dns 名称而不是我的 ELB 时,尝试解析它但失败了。尝试将此 kubeconfig 应用到另一个 kubelet 后,它显示错误:无法连接到服务器。

那么当我们添加新节点时,它在 kops 中是如何工作的?我找不到任何文件..

【问题讨论】:

    标签: kubernetes kops


    【解决方案1】:

    其实你是对的。主节点的 ELB 被添加到每个节点的 /var/lib/kubelet/kubeconfig 中,它确实可以解决它(我现在已经检查过了)。

    # cat /var/lib/kubelet/kubeconfig
    apiVersion: v1
    clusters:
    - cluster:
        certificate-authority-data: ...
        server: https://api.internal.prod.mycluster.com
      name: local
    contexts:
    - context:
        cluster: local
        user: kubelet
      name: service-account-context
    current-context: service-account-context
    kind: Config
    users:
    - name: kubelet
      user:
        client-certificate-data: ...
    
    
    # ping api.internal.prod.mycluster.com
    PING api.internal.prod.mycluster.com (172.28.11.5) 56(84) bytes of data.
    

    关于主节点:您不需要重新配置节点,因为 ELB 地址是相同的。使用节点更容易:您只需要注册它们。

    无论如何,如果您仍然对此感到好奇 - 尝试发现 Auto Scaling 组/启动配置(用户数据):

    附言。不要只是相信我——检查一下。

    【讨论】:

      猜你喜欢
      • 2017-12-10
      • 2021-05-14
      • 2021-06-22
      • 2019-07-28
      • 2023-01-30
      • 2020-08-01
      • 1970-01-01
      • 2019-10-22
      • 2021-11-09
      相关资源
      最近更新 更多