通过 Lens IDE 访问远程 k3s 集群

Accessing a remote k3s cluster via Lens IDE

我试图配置新安装的 Lens IDE 以与我的远程集群(在远程服务器上,在 VM 上)一起工作,但遇到了一些错误并且找不到正确的解释这种情况。

Lens 需要一个配置文件,我从我的集群中将其更改为

server: https://127.0.0.1:6443

server: https://(远程服务器的地址):(分配给集群VM的6443中间端口)

然后在镜头中我得到这个:

2021/06/14 22:55:13 http: proxy error: x509: certificate is valid for 10.43.0.1, 127.0.0.1, 192.168.1.122, not (address to the remote server)

我看到有些证书必须重新配置,但我对这件事绝对陌生。

这里是原始配置文件的全部内容:

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0...
    server: https://127.0.0.1:6443
  name: default
contexts:
- context:
    cluster: default
    user: default
  name: default
current-context: default
kind: Config
preferences: {}
users:
- name: default
  user:
    client-certificate-data: LS0...
    client-key-data: LS0...

解决方案非常明显和简单。

k3s 必须将新 IP 添加到证书中。因为默认情况下,它只包含本地主机和它所在的节点的 IP 运行,如果你(像我一样)从它那里有某种机器(比如 lb 或专用防火墙),IP必须手动添加一个。

有两种方法可以完成:

  1. k3s安装过程中:
curl -sfL https://get.k3s.io | sh -s - server --tls-san desired IP
  1. 或者这个参数可以添加到已经安装的 k3s:
sudo nano /etc/systemd/system/k3s.service
ExecStart=/usr/local/bin/k3s \
    server \
        '--tls-san' \
        'desired IP' \
sudo systemctl daemon-reload

P.S。虽然,我遇到了第二种方法的问题。