【问题标题】:Kubeadm join use specific advertise ip addressKubeadm join 使用特定的广告 ip 地址
【发布时间】:2021-01-01 16:37:59
【问题描述】:

我正在使用kubeadm 创建一个版本为1.11.5 的单一主kubernete。我有一个这样的 kubeadm 配置:

apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
api:
  advertiseAddress: <internal-ip>
apiServerCertSANs:
- <public-ip>
- <internal-ip>
kubernetesVersion: v1.11.5
networking:
  podSubnet: 10.244.0.0/16

这台机器是ec2 并在apiServerCertSANs 中添加&lt;public-ip&gt; 使得可以从我的笔记本电脑使用kubectl 访问集群。但不好的是,在worker node 中运行的kubeadm join 命令将默认使用&lt;public-ip&gt; 而不是&lt;internal-ip&gt;

我尝试手动使用kubeadm join &lt;internal-ip&gt;:6443 --token wby3bb.vomsgxxxxxxb --discovery-token-ca-cert-hash sha256:xxxxx,但生成的文件/etc/kubernetes/bootstrap-kubelet.conf/etc/kubernetes/kubelet.conf 仍在其中使用&lt;public-ip&gt;:6443。而“从 kube-system 命名空间中的“kubelet-config-1.11”ConfigMap 下载 kubelet 的配置”这一步仍然是从&lt;public-ip&gt; 访问主节点。

我需要让所有kubernetes都通过内部ip访问,如何更改ip访问?

【问题讨论】:

    标签: kubernetes kubeadm


    【解决方案1】:

    如果您只想在集群中使用内部网络进行通信。只需在您的主人上更新--advertise-address。 它通常存储在这里: /etc/systemd/system/kube-apiserver.service

    --advertise-address=<internal-ip>
    

    然后重启 api-server 守护进程:

    systemctl status kube-apiserver
    

    您也可以检查其他 kubernetes 守护进程以仅侦听内部 IP 地址。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-02
      • 2011-07-28
      • 2020-11-17
      • 2015-02-21
      • 2012-09-07
      • 2014-06-10
      • 2013-11-09
      • 2010-10-16
      相关资源
      最近更新 更多