首页 > 解决方案 > 如何在 Kubernetes Dashboard 的自签名证书中添加更多节点

问题描述

我终于设法解决了与如何在主节点的 CA 中添加更多节点有关的问题(如何将额外的节点添加到自签名 k8s 集群的证书授权数据?)。

现在我面临的问题是我想使用 kubeconfig 文件~/.kube/config来访问仪表板。

我设法通过使用以下语法来解决这个问题:

$ kubectl config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://IP:6443
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    user: kubernetes-admin
  name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED
    token: REDACTED

我遇到的问题是我需要使用其中一个主节点的 IP 才能访问仪表板。我希望能够使用 LB IP 访问仪表板。

我认为这与我之前遇到的相同问题有关,正如我从文件中看到的那样,CA 是自动生成的。

args:
  - --auto-generate-certificates
  - etc etc
  .
  .
  .

除了在自己身上创建 CA 以使用它们之外,还有什么选项可以在文件中的标志中传递例如 IP1 / IP2 等?

更新:我正在通过推荐的方式部署仪表板kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml部署仪表板 UI)。部署是在本地进行的,但我已经为集群配置了一个外部负载均衡器(HAProxy),指向 Api 以及 Ingress 和type: LoadBalancerIngress。除了仪表板 UI(通过 LB IP)之外,一切似乎都按预期工作。我还在authorization-mode: Node,RBACkubeconfig 文件上使用身份验证模式(如果相关)。

我通过 Inress HTTPS 访问仪表板,例如https://dashboard.example.com

我得到错误Not enough data to create auth info structuretoken: xxx从这个问题Kubernetes Dashboard access using config file Not enough data to create auth info structure 中找到了解决方案。.

如果我用主节点切换 LB IP,那么我可以使用 kubeconfig 文件访问 UI。

我现在刚刚更新到最新版本的仪表板 v2.0.5 无法使用 kubeconfig 按钮/文件,但它可以直接使用令牌kubernetes/Dashoboard-v2.0.5。使用以前的版本,一切都按上述方式工作。pod 日志中没有错误日志。

标签: kuberneteskubernetes-dashboard

解决方案


推荐阅读