Kubernetes 如何更改/设置k8s主节点内部ip或公共ip?
我已经在云虚拟机上安装了k3s。(k3s与k8s非常相似。) k3s服务器作为主节点启动 主节点的标签显示内部ip为192.168.xxx.xxx。主节点的注释显示公共ip也是192.168.xxx.xxx 但是CloudVM的实际公共ip是49.xx.xx.xx。因此来自其他机器的代理无法连接此主节点。 因为代理总是尝试连接代理”wss://192.168.xxx.xxx:6443/...“ 如果我在云虚拟机上运行ifconfig,公共ip(49.xx.xx.xx)不会显示。因此k3s找不到正确的内部ip或公共ip。 我尝试用--bind address=49.xx.xx.xx启动k3s,但启动失败。我想这个ip地址没有NIC绑定Kubernetes 如何更改/设置k8s主节点内部ip或公共ip?,kubernetes,k3s,Kubernetes,K3s,我已经在云虚拟机上安装了k3s。(k3s与k8s非常相似。) k3s服务器作为主节点启动 主节点的标签显示内部ip为192.168.xxx.xxx。主节点的注释显示公共ip也是192.168.xxx.xxx 但是CloudVM的实际公共ip是49.xx.xx.xx。因此来自其他机器的代理无法连接此主节点。 因为代理总是尝试连接代理”wss://192.168.xxx.xxx:6443/...“ 如果我在云虚拟机上运行ifconfig,公共ip(49.xx.xx.xx)不会显示。因此k3s找不到正
如果我尝试创建地址为49.xx.xx.xx的虚拟网卡,如何解决此问题?连接Kubernetes主机和节点的最佳选择是使用专用网络 如何设置K3S主机和单节点群集: 先决条件:
- 所有机器都需要在同一个专用网络内。例如192.168.0.0/24
- 所有的机器都需要相互通信。您可以使用以下命令ping它们:
$ping IP\u地址
- 主节点(k3s),专用ip为10.156.0.13
- 工作节点(k3s-2),专用ip为10.156.0.8
$curl-sfLhttps://get.k3s.io |sh-
此命令的输出应如下所示:
[INFO] Finding latest release
[INFO] Using v0.10.2 as release
[INFO] Downloading hash https://github.com/rancher/k3s/releases/download/v0.10.2/sha256sum-amd64.txt
[INFO] Downloading binary https://github.com/rancher/k3s/releases/download/v0.10.2/k3s
[INFO] Verifying binary download
[INFO] Installing k3s to /usr/local/bin/k3s
[INFO] Creating /usr/local/bin/kubectl symlink to k3s
[INFO] Creating /usr/local/bin/crictl symlink to k3s
[INFO] Creating /usr/local/bin/ctr symlink to k3s
[INFO] Creating killall script /usr/local/bin/k3s-killall.sh
[INFO] Creating uninstall script /usr/local/bin/k3s-uninstall.sh
[INFO] env: Creating environment file /etc/systemd/system/k3s.service.env
[INFO] systemd: Creating service file /etc/systemd/system/k3s.service
[INFO] systemd: Enabling k3s unit
Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service → /etc/systemd/system/k3s.service.
[INFO] systemd: Starting k3s
检查主节点是否工作:
$kubectl获取节点
上述命令的输出应如下所示:
NAME STATUS ROLES AGE VERSION
k3s Ready master 2m14s v1.16.2-k3s.1
[INFO] Finding latest release
[INFO] Using v0.10.2 as release
[INFO] Downloading hash https://github.com/rancher/k3s/releases/download/v0.10.2/sha256sum-amd64.txt
[INFO] Downloading binary https://github.com/rancher/k3s/releases/download/v0.10.2/k3s
[INFO] Verifying binary download
[INFO] Installing k3s to /usr/local/bin/k3s
[INFO] Creating /usr/local/bin/kubectl symlink to k3s
[INFO] Creating /usr/local/bin/crictl symlink to k3s
[INFO] Creating /usr/local/bin/ctr symlink to k3s
[INFO] Creating killall script /usr/local/bin/k3s-killall.sh
[INFO] Creating uninstall script /usr/local/bin/k3s-agent-uninstall.sh
[INFO] env: Creating environment file /etc/systemd/system/k3s-agent.service.env
[INFO] systemd: Creating service file /etc/systemd/system/k3s-agent.service
[INFO] systemd: Enabling k3s-agent unit
Created symlink /etc/systemd/system/multi-user.target.wants/k3s-agent.service → /etc/systemd/system/k3s-agent.service.
[INFO] systemd: Starting k3s-agent
NAME STATUS ROLES AGE VERSION
k3s-4 Ready <none> 68m v1.16.2-k3s.1
k3s-1 Ready master 69m v1.16.2-k3s.1
k3s-3 Ready <none> 69m v1.16.2-k3s.1
k3s-2 Ready <none> 68m v1.16.2-k3s.1
使用以下命令从主节点检索重要的\u令牌:
$cat/var/lib/rancher/k3s/server/node令牌
此令牌将用于将代理节点连接到主节点复制它
将代理节点连接到主节点
确保节点可以与主节点通信。
之后,您可以从根用户调用命令:
$curl-sfLhttps://get.k3s.io |K3S_网址=https://MASTER_NODE_IP:6443 K3S_令牌=重要_令牌sh-
将您的重要令牌粘贴到此命令。
在这种情况下,主节点IP为10.156.0.13
此命令的输出应如下所示:
NAME STATUS ROLES AGE VERSION
k3s Ready master 2m14s v1.16.2-k3s.1
[INFO] Finding latest release
[INFO] Using v0.10.2 as release
[INFO] Downloading hash https://github.com/rancher/k3s/releases/download/v0.10.2/sha256sum-amd64.txt
[INFO] Downloading binary https://github.com/rancher/k3s/releases/download/v0.10.2/k3s
[INFO] Verifying binary download
[INFO] Installing k3s to /usr/local/bin/k3s
[INFO] Creating /usr/local/bin/kubectl symlink to k3s
[INFO] Creating /usr/local/bin/crictl symlink to k3s
[INFO] Creating /usr/local/bin/ctr symlink to k3s
[INFO] Creating killall script /usr/local/bin/k3s-killall.sh
[INFO] Creating uninstall script /usr/local/bin/k3s-agent-uninstall.sh
[INFO] env: Creating environment file /etc/systemd/system/k3s-agent.service.env
[INFO] systemd: Creating service file /etc/systemd/system/k3s-agent.service
[INFO] systemd: Enabling k3s-agent unit
Created symlink /etc/systemd/system/multi-user.target.wants/k3s-agent.service → /etc/systemd/system/k3s-agent.service.
[INFO] systemd: Starting k3s-agent
NAME STATUS ROLES AGE VERSION
k3s-4 Ready <none> 68m v1.16.2-k3s.1
k3s-1 Ready master 69m v1.16.2-k3s.1
k3s-3 Ready <none> 69m v1.16.2-k3s.1
k3s-2 Ready <none> 68m v1.16.2-k3s.1
试验
在主节点上调用命令以检查代理是否成功连接:
$kubectl获取节点
您先前添加的节点应在此处可见:
NAME STATUS ROLES AGE VERSION
k3s Ready master 15m v1.16.2-k3s.1
k3s-2 Ready <none> 3m19s v1.16.2-k3s.1
所有节点都应该在此处可见 连接Kubernetes主机和节点的最佳选择是使用专用网络 如何设置K3S主机和单节点群集: 先决条件:
- 所有机器都需要在同一个专用网络内。例如192.168.0.0/24
- 所有的机器都需要相互通信。您可以使用以下命令ping它们:
$ping IP\u地址
- 主节点(k3s),专用ip为10.156.0.13
- 工作节点(k3s-2),专用ip为10.156.0.8
$curl-sfLhttps://get.k3s.io |sh-
此命令的输出应如下所示:
[INFO] Finding latest release
[INFO] Using v0.10.2 as release
[INFO] Downloading hash https://github.com/rancher/k3s/releases/download/v0.10.2/sha256sum-amd64.txt
[INFO] Downloading binary https://github.com/rancher/k3s/releases/download/v0.10.2/k3s
[INFO] Verifying binary download
[INFO] Installing k3s to /usr/local/bin/k3s
[INFO] Creating /usr/local/bin/kubectl symlink to k3s
[INFO] Creating /usr/local/bin/crictl symlink to k3s
[INFO] Creating /usr/local/bin/ctr symlink to k3s
[INFO] Creating killall script /usr/local/bin/k3s-killall.sh
[INFO] Creating uninstall script /usr/local/bin/k3s-uninstall.sh
[INFO] env: Creating environment file /etc/systemd/system/k3s.service.env
[INFO] systemd: Creating service file /etc/systemd/system/k3s.service
[INFO] systemd: Enabling k3s unit
Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service → /etc/systemd/system/k3s.service.
[INFO] systemd: Starting k3s
检查主节点是否工作:
$kubectl获取节点
上述命令的输出应如下所示:
NAME STATUS ROLES AGE VERSION
k3s Ready master 2m14s v1.16.2-k3s.1
[INFO] Finding latest release
[INFO] Using v0.10.2 as release
[INFO] Downloading hash https://github.com/rancher/k3s/releases/download/v0.10.2/sha256sum-amd64.txt
[INFO] Downloading binary https://github.com/rancher/k3s/releases/download/v0.10.2/k3s
[INFO] Verifying binary download
[INFO] Installing k3s to /usr/local/bin/k3s
[INFO] Creating /usr/local/bin/kubectl symlink to k3s
[INFO] Creating /usr/local/bin/crictl symlink to k3s
[INFO] Creating /usr/local/bin/ctr symlink to k3s
[INFO] Creating killall script /usr/local/bin/k3s-killall.sh
[INFO] Creating uninstall script /usr/local/bin/k3s-agent-uninstall.sh
[INFO] env: Creating environment file /etc/systemd/system/k3s-agent.service.env
[INFO] systemd: Creating service file /etc/systemd/system/k3s-agent.service
[INFO] systemd: Enabling k3s-agent unit
Created symlink /etc/systemd/system/multi-user.target.wants/k3s-agent.service → /etc/systemd/system/k3s-agent.service.
[INFO] systemd: Starting k3s-agent
NAME STATUS ROLES AGE VERSION
k3s-4 Ready <none> 68m v1.16.2-k3s.1
k3s-1 Ready master 69m v1.16.2-k3s.1
k3s-3 Ready <none> 69m v1.16.2-k3s.1
k3s-2 Ready <none> 68m v1.16.2-k3s.1
使用以下命令从主节点检索重要的\u令牌:
$cat/var/lib/rancher/k3s/server/node令牌
此令牌将用于将代理节点连接到主节点复制它
将代理节点连接到主节点
确保节点可以与主节点通信。
之后,您可以从根用户调用命令:
$curl-sfLhttps://get.k3s.io |K3S_网址=https://MASTER_NODE_IP:6443 K3S_令牌=重要_令牌sh-
将您的重要令牌粘贴到此命令。
在这种情况下,主节点IP为10.156.0.13
此命令的输出应如下所示:
NAME STATUS ROLES AGE VERSION
k3s Ready master 2m14s v1.16.2-k3s.1
[INFO] Finding latest release
[INFO] Using v0.10.2 as release
[INFO] Downloading hash https://github.com/rancher/k3s/releases/download/v0.10.2/sha256sum-amd64.txt
[INFO] Downloading binary https://github.com/rancher/k3s/releases/download/v0.10.2/k3s
[INFO] Verifying binary download
[INFO] Installing k3s to /usr/local/bin/k3s
[INFO] Creating /usr/local/bin/kubectl symlink to k3s
[INFO] Creating /usr/local/bin/crictl symlink to k3s
[INFO] Creating /usr/local/bin/ctr symlink to k3s
[INFO] Creating killall script /usr/local/bin/k3s-killall.sh
[INFO] Creating uninstall script /usr/local/bin/k3s-agent-uninstall.sh
[INFO] env: Creating environment file /etc/systemd/system/k3s-agent.service.env
[INFO] systemd: Creating service file /etc/systemd/system/k3s-agent.service
[INFO] systemd: Enabling k3s-agent unit
Created symlink /etc/systemd/system/multi-user.target.wants/k3s-agent.service → /etc/systemd/system/k3s-agent.service.
[INFO] systemd: Starting k3s-agent
NAME STATUS ROLES AGE VERSION
k3s-4 Ready <none> 68m v1.16.2-k3s.1
k3s-1 Ready master 69m v1.16.2-k3s.1
k3s-3 Ready <none> 69m v1.16.2-k3s.1
k3s-2 Ready <none> 68m v1.16.2-k3s.1
试验
在主节点上调用命令以检查代理是否成功连接:
$kubectl获取节点
您先前添加的节点应在此处可见:
NAME STATUS ROLES AGE VERSION
k3s Ready master 15m v1.16.2-k3s.1
k3s-2 Ready <none> 3m19s v1.16.2-k3s.1
所有节点都应该在此处可见 我也遇到了同样的问题,最终找到了解决办法。 您可以使用
--node external ip
启动服务器,就像这样sudo k3s服务器--node external ip 49.xx.xx.xx
,代理需要配置env或使用sudo k3s代理--server启动https://49.xx.xx.xx:6443 --令牌${K3S_token}
,则您的本地设备(边缘节点)可以从私有IP连接到公共云
标志用法是apiserver用于向集群成员播发的(侦听器)IP地址(默认:节点外部IP/节点IP)
这张图片显示了我的电脑连接远程服务器,我测试了一下,raspberry 4B也成功了
负载平衡器没有将公共IP切换到私有IP,当我使用git Bull get flag功能时,添加时间是2019.10.26,我也遇到了同样的问题,最终找到了解决方案。 您可以使用
--node external ip
启动服务器,就像这样sudo k3s服务器--node external ip 49.xx.xx.xx
,代理需要配置env或使用sudo k3s代理启动--