Google Kubernetes Engine 上的 Traefik 出错



我正在尝试将 Traefik 部署为我的 GKE 集群上的入口控制器。 它是一个具有 3 个节点的基本群集。

我习惯于在 Kubespray 部署的 Kubernetes 集群上使用清单部署 Traefik,但我们正在将一些基础设施迁移到 GCP。

因此,我尝试使用以下配置使用社区掌舵图部署 Traefik:

image: traefik
imageTag: 1.6.2
serviceType: LoadBalancer
loadBalancerIP: X.X.X.X
kubernetes:
ingressClass: traefik
ssl:
enabled: false
enforced: false
insecureSkipVerify: false
acme:
enabled: false
email: hello@mydomain.com
staging: true
logging: false
challengeType: http-01
dashboard:
enabled: true
domain: traefik.mydomain.com
ingress:
annotations:
kubernetes.io/ingress.class: traefik
gzip:
enabled: true
accessLogs:
enabled: true
format: common 

然后使用以下命令启动它:

helm install --namespace kube-system --name traefik --values values.yaml stable/traefik

在我的 K8S 集群上部署得很好,除了仪表板入口并出现以下错误:

kevin@MBP-de-Kevin ~/W/g/s/traefik> kubectl describe ingress traefik-dashboard -n kube-system
Name:             traefik-dashboard
Namespace:        kube-system
Address:
Default backend:  default-http-backend:80 (10.20.2.6:8080)
Rules:
Host                      Path  Backends
----                      ----  --------
traefik.mydomain.com
traefik-dashboard:80 (10.20.1.14:8080)
Annotations:
Events:
Type     Reason  Age   From                     Message
----     ------  ----  ----                     -------
Warning  Sync    4m    loadbalancer-controller  googleapi: Error 400: Invalid value for field 'namedPorts[2].port': '0'. Must be greater than or equal to 1, invalid

知道我的错误在哪里吗?

多谢!

Invalid value for field 'namedPorts[0].port': '0'

当 GKE 入口使用的Service属于类型ClusterIP(而不是NodePort(时,会发生此错误。GKE 入口要求后备服务的类型为 NodePort。

当入口控制器期望的服务不存在时,也会发生这种情况。(也许它被意外删除了(

gke 上的 nginx-ingress-controller 可与作为 clusterIP 公开的服务配合使用

您忘记启用RBAC。

样品波纹管工作正常

serviceType: LoadBalancer
rbac:
enabled: true
dashboard:
enabled: true
domain: dash.example.com
ingress:
annotations:
kubernetes.io/ingress.class: traefik
kubernetes:
ingressClass: traefik
namespaces:
- default
- kube-system

相关内容

  • 没有找到相关文章

最新更新