traefik入口错误的网关

时间:2019-07-13 03:20:27

标签: kubernetes traefik kubernetes-ingress

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

所以我已经完成了traefik的部署,用户指南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

1 个答案:

答案 0 :(得分:0)

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

此外,使用DaemonSet并不是很有用,因为您使用的是minikube,并且它始终是一个节点。使用Deployment至少可以让您使用Kubernetes的放大/缩小功能。

我写了这篇文章,可能对您有用Traefik 2 as Ingress Controller