Skip to content

Instantly share code, notes, and snippets.

@seterrychen
Last active July 8, 2021 07:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save seterrychen/6d915d55366b0afff87da32b7984aa82 to your computer and use it in GitHub Desktop.
Save seterrychen/6d915d55366b0afff87da32b7984aa82 to your computer and use it in GitHub Desktop.
安裝Treafik v2 在 K3s (v1.20.6+k3s1) 上

先安裝K3s, 在 2021/04/30 使用官方的script安裝

curl -sfL https://get.k3s.io | sh -

K3s版本會是v1.20.6+k3s1, 預設會安裝Traefik,但版本還是v1.7.19

翻開Traefik的歷史,v2.0.0於 2019/09/17 就於Github釋出,距今有一段時間了,再加上v1和v2有一些使用上的差異,需要做migration。為了避免以後升級額外處理,如果能直接使用v2是最好的。而K3s Github上,關於Traefik v2的整合也很早在 2019/11/27 提出討論,終於在今年 2021/03/02 併入主線,看起來釋出v1.21版本時所搭配的Traefik就會是v2的版本。以下就簡單的記錄一下,如何在現有的環境中安裝v2。

首先修改/var/lib/rancher/k3s/server/manifests/traefik.yaml的內容換成以下

apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
  name: traefik
  namespace: kube-system
spec:
  chart: traefik
  repo: https://containous.github.io/traefik-helm-chart
  set:
    image.tag: "2.2"

檢查pod的狀態,可以看到helm執行了traefik的安裝

buntu@test:~$ sudo kubectl -n kube-system get pod
NAME                                      READY   STATUS        RESTARTS   AGE
metrics-server-86cbb8457f-rjth8           1/1     Running       0          26m
local-path-provisioner-5ff76fc89d-shtp5   1/1     Running       0          26m
coredns-854c77959c-pqhrl                  1/1     Running       0          26m
helm-install-traefik-w5cx9                1/1     Running       1          11s
svclb-traefik-f6rt8                       0/2     Terminating   0          25m

檢查新的traefik pod,就可以看到v2的版本了

ubuntu@test:~$ sudo kubectl -n kube-system describe pod traefik-57f74867d5-kv5lc
Name:         traefik-57f74867d5-kv5lc
Namespace:    kube-system
Priority:     0
Node:         test/192.168.64.5
Start Time:   Sat, 01 May 2021 17:12:41 +0800
Labels:       app.kubernetes.io/instance=traefik
              app.kubernetes.io/managed-by=Helm
              app.kubernetes.io/name=traefik
              helm.sh/chart=traefik-9.1.1
              pod-template-hash=57f74867d5
Annotations:  <none>
Status:       Running
IP:           10.42.0.9
IPs:
  IP:           10.42.0.9
Controlled By:  ReplicaSet/traefik-57f74867d5
Containers:
  traefik:
    Container ID:  containerd://6f506dbd820bb587bb901ad4a759f0d44e3b6851e9c0f57a7f6682fa68b72f1f
    Image:         traefik:2.2
    Image ID:      docker.io/library/traefik@sha256:ea0aa8832bfd08369166baecd40b35fc58979df8f5dc5182e4e63ee6adbe66db
    Ports:         9000/TCP, 8000/TCP, 8443/TCP
    Host Ports:    0/TCP, 0/TCP, 0/TCP
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment