【问题标题】:Bad Gateway with traefik Ingress带有 traefik 入口的错误网关
【发布时间】:2019-07-13 03:20:27
【问题描述】:

我正在使用带有 traefik 入口的 minikube 来创建粘性会话。

所以我已经完成了用户指南 kubernetes 提供给我的 traefik 的部署。 https://docs.traefik.io/user-guide/kubernetes/

我使用 DaemonSet 部署 traefik。因为这是一个小项目,而且是我第一次使用 kubernetes 和 docker。

这是我的入口 yaml 文件

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: cp-pluggin
  annotations:
    kubernetes.io/ingress.class: traefik
spec:
  rules:
  - host: cppluggins.minikube
    http:
      paths:
      - path: /
        backend:
          serviceName: cp-pluggin
          servicePort: 80

我的服务 yaml 文件

apiVersion: v1
kind: Service
metadata:
  name: cp-pluggin
  annotations:
    traefik.ingress.kubernetes.io/affinity: "true"
    traefik.ingress.kubernetes.io/session-cookie-name: "sticky"
spec:
  type: NodePort
  ports:
  - port: 80
    targetPort: 8080
    protocol: TCP
    name: http
  selector:
    app: cp-pluggin-app

最后是我的部署yaml文件

apiVersion: apps/v1
kind: Deployment
metadata:
  name: cp-pluggin-app
  labels:
    app: cp-pluggin-app

spec:  
  replicas: 3
  selector:
    matchLabels:
      app: cp-pluggin-app
  template:
    metadata:
      labels:
        app: cp-pluggin-app
    spec:
      containers:
      - name: cp-pluggin-app
        image: essoca/ubuntu-tornado
        ports:
        - containerPort: 8080

我期待 Hello world from: [ipserver] 但我得到一个 bad gateway

【问题讨论】:

  • 我发现了错误。它在我的服务器中。这是在 8888 端口监听,而我的容器在 8080

标签: kubernetes traefik kubernetes-ingress


【解决方案1】:

我假设您使用的是 Traefik 2.0,这是目前的最新版本。这个版本有相当多的变化,即不再使用注释。除此之外,我认为您发布的代码缺少大部分所需更改。

此外,使用 DaemonSet 并不是很有用,因为您使用的是 minikube,而且它始终是一个节点。使用部署至少可以让您使用 Kubernetes 的扩展/缩减功能。

我写的这篇文章可能对你有用Traefik 2 as Ingress Controller

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-21
    • 2019-08-19
    • 2018-10-26
    • 2019-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-04
    相关资源
    最近更新 更多