背景:

我正试图站出一个BareMetal K8s群集,并希望利用Traefik的群集Ingress的众多功能。 我前面有MetalLB提供LoadBalancer IP地址,这对我来说不是问题。

信息:

K8s群集版本:1.12

Helm和Tiller版本:v2.11.0

问题:

如果我使用舵图和安装链接安装Traefik,但当我去检查docker日志中创建的包含时,我会遇到错误。

 E1012 15:23:50.784829 1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1.Endpoints: Unauthorized E1012 15:23:52.279720 1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1.Service: Unauthorized E1012 15:23:52.784902 1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1beta1.Ingress: Unauthorized 

如果我改为采用不同的路线并尝试使用官方文档手动安装traefik,我至少可以让它有点工作,但我会得到错误的

 time="2018-10-12T12:22:57Z" level=error msg="Service not found for monitoring/prometheus-server" time="2018-10-12T12:22:59Z" level=warning msg="Endpoints not found for monitoring/prometheus-server" 

所以我在我的开发(最终的prod集群)中完成并运行我需要做的事情100%。 任何人都可以提供一些帮助和/或指导,让我朝着正确的方向努力吗?

先感谢您

#1楼 票数:3

对于第一次安装(使用Helm),您似乎缺少RBAC配置

kubectl apply -f https://raw.githubusercontent.com/containous/traefik/master/examples/k8s/traefik-rbac.yaml

对于第二次安装,看起来可能会将Traefik配置为从监视命名空间和群集中不存在的prometheus-server服务端点中删除指标。 如果你可以分享你如何部署它会很棒。

#2楼 票数:0

谢谢你回答Rico。

所以作为后续测试。 我回去了,把所有东西吹走,并用以下命令重新安装

helm install --values values.yaml stable/traefik

NAME:   khaki-goose
LAST DEPLOYED: Fri Oct 12 14:05:23 2018
NAMESPACE: default
STATUS: DEPLOYED

RESOURCES:
==> v1/Deployment
NAME                     AGE
khaki-goose-traefik  0s

==> v1beta1/Ingress
khaki-goose-traefik-dashboard  0s

==> v1/Pod(related)

NAME                                     READY  STATUS   RESTARTS  AGE
khaki-goose-traefik-dccfdf765-cmfl9  0/1    Pending  0         0s

==> v1/ConfigMap

NAME                     AGE
khaki-goose-traefik  0s

==> v1/Service
khaki-goose-traefik-dashboard  0s
khaki-goose-traefik            0s

在创建输出结束时按建议的命令进行操作

kubectl get svc khaki-goose-traefik --namespace default -w

NAME                  TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
khaki-goose-traefik   LoadBalancer   10.109.30.181   172.16.15.1   80:31644/TCP,443:31004/TCP   12s

所以我知道我至少能够得到一个“外部IP地址”,感谢MetalLB,并且作为初始设置的一部分,它应该为我创建相关的入口规则,但我不确定它是否正确,因为我描述它我得到以下。

Name:             khaki-goose-traefik-dashboard
Namespace:        default
Address: 
Default backend:  default-http-backend:80 (<none>)
Rules:
Host                 Path  Backends
----                 ----  --------
traefik-ui.minikube
                      khaki-goose-traefik-dashboard:80 (<none>)
Annotations:
Events:  <none>

我能看到的重要一点是它实际上并没有得到关于后端的信息(至少我理解它的方式)。

然后,我使用官方文档中指定的默认值运行您建议的命令。

kubectl apply -f traefik-rbac.yaml

当我跑步时,它向我显示以下信息:

kubectl describe pods 

Name:               khaki-goose-traefik-dccfdf765-k9pxh
Namespace:          default
Priority:           0
PriorityClassName:  <none>
Node:               jbv-dev-k8wrkr-02.removed.domain.name/172.16.1.47
Start Time:         Fri, 12 Oct 2018 14:54:30 -0400
Labels:             app=traefik
                    chart=traefik-1.43.0
                    heritage=Tiller
                    pod-template-hash=dccfdf765
                    release=khaki-goose
Annotations:        checksum/config=fba7308c36f00b969971dec5caa6ca1e456737d4564d6c623d261aee9ffb82cc
Status:             Running
IP:                 172.25.4.44
Controlled By:      ReplicaSet/khaki-goose-traefik-dccfdf765
Containers:
  khaki-goose-traefik:
    Container ID:  docker://f88d222ccf72c244bdb100b956a8b629bcb8b89c9954de1f83552bddd6c44a43
    Image:         traefik:1.6.6
    Image ID:      docker-pullable://traefik@sha256:9569c56e8b7353c9c4e5d4f00177b0b7c523db6926a42a148e04a6fa4b6f9f8d
    Ports:         80/TCP, 8880/TCP, 443/TCP, 8080/TCP
    Host Ports:    0/TCP, 0/TCP, 0/TCP, 0/TCP
    Args:
      --configfile=/config/traefik.toml
    State:          Running
      Started:      Fri, 12 Oct 2018 14:54:41 -0400
    Ready:          True
    Restart Count:  0
    Limits:
      cpu:     100m
      memory:  30Mi
    Requests:
      cpu:        100m
      memory:     20Mi
    Liveness:     tcp-socket :80 delay=10s timeout=2s period=10s #success=1 #failure=3
    Readiness:    tcp-socket :80 delay=10s timeout=2s period=10s #success=1 #failure=1
    Environment:  <none>
    Mounts:
      /config from config (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-n8865 (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  config:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      khaki-goose-traefik
    Optional:  false
  default-token-n8865:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-n8865
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type    Reason     Age   From                                            Message
  ----    ------     ----  ----                                            -------
  Normal  Scheduled  1m    default-scheduler                               Successfully assigned default/khaki-goose-traefik-dccfdf765-k9pxh to jbv-dev-k8wrkr-02.removed.domain.name
  Normal  Pulled     1m    kubelet, jbv-dev-k8wrkr-02.removed.domain.name  Container image "traefik:1.6.6" already present on machine
  Normal  Created    1m    kubelet, jbv-dev-k8wrkr-02.removed.domain.name  Created container
  Normal  Started    1m    kubelet, jbv-dev-k8wrkr-02.removed.domain.name  Started container

我也回去跑了命令kubectl logs khaki-goose-traefik-dccfdf765-k9pxh

E1012 20:19:14.410278       1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1beta1.Ingress: Unauthorized
E1012 20:19:14.411657       1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1.Endpoints: Unauthorized
E1012 20:19:15.388608       1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1.Service: Unauthorized
E1012 20:19:15.391057       1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1beta1.Ingress: Unauthorized
E1012 20:19:15.397616       1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1.Endpoints: Unauthorized
E1012 20:19:15.411714       1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1.Service: Unauthorized
E1012 20:19:15.413496       1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1beta1.Ingress: Unauthorized
E1012 20:19:15.414809       1 reflector.go:205] github.com/containous/traefik/vendor/k8s.io/client-go/informers/factory.go:86: Failed to list *v1.Endpoints: Unauthorized

在我应用了所有这些之后,我尝试通过端口80或443打开外部IP地址的浏览器,然后找到可怕的页面找不到错误。 我知道这里有很多信息可以参考helm设置方式,但我想为此提供尽可能多的信息。

我将不得不回顾并解析我在命令历史记录中为第二次设置所做的相关命令,并在我正确拉出所有内容时尝试回复此处。

  ask by Name Withheld translate from so

未解决问题?本站智能推荐:

1回复

如何更新k3s插件?

我的具体情况我在k3s集群中有机器。 几天前,我通过运行curl -sfL https://get.k3s.io | sh -从旧版本(v1.20?)升级到 v1.21.1+k3s1 curl -sfL https://get.k3s.io | sh - curl -sfL https://get
1回复

通过注释增加traefik入口超时设置

我需要增加我的 traefik 入口超时,因为现在我收到 499 个错误。 当我使用 Nginx 作为我的入口代理时,能够使用这些注释: 但现在我正在努力寻找在 Traefik 中的替代方法。 那么增加入口读取、写入、连接值的注释是什么?
1回复

在端口80(hostNetwork)上使用helm3安装traefik的权限问题

我正在学习 helm3 和 k8s (microk8s)。 在尝试以下命令时: 和 traefik-values.yaml 具有以下值: 我收到此绑定权限错误 另一方面,我可以使用以下yaml文件(大约是Traefik 站点上的示例)在相同的端口(80 和 443)上安装 Traefik: 这两个规
1回复

无法访问Traefik仪表板,获取404。从Helm图表安装在Kubernetes(k3d)上(在Ubuntu20.04笔记本电脑上)

我创建了一个这样的 k3d 集群:# Create 3 server nodes and only allow control plane stuff on there (and things with tolerations)# Pretty print:# k3d cluster create
1回复

Traefik头盔图404

大家好,我刚刚创建了一个新的 Kubernetes 集群并创建了一个名为“路由”的命名空间在这里,我通过 helm chart (2.2) 创建了最新的 traefik 我可以看到 pod 运行良好。 没有来自 traefik pod 的日志。 当我运行时: 它显示了 我尝试在我的浏览器上访问 ht
1回复

让我们用Helm加密Traefik

我正在尝试将Traefik作为Ingress Controller安装到我自己安装的Kubernetes集群中。 为了方便起见,我尝试安装Traefik的掌舵图表,这种方法非常出色,没有极致部分; 这是我的变量yml现在: 安装时间: 但是使用helm status traefik我
2回复

如何让LetsEncrypt在Traefik上使用通配符域?

我正在尝试在我的Traefik实例上使用通配符域设置LetsEncrypt。 Traefik已从Helm Chart stable/traefik 。 我们正在使用Google Cloud for DNS,因此我想将gcloud用作我的Traefik acme提供商。 如上所述,这是一
2回复

使用Helm使用Traefik配置Lets加密

我正在使用头盔将taefik部署到我的kubernetes集群中。 这是我目前所拥有的: 我正在尝试配置letsencrypt。 根据此文档 -您将域添加到.toml文件的底部。 查看舵图的代码,没有这样的配置。 有另一种方法可以执行此操作,还是我需要派生图表来创建自己的.tom