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

chb*_*hbh 4 kubernetes

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

有没有办法可以使用类似服务类型的东西在公共网络上公开此仪表板LoadBalancer并将其置于密码或安全身份验证之后?

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

Rad*_*nka 5

使用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>
Run Code Online (Sandbox Code Playgroud)

htpasswdauth-secret注释所指示的正确秘密一起使用

apiVersion: v1
kind: Secret
metadata:
  name: htpasswd
  namespace: kube-system
type: Opaque
data:
  auth: <your htpasswd base64>
Run Code Online (Sandbox Code Playgroud)

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