通过LoadBalancer IP地址获取Kubernetes仪表板

通过LoadBalancer IP地址获取Kubernetes仪表板,kubernetes,kubernetes-dashboard,Kubernetes,Kubernetes Dashboard,我使用Kubeadm安装了Kubernetes HA OS:Centos7 K8S版本:1.9.6 6台虚拟机:2台主机、3台工人和一台LoadBanacer(nginx) 我想使用LoadBalancer Ip addess访问仪表板,我如何才能做到这一点?有这方面的教程吗 谢谢您不能使用IP,但可以创建一个入口文件,该文件将指向dashboard.example.com到您的dashboard服务的路径。 不建议使用此方法,因为这会将仪表板向外部世界打开。 但是use可以使用身份验证代理对用

我使用Kubeadm安装了Kubernetes HA OS:Centos7 K8S版本:1.9.6 6台虚拟机:2台主机、3台工人和一台LoadBanacer(nginx)

我想使用LoadBalancer Ip addess访问仪表板,我如何才能做到这一点?有这方面的教程吗


谢谢

您不能使用IP,但可以创建一个入口文件,该文件将指向dashboard.example.com到您的dashboard服务的路径。 不建议使用此方法,因为这会将仪表板向外部世界打开。 但是use可以使用身份验证代理对用户进行身份验证,然后再让用户访问仪表板。我们已经使用GitHub Enterprise实现了这一点

这是你能做的

1:使用建议的设置部署仪表板。如果您不提供任何证书,它将自动生成

2:创建GitHub应用程序

转到并创建一个新的 应用主页URL是入口规则中的FQDN,如。要得到的关键 右边是回调URL。设定为

3:使用以下值配置文件中的oauth2_代理值:

OAUTH2_PROXY_CLIENT_ID with the github <Client ID>
OAUTH2_PROXY_CLIENT_SECRET with the github <Client Secret>
OAUTH2_PROXY_COOKIE_SECRET with value of python -c 'import os,base64; print base64.b64encode(os.urandom(16))'
4:使用适当的ULR修改以下入口

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/auth-url: https://$host/oauth2/auth
    nginx.ingress.kubernetes.io/auth-signin: https://$host/oauth2/sign_in
    nginx.ingress.kubernetes.io/secure-backends: "true"
    kubernetes.io/ingress.class: nginx
  name: external-auth-oauth2
  namespace: kube-system
spec:
  rules:
  - host: dashboard.example.com
    http:
      paths:
      - backend:
          serviceName: kubernetes-dashboard
          servicePort: 8443
        path: /
---

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: oauth2-proxy
  namespace: kube-system
spec:
  rules:
  - host: dashboard.example.com
    http:
      paths:
      - backend:
          serviceName: oauth2-proxy
          servicePort: 4180
        path: /oauth2
现在你可以应用这个

kubectl apply -f oauth2-proxy.yaml,dashboard-ingress.yaml
附言:

kubectl apply -f oauth2-proxy.yaml,dashboard-ingress.yaml