如何将Kubernetes Dashboard置于安全身份验证之后?

时间:2016-11-15 12:49:13

标签: kubernetes

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

我是否可以使用类似服务类型std的公共网络公开此仪表板并将其置于密码或安全身份验证之后?

使用这样的仪表板可以做很多事情,这就是我希望它在安全端点后面的原因。

1 个答案:

答案 0 :(得分:5)

您可以使用Ingress加上NginX 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>

与auth-secret批注指示的正确htpasswd秘密一起

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

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