Kubernetes时区在POD中带有命令和参数



我想用命令更改时区。我知道应用hostpath

您知道如何应用命令吗?

ln -snf /user/share/zoneinfor/$TZ /etc/localtime

它在容器中效果很好。但是我不知道在yaml文件中使用命令和参数。

设置tz环境变量如下,对我来说在GCP kubernetes上效果很好。

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: demo
spec:
  replicas: 1
  selector:
    matchLabels:
        app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: demo
        image: gcr.io/project/image:master
        imagePullPolicy: Always
        env:
            - name: TZ
              value: Europe/Warsaw
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      terminationGracePeriodSeconds: 0

您可以使用特定的时区配置和主机路径卷来设置特定的时区,可以更改POD的timezone。您的yaml文件看起来像:

apiVersion: v1
kind: Pod
metadata:
  name: busybox-sleep
spec:
  containers:
  - name: busybox
    image: busybox
    args:
    - sleep
    - "1000000"
    volumeMounts:
    - name: tz-config
      mountPath: /etc/localtime
  volumes:
    - name: tz-config
      hostPath:
        path: /usr/share/zoneinfo/Europe/Prague
        type: File

如果您需要在所有POD或部署中都需要它,则需要在所有部署文件中添加卷和量,并将path中的CC_3值更改为要设置的时区。

在部署中,您可以通过在/etc/localtime中创建量并设置其值来做到这一点。这是我为Mariadb的示例:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: mariadb
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: mariadb
    spec:
      containers:
        - name: mariadb
          image: mariadb
          ports:
            - containerPort: 3306
              name: mariadb
          env:
            - name: MYSQL_ROOT_PASSWORD
              value: password
          volumeMounts:
          - name: tz-config
            mountPath: /etc/localtime
      volumes:
      - name: tz-config
        hostPath:
           path: /usr/share/zoneinfo/Europe/Madrid 

为了添加" hostpath"在部署配置中,如先前的答案中所建议的,您需要成为特权用户。否则您的部署可能会失败:

'hostpath&quot":不允许使用主机路径

作为解决方法,您可以尝试一种论点:

  1. 在卷旁边添加allowedHostPaths: {}
  2. 添加 tz 环境变量。例如:TZ = Asia/Jerusalem

(选项2类似于运行docker exec -it openshift/origin /bin/bash -c "export TZ='Asia/Jerusalem' && /bin/bash")。

对我来说:设置卷和数量无济于事。在我的情况下,仅设置TZ环境就可以工作。

最新更新