繁体   English   中英

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

[英]Get the Kubernetes Dashboard via LoadBalancer IP adress

我使用Kubeadm OS安装了Kubernetes HA:Centos7 K8S版本:1.9.6 6个VM:2个Master,3个worker和一个LoadBanacer(nginx)

我想使用LoadBalancer Ip addess访问仪表板,我该怎么做? 为此有任何教程吗?

谢谢

您不能使用IP,但可以创建一个Ingress文件,该文件将指向仪表板服务的路径dashboard.example.com。 不建议使用此方法,因为这会使您的仪表板向外界开放。 但是,在允许用户访问仪表板之前,用户可以使用身份验证代理对用户进行身份验证。 我们为此使用了GitHub Enterprise。

在这里您可以做什么。

1:使用推荐的设置部署仪表板。 链接到这里 如果您不提供任何证书都没关系,它将自动生成。

2:创建GitHub应用

转到https://github.com/settings/developers并创建一个新应用程序。 主页URL是Ingress规则中的FQDN,例如https://dashboard.example.com 正确的关键是回调URL。 将其设置为https://dashboard.example.com/oauth2/callback

3:在文件oauth2-proxy.yaml中使用以下值配置oauth2_proxy值:

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))'

如果您使用的是GitHub Enterprise,则需要添加

spec:
  containers:
  - args:
    - --login-url=https://github.YOUR.ORG.URL/login/oauth/authorize
    - --redeem-url=https://github.YOUR.ORG.URL/login/oauth/access_token
    - --validate-url=https://github.YOUR.ORG.URL/api/v3

4:使用适当的ULR修改以下Ingress。

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

PS: Kubernetes回购中的文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM