はじめに
KubernetesのpodのTimezoneがバラバラ(UTC, JTC)に設定されていたため、統一するための方法を調査したので記載する。
環境
- Ubuntu20.04.1
- Kubernetes 1.25.5.
- CRI-O 1.25.2
envフィールドを用いたTimezoneの設定
上記を参考に、Deploymetではenvフィールドを使ってTimezoneの設定できる。
例として、Asia/Tokyo のTimezoneをyamlに設定して確認する。
$ cat > deployment-tz.yaml << EOF apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:latest ports: - containerPort: 80 env: - name: TZ value: Asia/Tokyo EOF $ kubectl apply -f deployment-tz.yaml $ kubectl exec -it deployment.apps/nginx-deployment -- date Mon Apr 15 11:46:22 JST 2024
Timezoneが設定されていることを確認した。
補足:k8tzの使用
こちらのhelm chartでtimezoneを設定できるみたいだが、helm chartをインストール後、podがデプロイできないバグ?があった。そのため利用は断念した。
補足
k8tzを使えば、一括の設定もできるようである。