【问题标题】:Kubeadm init/join using public IPKubeadm 使用公共 IP 初始化/加入
【发布时间】:2020-08-16 00:32:31
【问题描述】:

我正在建立一个多节点、多硬件服务器 Kubernetes 集群。我正在使用 Calico 和 Kubeadm。

一个服务器版本正在使用主机之间的专用网络在 Windows 上运行。

我正面临一个网络问题,我正在尝试解决该问题以跨外部网络 (LAN) 连接节点。

因此,我尝试在虚拟机(节点)中使用网桥适配器“网卡虚拟化”,以允许通过网络查看使用混杂模式和静态 IP 地址的远程服务器。我正在使用 Vagrant。

但我无法通过网络 (LAN) 创建静态公共 IP,也许我没有权限这样做。

疑难解答:

  1. 首先,我尝试创建一个随机 IP 公共地址,它正在工作。但是当我尝试将工作节点加入主节点时,使用 kubeadm 失败,“连接被拒绝”。 Kubeadm join 命令仅适用于私有网络, 我读到有额外的 Kubernetes 配置需要编辑以允许外部访问,但我不知道该怎么做。我尝试使用: kubeadm join <public-ip>:6443 --token wby3bb.vomsgxxxxxxb --discovery-token-ca-cert-hash sha256:xxxxx 但是生成的文件 /etc/kubernetes/bootstrapkubelet.conf 和 /etc/kubernetes/kubelet.conf 仍然在其中使用 :6443 。 我也尝试更新--advertise-address。

  2. 创建网关以将特定端口的流量从第一个网络接口转发到第二个网络接口的想法之一,我在主机上使用 Ubuntu/xenial。

  3. 我认为最简单的解决方案是修复流量转发和 IP 地址分配。

我在问是否有人可以帮助我。

谢谢。

【问题讨论】:

    标签: networking kubernetes kubeadm


    【解决方案1】:

    在执行 kubeadm init 时,将公共 IP 和端口添加为 --control-plane-endpoint 参数的一部分。

    sudo kubeadm init --control-plane-endpoint "PUBLIC_IP:PORT"
    

    【讨论】:

      【解决方案2】:

      在使用 calico 和 kubeadm 时,这对我很有效

      sudo kubeadm init --pod-network-cidr=192.168.0.0/16 --control-plane-endpoint "PUBLIC_IP:PORT"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-08-02
        • 2019-08-27
        • 2018-09-17
        • 2020-09-24
        • 2023-03-27
        • 2019-02-02
        • 2017-05-06
        • 1970-01-01
        相关资源
        最近更新 更多