我最近使用Kubernetes Operations tool安装了Kubernetes,但当我使用this脚本安装Kubernetes Dashboard时,仪表板端点位于私有集群中。
有没有一种方法可以使用服务类型LoadBalancer
之类的东西在公共网络上公开这个仪表板,并将其放在密码或安全身份验证后面?
使用这样的仪表板可以做很多事情,这就是为什么我希望它在安全端点后面。
发布于 2016-11-15 21:15:52
通过结合使用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
支持,这样您的服务就可以通过安全通道公开。
https://stackoverflow.com/questions/40610255
复制相似问题