美文网首页网络与访问云原生实践K3S
在K3S中启动traefik dashboard及配置ingre

在K3S中启动traefik dashboard及配置ingre

作者: 万州客 | 来源:发表于2020-10-25 15:11 被阅读0次

    网上找的版本,都显得过时了。于是,我作了一个针对新版本helm及traefik的可用实践步骤。

    一,安装helm及traefik。

    安装好k3s时,已默认安装好Tiller v2.16.8版本和traefik 1.81.0版本。

    二,调整traefik的yaml文件。

    编辑/var/lib/rancher/k3s/server/manifests/traefik.yaml文件,helm文件中新增dashboard的value。全部内容如下:

    kind: HelmChart
    metadata:
      name: traefik
      namespace: kube-system
    spec:
      chart: https://%{KUBERNETES_API}%/static/charts/traefik-1.81.0.tgz
      valuesContent: |-
        rbac:
          enabled: true
        ssl:
          enabled: true
        dashboard:
          enabled: true
          domain: "traefik.me.k3s"
        metrics:
          prometheus:
            enabled: true
        kubernetes:
          ingressEndpoint:
            useDefaultPublishedService: true
        image: "rancher/library-traefik"
        tolerations:
          - key: "CriticalAddonsOnly"
            operator: "Exists"
          - key: "node-role.kubernetes.io/master"
            operator: "Exists"
            effect: "NoSchedule"
    
    

    此yaml文件中,启用了dashboard,且使用了一个traefik.me.k3s域名访问。(此域名在windows下,以改写C:\Windows\System32\drivers\etc\目录下的Hosts文件实现)
    当我们更新完此yaml文件之后,k3s会自动调用Helm(helm-install-traefik)来重新部署一次traefik。
    如果部署失败,需要检查配置文件。

    2020-10-25 15_12_00-213 - root@192_~ - Xshell 6 (Free for Home_School).png

    三,步骤一个简单的nginx。

    不再赘述,见我的前面的简书。
    https://www.jianshu.com/p/485923b5fbde

    四,使用ingress代码nginx。

    kubectl apply -f xxx.yaml的内容如下:

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: traefik-nginx
      namespace: default
      annotations:
        kubernetes.io/ingress.class: traefik
    spec:
      rules:
      - host: traefik.dracula.io
        http:
          paths:
          - backend:
              serviceName: nginx-service
              servicePort: 80
    

    此ingress使用traefik.dracula.io域名,实现nginx-service:80的k8s service服务。域名实现方式与第二步同样

    五,验证访问。

    1,在C:\Windows\System32\drivers\etc\hosts文件内,新增如下内容:

    192.168.1.213   traefik.dracula.io
    192.168.1.213   traefik.me.k3s
    

    2,访问traefik的dashboard
    http://traefik.me.k3s/dashboard/

    2020-10-25 15_08_32-Traefik.png

    3,通过traefik访问nginx服务
    http://traefik.dracula.io/

    2020-10-25 15_08_52-Welcome to nginx!.png

    4,通过traefik访问nginx与通过nodeport直接访问Nginx的区别。
    k8s的nodeport比较难管理
    traefik是作为API网关代码,有更多的治理功能。nginx ingress,KONG,ambassador等都是类似的,但traefik实现最简单。

    相关文章

      网友评论

        本文标题:在K3S中启动traefik dashboard及配置ingre

        本文链接:https://www.haomeiwen.com/subject/gqhnmktx.html