kubernetes上的traefik中忽略了后端服务端口

时间:2019-01-10 19:32:09

标签: kubernetes traefik kubernetes-helm

我在K8上运行的应用程序具有端口映射30060:30600,类型为LoadBalancer

现在,我想通过以下Ingress设置将traefik作为反向代理添加到我的集群中

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: {{ template "myapp.fullname" . }}-ingress
  labels:
    # deployment labels
    app: {{ template "myapp.name" . }} # app name 
    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
    release: {{ .Release.Name | quote }}
    heritage: {{ .Release.Service | quote }}
  annotations:
    kubernetes.io/ingress.class: traefik
spec:
  rules:
  - host: myapp.mybox.internal
    http:
      paths:
      - path: /myapp
        backend:
          serviceName: {{ template "myapp.fullname" . }} # service name 
          servicePort: 30060

我现在的问题是,这里忽略了端口30060。

==> v1beta1/Ingress
NAME           HOSTS                      ADDRESS  PORTS  AGE
myapp-ingress  myapp.mybox.internal       80       0s

结果是,所有请求均失败。

如果我从更改服务配置

    - targetPort: myapp-port 
      port: 30060
      nodePort: 30060

    - targetPort: myapp-port 
      port: 80
      nodePort: 30060

该服务可以访问,但是:

  • 在“ / myapp”下无法访问应用
  • 但是App可以在“ /”下访问-我不知道为什么?!

所以我的问题是: -为什么无法更改服务端口? -为什么应用程序不回答映射路径,而是回答根路径?

谢谢!

0 个答案:

没有答案