Kubernetes / Kops:它是如何工作的 - 新创建的节点连接集群

时间:2018-06-06 09:23:56

标签: kubernetes kops

我正在使用kops来维护kubernetes集群,但对它如何将新节点加入集群感到有点困惑。

首先,我认为应该使用ELB dns名称将每个节点中的kubelet配置为api服务器。但我找不到任何支持。

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

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

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

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

1 个答案:

答案 0 :(得分:0)

实际上,您是对的。主节点的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组/启动配置(用户数据):

enter image description here

PS。不要只是相信我-检查一下。