スキル一覧に戻る
julianobarbosa

k8s-timezone-config

by julianobarbosa

4🍴 0📅 2026年1月24日
GitHubで見るManusで実行

SKILL.md


name: k8s-timezone-config description: Configure timezone for Kubernetes pods using TZ environment variable. Use when deploying workloads that need Brazil/São Paulo timezone or when logs show UTC (+0000) instead of local time.

Kubernetes Pod Timezone Configuration

Standard timezone for Hypera infrastructure: America/Sao_Paulo

Problem

Kubernetes pods run in UTC by default. Logs and application timestamps show +0000 offset instead of local Brazil time (-0300).

Solution

Add the TZ environment variable to container specifications.

Implementation Patterns

1. Helm Values (extraEnv pattern)

For Helm charts that support extraEnv:

# In values.yaml
extraEnv:
  - name: TZ
    value: America/Sao_Paulo

2. Multiple Containers

When a deployment has multiple containers (e.g., API server + frontend), add TZ to ALL containers:

apiServer:
  extraEnv:
    - name: TZ
      value: America/Sao_Paulo

frontend:
  extraEnv:
    - name: TZ
      value: America/Sao_Paulo

3. Raw Kubernetes Deployment

apiVersion: apps/v1
kind: Deployment
spec:
  template:
    spec:
      containers:
        - name: app
          env:
            - name: TZ
              value: America/Sao_Paulo

4. StatefulSet

apiVersion: apps/v1
kind: StatefulSet
spec:
  template:
    spec:
      containers:
        - name: app
          env:
            - name: TZ
              value: America/Sao_Paulo

Verification

After deployment, verify timezone is set correctly:

# Check pod logs for timestamp offset
# Before: 2026-01-13T11:37:06 +0000
# After:  2026-01-13T08:37:06 -0300

# Or exec into pod
kubectl exec -it <pod-name> -n <namespace> -- date
# Should show: Mon Jan 13 08:37:06 -03 2026

Common Applications Requiring Timezone

ApplicationConfig LocationNotes
Dependency-TrackapiServer.extraEnv + frontend.extraEnvBoth containers need TZ
Grafanaenv or extraEnvVarsSingle container
LokiextraEnvAffects log timestamps
Prometheusserver.envAffects alert timestamps
DefectDojoextraEnvDjango app
PostgreSQLprimary.extraEnvVarsDatabase timestamps

Important Notes

  1. Restart required: Pods must restart for TZ changes to take effect
  2. All containers: Set TZ on ALL containers in a pod, including sidecars
  3. Init containers: Also set TZ on init containers if they log timestamps
  4. Cron jobs: Kubernetes CronJob schedules are always UTC - TZ only affects container-level time

Hypera GitOps Workflow

  1. Edit values.yaml in argo-cd-helm-values/kube-addons/<service>/<cluster>/values.yaml
  2. Add TZ environment variable to all containers
  3. Commit and push (ArgoCD auto-syncs)
  4. Verify pods restart with new timezone

Reference

  • IANA Timezone Database: America/Sao_Paulo = UTC-3 (no DST since 2019)
  • Linux TZ variable: Uses /usr/share/zoneinfo/America/Sao_Paulo

スコア

総合スコア

60/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です