kubernetes 即使在配置了入口路径之后,HAProxy也始终抛出404

06odsfpq  于 2022-11-21  发布在  Kubernetes
关注(0)|答案(1)|浏览(185)

我已经按照此处的文档https://www.haproxy.com/documentation/kubernetes/latest/installation/community/azure/在AKS中安装了HAProxy控制器。当我尝试按预期导航外部负载平衡器IP时,我得到的是404。然后我已经通过使用hello world映像将新应用程序部署到同一命名空间。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: aks-helloworld-one  
spec:
  replicas: 1
  selector:
    matchLabels:
      app: aks-helloworld-one
  template:
    metadata:
      labels:
        app: aks-helloworld-one
    spec:
      containers:
      - name: aks-helloworld-one
        image: mcr.microsoft.com/azuredocs/aks-helloworld:v1
        ports:
        - containerPort: 80
        env:
        - name: TITLE
          value: "Welcome to Azure Kubernetes Service (AKS)"
---
apiVersion: v1
kind: Service
metadata:
  name: aks-helloworld-one  
  annotations:
    service.beta.kubernetes.io/azure-load-balancer-internal: "true"
spec:
  ports:
    - name: http-port
      port: 8000
      protocol: TCP
      targetPort: 80
  selector:
    app: aks-helloworld-one

那么我已经添加了路径到入口文件

kind: Ingress
apiVersion: networking.k8s.io/v1
metadata:
  name: test
spec:
  ingressClassName: haproxy
  rules:
  - http:
      paths:
      - path: /helloworld
        pathType: Prefix
        backend:
          service:
            name: aks-helloworld-one
            port:
              number: 80

如果我导航到外部负载平衡器,ip /helloworld仍然返回404。我不确定我做错了什么。下面是命名空间中的当前服务列表
PS \HAProxy〉kubectl获取svc --名称空间HAProxy控制器
名称类型群集IP外部IP端口
800010.0.206.176/TCP/IP网络协议
TCP10.0.138.212/IP协议栈的数据传输

omhiaaxx

omhiaaxx1#

Ingress 将 重 定向 到 服务 , 并 将 服务 重 定向 到 Pod 。
因此 , 在 入口 服务 中 , 需要 将 端口 设置 为 8000 ( 即 在 服务 中 设置 的 端口 , pod 的 目标 端口 为 80 ) 。

相关问题