Mic*_*tte 4 google-compute-engine kubernetes google-kubernetes-engine traefik
我按照用户指南在Kubernetes上实现了Traefik .这给了我一个入口控制器,我能够在80和8080上创建一个入口和traefik-ingress服务.
我还设置了一个"gce"入口:
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
Run Code Online (Sandbox Code Playgroud)
这样做是创建一个GCE负载均衡器,它终止我的TLS并应将所有请求转发给类型为NodePort的traefik-ingress-service.
GCE负载均衡器需要进行健康检查.默认值为路径"/".我以为traefik有一个"/ ping"所以我把健康检查改为了.但无论我做什么,我都无法通过健康检查,因此,我的GCE负载均衡器不健康,不会将任何请求转发给traefik.
一些参考文献说要将Traefik lb服务从NodePort更改为LoadBalancer,但除了我的Ingress处理SSL终止之外,它应该与我上面的Ingress完全相同.
其他人这样做吗?
获取运行状况检查以在gce负载均衡器上工作的方法是向traefik容器添加一个参数.在--ping和--ping.entrypoint=http让我建立一个GCE健康检查的/ping路径.
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1787 次 |
| 最近记录: |