# rke2 cluster 更改 k8s components pod 內部時區 ## 預設 rke2 的 pod 都是 UTC 時區,以下示範為如何將時區調為台灣時區(UTC+8) * CronJob 是由 controller-manager 做出的,因為 controller-manager pod 預設是 UTC,因此 CronJob 排程的時間也會比照 controller-manager 的時間,如果要使用台灣時區需要做時區調整。 ## 設定 Upstream cluster * 確認 controller-manager pod 時區為 UTC ``` # 本機時區已設為 CST(UTC+8) $ date Tue 30 Apr 2024 10:34:37 AM CST $ kubectl -n kube-system exec -it kube-controller-manager-rms -- date Tue Apr 30 02:36:28 UTC 2024 ``` * 編輯 config.yaml ``` $ sudo vim /etc/rancher/rke2/config.yaml node-name: - "rms" token: my-shared-secret etcd-extra-env: TZ=Asia/Taipei # add kube-apiserver-extra-env: TZ=Asia/Taipei # add kube-controller-manager-extra-env: TZ=Asia/Taipei # add kube-proxy-extra-env: TZ=Asia/Taipei # add kube-scheduler-extra-env: TZ=Asia/Taipei # add cloud-controller-manager-extra-env: TZ=Asia/Taipei # add ``` * 重啟 rke2-server 服務 ``` $ sudo systemctl restart rke2-server ``` * 當設定好後檢查時區是否一致 ``` $ date Tue 30 Apr 2024 10:37:36 AM CST $ kubectl -n kube-system exec -it kube-controller-manager-rms -- date Tue Apr 30 10:37:37 CST 2024 ``` ## 設定 Downstream cluster * 確認 controller-manager pod 時區為 UTC ``` # 本機時區已設為 CST(UTC+8) $ date Mon 29 Apr 2024 05:30:19 PM CST $ kubectl -n kube-system exec -it kube-controller-manager-rke2 -- date Mon Apr 29 09:30:22 UTC 2024 ``` ### Rancher ui 設定 * Cluster Management -> Edit YAML ![image](https://hackmd.io/_uploads/Hy0MY1aZR.png) * 在 machineGlobalConfig 欄位底下設定以下內容 ![image](https://hackmd.io/_uploads/rkc9K1TZ0.png) ``` machineGlobalConfig: cni: calico disable-kube-proxy: false etcd-expose-metrics: false etcd-extra-env: TZ=Asia/Taipei # add kube-apiserver-extra-env: TZ=Asia/Taipei # add kube-controller-manager-extra-env: TZ=Asia/Taipei # add kube-proxy-extra-env: TZ=Asia/Taipei # add kube-scheduler-extra-env: TZ=Asia/Taipei # add cloud-controller-manager-extra-env: TZ=Asia/Taipei # add ``` * 當設定好後檢查時區是否一致 ``` $ date Mon 29 Apr 2024 05:36:38 PM CST $ kubectl -n kube-system exec -it kube-controller-manager-rke2 -- date Mon Apr 29 17:36:44 CST 2024 ``` ## 參考文件 https://docs.rke2.io/zh/advanced#%E9%A2%9D%E5%A4%96%E7%9A%84-control-plane-%E7%BB%84%E4%BB%B6%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F