>source

유럽/로마 시간대의 애플리케이션을 배포해야 합니다.

다음 배포를 적용했습니다.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp
  labels:
    app: myapp
spec:
  replicas: 1
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
        -name: myapp
          image: 10.166.23.73:5000/local/myapp:latest
          imagePullPolicy: Always
          ports:
            -containerPort: 8080
          env:
            -name: TZ
              value: Europe/Rome
          volumeMounts:
          -name: tz-rome
            mountPath: /etc/localtime
      volumes:
        -name: tz-rome
          hostPath:
            path: /usr/share/zoneinfo/Europe/Rome

하지만 POD 내에서 "날짜" 명령을 실행하면 "유럽/로마" 시간대가 표시되지 않습니다...

위의 배포 yaml에 어떤 문제가 있습니까?

  • 답변 # 1

    env 변수를 제거하면 작동합니다. 예를 들어:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: myapp
      namespace: test-timezone
      labels:
        app: myapp
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: myapp
      template:
        metadata:
          labels:
            app: myapp
        spec:
          containers:
            -name: myapp
              image: busybox
              imagePullPolicy: Always
              command: [ "sleep", "10000" ]
              volumeMounts:
              -name: tz-rome
                mountPath: /etc/localtime
          volumes:
            -name: tz-rome
              hostPath:
                path: /usr/share/zoneinfo/Europe/Rome
    

    출력:

    /# date
    Fri Feb  4 02:16:16 CET 2022
    

    TZ 환경을 사용하여 시간대를 설정하려면 컨테이너에 tzdata 패키지가 필요합니다. 예를 들면 다음과 같습니다.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: myapp3
      namespace: test-timezone
      labels:
        app: myapp
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: myapp
      template:
        metadata:
          labels:
            app: myapp
        spec:
          containers:
            -name: myapp
              image: nginx
              imagePullPolicy: Always
              command: [ "sleep", "10000" ]
              env:
                -name: TZ
                  value: Europe/Rome
    

    Nginx에는 tzdata 패키지가 있습니다.

    [email protected]:/# apt list --installed | grep tzdata
    WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
    tzdata/now 2021a-1+deb11u2 all [installed,local]
    [email protected]:/# date
    Fri Feb  4 02:32:48 CET 2022
    

    env를 제거하면 작동합니다!

    mark0092022-02-04 08:43:55
  • 이전 fastify-http-proxy: Swagger는 접두사 URL REST 메서드로 가득 차 있습니다.
  • 다음 python : 큰 숫자가 PLOT Pandas에 나타나지 않도록 차단