kubernetes入口不工作!如何修复它?

gab6jxml  于 2022-12-17  发布在  Kubernetes
关注(0)|答案(1)|浏览(98)

我是kubernetes的新手,所以如果有人帮助我,我会很感激。我创建ingress.yaml文件如下:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: backend-ingress
spec:
  rules:
    - host: test-1.<domain-name>.me
      http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: backend-service
          port:
            number: 8000

然后运行命令minikube addons enable ingress,一切正常。当我输入命令kubectl get ingress时,我得到这个:

NAME              CLASS    HOSTS              ADDRESS        PORTS   AGE
backend-ingress   <none>   test-1.<domain-name>.me   192.168.49.2   80      85m

问题是,当我在浏览器中搜索test-1.<domain-name>.me时,我得到的欢迎页面上写着wellcome to nginx
我该怎么办?

lbsnaicq

lbsnaicq1#

您没有提到任何注解,您只是部署了一个入口,其中将只部署带有“欢迎入口”的网页。
您需要使用应用程序URL部署入口才能正常工作,
例如:
注解nginx.ingress.kubernetes.io/rewrite-target将重写必须重定向流量的目标url。

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
  name: rewrite
  namespace: default
spec:
  ingressClassName: nginx
  rules:
  - host: rewrite.bar.com
    http:
      paths:
      - path: /something(/|$)(.*)
        pathType: Prefix
        backend:
          service:
            name: http-svc
            port: 
              number: 80

在这个入口定义中,由(.*)捕获的任何字符都将被分配给占位符$2,然后将其用作rewrite-target注解中的参数。
例如,上述入口定义将导致以下重写:
rewrite.bar.com/something 改写为rewrite.bar.com/
注意:您需要使用正确的主机和路径配置入口。
请参阅此官方文档,其中包含带有注解的进入、分析和部署的详细信息。

相关问题