更新时间:2025-07-18 GMT+08:00

设置容器与节点时区同步

创建工作负载时,支持设置容器使用节点相同的时区。您可以在创建工作负载时打开时区同步配置。

设置容器与节点时区同步

  1. 登录CCE控制台
  2. 单击集群名称进入集群,在左侧选择“工作负载”,在右上角单击“创建工作负载”
  3. 在创建工作负载基本信息页面,开启“时区同步”,即容器与节点使用相同时区。

    图1 开启时区同步

  4. 完成其余配置后,创建该工作负载。
  1. 登录CCE控制台
  2. 单击集群名称进入集群,在左侧选择“工作负载”,在右上角单击“创建工作负载”
  3. 在创建工作负载时,在“容器配置 > 容器信息”中找到“数据存储”,选择“主机路径(HostPath)”

    设置以下参数:
    • 主机路径 (HostPath):/etc/localtime
    • 挂载路径:/etc/localtime
    • 权限:只读
    图2 挂载时区配置文件

  4. 完成其余配置后,创建该工作负载。

时区同步功能需要在容器通过挂载本地磁盘(HostPath)的方式,将节点的“/etc/localtime”挂载到容器的“/etc/localtime”,从而使得节点和容器使用相同的时区配置文件。

  1. 请参见通过kubectl连接集群,使用kubectl连接集群。
  2. 创建一个名为nginx-deployment.yaml的文件。其中,nginx-deployment.yaml为自定义名称,您可以随意命名。

    vi nginx-deployment.yaml

    YAML示例如下:

    kind: Deployment
    apiVersion: apps/v1
    metadata:
      name: test
      namespace: default
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: test
      template:
        metadata:
          labels:
            app: test
        spec:
          volumes:
            - name: date-config  # 自定义的卷名称
              hostPath:   # 通过hostPath挂载节点的时区配置文件
                path: /etc/localtime  # 节点的时区配置文件路径
          containers:
            - name: container-0
              image: 'nginx:alpine'
              volumeMounts:
                - name: date-config  # 在容器中挂载卷,需要和上文中的卷名称保持一致
                  readOnly: true # 挂载为只读文件
                  mountPath: /etc/localtime # 挂载至容器的路径
              imagePullPolicy: IfNotPresent
          imagePullSecrets:
            - name: default-secret

    Esc,输入:wq,保存文件并返回。

  3. 执行以下命令,创建该工作负载。

    kubectl create -f nginx-deployment.yaml

验证节点与容器时区是否同步

  1. 登录节点查询时区。

    date -R

    命令行终端显示如下信息:

    Sat, 12 Apr 2025 16:58:47 +0800

  2. 查询容器时区是否与节点保持一致。

    使用kubectl命令查询Pod名称:

    kubectl get pod

    使用kubectl命令进入容器,其中<pod_name>为上一步中查询的Pod名称:

    kubectl exec -it <pod_name> -- /bin/bash

    查询容器时区:

    date -R

    命令行终端显示如下信息,与节点时区保持一致:

    Sat, 12 Apr 2025 16:59:23 +0800