首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Minikube IP和入口地址不同。如何访问通过Ingress路由的服务

Minikube IP和入口地址不同。如何访问通过Ingress路由的服务
EN

Stack Overflow用户
提问于 2021-10-05 14:04:27
回答 1查看 92关注 0票数 0

Minikube部署在EC2实例中。Kubernetes dashboard作为群集ip服务部署在Minikube中

Nginx-Ingress-Controller作为NodePort服务部署。入口YAML文件如下:

代码语言:javascript
复制
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  namespace: kubernetes-dashboard
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/ssl-passthrough: "true"
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/rewrite-target: "/$1"
  name: ingress-resource
spec:
  rules:
   - http:
      paths:
      - path: /kubedashboard
        pathType: Prefix
        backend:
          service:
            name: kubernetes-dashboard
            port:
              number: 443

入口地址为:

Minikube IP为:

Minikube IP和入口地址不同。我没有提到Ingress.yaml中的任何主机。

入口和Kubernetes仪表板部署在同一个命名空间中: kubernetes-dashboard。

如何通过Ingress访问kubernetes仪表板?

我想通过以下方式访问:

代码语言:javascript
复制
curl https://localhost:NodePort/kubedashboard --insecure

代码语言:javascript
复制
curl https://MinikubeIP:NodePort/kubedashboard --insecure

代码语言:javascript
复制
curl https://EC2PublicIP:NodePort/kubedashboard --insecure
EN

回答 1

Stack Overflow用户

发布于 2021-10-06 07:15:25

不需要入口,ingress只用于80和443端口,如果要使用节点端口访问仪表板,只需将仪表板服务类型设置为NodePort即可。

然后,您应该能够使用curl https://localhost:NodePort/ --insecure进行访问

代码语言:javascript
复制
kubectl patch service kubernetes-dashboard -n kubernetes-dashboard -p '{"spec": {"type": "NodePort"}}'
kubectl get service kubernetes-dashboard -n kubernetes-dashboard

如果你真的想使用入口。使用下面的入口,然后您可以从https://localhost/kubedashboard/访问

代码语言:javascript
复制
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: kubernetes-dashboard
  annotations:
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
    nginx.ingress.kubernetes.io/rewrite-target: /$2
    nginx.ingress.kubernetes.io/configuration-snippet: |
      rewrite ^(/kubedashboard)$ $1/ redirect;
  namespace: kubernetes-dashboard
spec:
  ingressClassName: nginx
  rules:
  - http:
      paths:
      - path: /kubedashboard(/|$)(.*)
        pathType: ImplementationSpecific
        backend:
          service:
            name: kubernetes-dashboard
            port:
              number: 443
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69451937

复制
相关文章

相似问题

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