Mih*_*tov 4 kubernetes traefik kubernetes-helm traefik-ingress
我正在尝试将Traefik设置为单节点群集(Digital Ocean)上的入口控制器和负载平衡器。按照正式的Traefik安装指南,我使用头盔安装了Traefik:
helm install --values values.yaml stable/traefik
# values.yaml
dashboard:
enabled: true
domain: traefik-ui.minikube
kubernetes:
namespaces:
- default
- kube-system
#output
RESOURCES:
==> v1/Pod(related)
NAME READY STATUS RESTARTS AGE
operatic-emu-traefik-f5dbf4b8f-z9bzp 0/1 ContainerCreating 0 1s
==> v1/ConfigMap
NAME AGE
operatic-emu-traefik 1s
==> v1/Service
operatic-emu-traefik-dashboard 1s
operatic-emu-traefik 1s
==> v1/Deployment
operatic-emu-traefik 1s
==> v1beta1/Ingress
operatic-emu-traefik-dashboard 1s
Run Code Online (Sandbox Code Playgroud)
然后,我创建了公开Web UI的服务
kubectl apply -f https://raw.githubusercontent.com/containous/traefik/master/examples/k8s/ui.yaml
然后,我可以清楚地看到我的traefik Pod正在运行,并且分配了一个外部IP:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/dashboard ClusterIP 10.245.156.214 <none> 443/TCP 11d
service/kubernetes ClusterIP 10.245.0.1 <none> 443/TCP 14d
service/operatic-emu-traefik LoadBalancer 10.245.137.41 <external-ip> 80:31190/TCP,443:30207/TCP 5m7s
service/operatic-emu-traefik-dashboard ClusterIP 10.245.8.156 <none> 80/TCP 5m7s
Run Code Online (Sandbox Code Playgroud)
然后打开http:// external-ip / dashboard /导致找不到404页面
我读了很多答案和教程,但总是漏掉一些东西。非常感谢您的帮助。
我写这篇文章是因为这些信息有点适合评论。在花了足够的时间来理解k8和头盔图表的工作原理之后,这就是我的解决方法:
首先,我错过了RBAC部分,我没有创建ClusterRole和ClusterRoleBinding来授权Traefik使用K8S API(因为我使用的是1.12版本)。因此,我应该手动部署ClusterRole和ClusterRoleBinding或在我的计算机中添加以下内容values.yaml
rbac:
enabled: true
Run Code Online (Sandbox Code Playgroud)
其次,我尝试直接从ip访问仪表板ui,而没有意识到Traefik像上面提到的@Rico一样使用主机名直接指向其仪表板(我投票支持您,因为您确实提供了有用的信息,但是我没有设法连接所有难题那时候)。因此,编辑/etc/hosts将主机名链接到的文件external-ip,然后通过浏览器访问仪表板或测试它是否可以使用curl:
curl http://external-ip/dashboard/ -H 'Host: traefik-ui.minikube'
Run Code Online (Sandbox Code Playgroud)
综上所述,您应该能够安装Traefik并通过安装以下内容访问其仪表板ui:
helm install --values values.yaml stable/traefik
# values.yaml
dashboard:
enabled: true
domain: traefik-ui.minikube
rbac:
enabled: true
kubernetes:
namespaces:
- default
- kube-system
Run Code Online (Sandbox Code Playgroud)
然后编辑您的主机文件并打开您选择的主机名。
现在,traefik官方安装指南中令人困惑的部分是Submitting an Ingress to the Cluster位于下方的部分,该部分Deploy Traefik using Helm Chart指示安装服务和入口对象以能够访问仪表板。官方的稳定/ traefik掌舵表提供了这两者,因此不需要。如果要通过手动部署所有需要的对象来安装traefik,则将需要它。但是对于刚开始使用k8s和头盔的人来说,似乎需要通过官方的稳定/ traefik图表在安装头盔后完成该部分。
| 归档时间: |
|
| 查看次数: |
1079 次 |
| 最近记录: |