# 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

* 在 machineGlobalConfig 欄位底下設定以下內容

```
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