Kubernetes Dashboard访问集群外部



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

我已经转到这个url并安装了nginx。

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

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

但仍然无法访问它。

我们像这样管理

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作为反向代理

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

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

相关内容

  • 没有找到相关文章

最新更新