k3s Traefik 开启Dashboard

发布时间 2023-06-14 15:51:54作者: SpringCore

参考地址:https://doc.traefik.io/traefik/getting-started/install-traefik/#exposing-the-traefik-dashboard
https://stackoverflow.com/questions/68565048/how-to-expose-traefik-v2-dashboard-in-k3d-k3s-via-configuration

方式1.

kubectl port-forward -n kube-system $(kubectl get pods --selector "app.kubernetes.io/name=traefik" --output=name -n kube-system) 9000:9000

结论:成功,但只能本机访问,其次命令行必须一直运行,需要新开终端测试

方式2

# dashboard.yaml
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
  name: dashboard
spec:
  entryPoints:
    - web
  routes:
    - match: Host(`traefik.localhost`) && (PathPrefix(`/dashboard`) || PathPrefix(`/api`))
      kind: Rule
      services:
        - name: api@internal
          kind: TraefikService

结论:没弄成功,可能操作方式不对,目测也是只能本机访问。

方式3

在k3s的部署目录新增HelmChartConfig清单来自定义 Traefik.

cat >> /var/lib/rancher/k3s/server/manifests/traefik-config.yaml << EOF
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
  name: traefik
  namespace: kube-system
spec:
  valuesContent: |-
    dashboard:
      enabled: true
    ports:
      traefik:
        expose: true # this is not recommended in production deployments, but I want to be able to see my dashboard locally
    logs:
      access:
        enabled: true
EOF

结论:成功,且可以远程访问,但不推荐,对于外部公开集群信息且无需安全验证,危害是极大的。