首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GCE负载均衡器背后的Kubernetes (GCE/GKE)上的Traefik

GCE负载均衡器背后的Kubernetes (GCE/GKE)上的Traefik
EN

Stack Overflow用户
提问于 2018-02-21 02:53:44
回答 1查看 2.6K关注 0票数 4

我遵循User Guide在Kubernetes上实现了Traefik。这给了我一个入口控制器,我能够创建一个入口和监听80和8080的traefik- ingress service。

我还设置了一个"gce“入口:

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: traefik-ingress
  namespace: kube-system
  annotations:
    kubernetes.io/ingress.class: "gce"
spec:
  tls:
    - secretName: fasedge-tls
  backend:
    serviceName: traefik-ingress-service
    servicePort: 80

这样做的目的是创建一个GCE负载均衡器,它终止我的TLS,并将所有请求转发到类型为NodePort的traefik-ingress service。

GCE负载均衡器需要健康检查。默认路径为"/“。我以为traefik有一个"/ping“,所以我把健康检查改成了这个。但无论我做什么,我都无法通过健康检查,因此,我的GCE负载均衡器是不健康的,不会向traefik转发任何请求。

一些参考建议将Traefik lb服务从NodePort更改为LoadBalancer,但这应该与我上面的Ingress做完全相同的事情,除了我的Ingress处理SSL终止。

还有谁这样做的吗?

EN

回答 1

Stack Overflow用户

发布于 2018-02-22 22:46:09

让health check在gce负载均衡器上工作的方法是向traefik容器添加一个参数。--ping--ping.entrypoint=http允许我将gce运行状况检查设置为/ping路径。

代码语言:javascript
复制
apiVersion: apps/v1beta2
kind: Deployment
metadata:
  name: traefik-ingress-controller
  namespace: kube-system
  labels:
    app: traefik-ingress-controller
spec:
  replicas: 1
  selector:
    matchLabels:
      app: traefik-ingress-controller
  template:
    metadata:
      labels:
        app: traefik-ingress-controller
        name: traefik-ingress-controller
    spec:
      serviceAccountName: traefik-ingress-controller
      terminationGracePeriodSeconds: 60
      containers:
        - name: traefik-ingress-controller
          image: "traefik:v1.5.2"
          args:
          - --api
          - --kubernetes
          - --ping
          - --ping.entrypoint=http
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48892326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档