首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes仪表板在群集外部访问

Kubernetes仪表板在群集外部访问
EN

Stack Overflow用户
提问于 2019-11-12 21:01:46
回答 2查看 279关注 0票数 1

我们有一个kubernetes环境(3个EC2实例)。我正在尝试从群集外部访问仪表板,但无法访问其显示的站点。所以我去了一些链接,发现通过nginx-ingress我们可以访问它。

I have gone to this url并安装了nginx。

我已经创建了这个要访问的文件。

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    ingress.kubernetes.io/ssl-passthrough: "true"
    nginx.org/ssl-backends: "kubernetes-dashboard"
    kubernetes.io/ingress.allow-http: "false"
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
  name: dashboard-ingress
  namespace: kube-system
spec:
  rules:
  - host: serverdnsname
    http:
      paths:
      - path: /dashboard
        backend:
          serviceName: kubernetes-dashboard
          servicePort: 443

但仍然无法访问它。

EN

回答 2

Stack Overflow用户

发布于 2019-11-14 19:08:10

我们是这样管理它的

代码语言:javascript
复制
kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kube-system
spec:
  ports:
    - port: 80
      targetPort: 9090
  selector:
    k8s-app: kubernetes-dashboard

刚刚添加了一个clusterip服务,并在它之前使用了一个nginx作为反向代理

代码语言:javascript
复制
server {
    listen 443 ssl http2;
    server_name kubernetes.dev.xxxxx;

    ssl_certificate /etc/letsencrypt/live/kubernetes.dev.xxxx/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/kubernetes.dev.xxxx/privkey.pem;

    include ssl.conf;

    location / {
        deny all;
        include headers.conf;

        resolver 10.96.0.10 valid=30s; #ip of your dns service inside the cluster
        set $upstream kubernetes-dashboard.kube-system.svc.cluster.local;
        proxy_pass http://$upstream;
    }
}

但是使用NodePort也应该是可能的。

票数 1
EN

Stack Overflow用户

发布于 2019-11-14 17:47:36

我没有尝试过Ingress,但你可能知道,作为一个快速但不一定是好的解决方案,你也可以将它公开为NodePort?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58819329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档