【问题标题】:How to put Kubernetes Dashboard behind a secure authentication?如何将 Kubernetes Dashboard 置于安全身份验证之后?
【发布时间】:2019-02-28 00:54:28
【问题描述】:

我最近使用 Kubernetes Operations 工具安装了 Kubernetes,但是当我使用 this 脚本安装 Kubernetes Dashboard 时,仪表板端点位于私有集群中。

有没有一种方法可以让我在公共网络上使用服务类型 LoadBalancer 之类的方式公开此仪表板,并将其置于密码或安全身份验证之后?

这样的仪表板可以做很多事情,这就是为什么我希望它在一个安全的端点后面。

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    您可以通过 IngressNginX IngressController 轻松完成此操作

    如果你使用类似的东西:

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: dashboard.mydomain.tld
      namespace: kube-system
      annotations:
        kubernetes.io/ingress.class: "nginx"
        ingress.kubernetes.io/auth-type: basic
        ingress.kubernetes.io/auth-realm: "Auth required"
        ingress.kubernetes.io/auth-secret: htpasswd
    spec:
      rules:
      - host: dashboard.mydomain.tld
        http:
          paths:
          - path: /
            backend:
              serviceName: <dashsvc>
              servicePort: <dashport>
    

    连同正确的 htpasswd 秘密,如 auth-secret 注释所示

    apiVersion: v1
    kind: Secret
    metadata:
      name: htpasswd
      namespace: kube-system
    type: Opaque
    data:
      auth: <your htpasswd base64>
    

    注意:在使用它向世界公开您的服务之前,您需要一个有效的入口控制器设置。您还可以轻松地将其与 kube-lego 结合使用,以获得自动化的 https 支持,从而通过安全通道公开您的服务。

    【讨论】:

    • 我尝试遵循这个,但是在配置入口规则后,页面没有加载,只是坐在那里旋转,然后最终超时。入口控制器肯定在工作。
    猜你喜欢
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 2012-05-22
    • 1970-01-01
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多