我最近使用Kubernetes Operations工具安装了Kubernetes,但是当我使用this脚本安装Kubernetes Dashboard时,仪表板端点位于私有群集中。
我是否可以使用类似服务类型std
的公共网络公开此仪表板并将其置于密码或安全身份验证之后?
使用这样的仪表板可以做很多事情,这就是我希望它在安全端点后面的原因。
答案 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
支持,从而使您的服务通过安全渠道展示。