Облачная платформаAdvanced

Настройка синхронизации часового пояса

Эта статья полезна?
Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

При создании рабочей нагрузки вы можете включить синхронизацию часового пояса, чтобы контейнер мог использовать тот же часовой пояс, что и узел.

Включение синхронизации часового пояса одним кликом в консоли

  1. Войдите в CCE консоль.
  2. Щёлкните название кластера, чтобы перейти в консоль кластера, выберите Рабочие нагрузки в панели навигации и щёлкните Создать рабочую нагрузку в правом верхнем углу.
  3. В Основная информация области Создать рабочую нагрузку странице, включите Синхронизация часового пояса чтобы один и тот же часовой пояс использовался как для контейнера, так и для узла.

  4. Завершите остальные настройки и нажмите Создать рабочую нагрузку.

Ручное монтирование файла конфигурации часового пояса в консоли

  1. Войдите в CCE консоль.
  2. Щелкните название кластера, чтобы перейти в консоль кластера, выберите Рабочие нагрузки в навигационной панели и нажмите Создать рабочую нагрузку в правом верхнем углу.
  3. Щелкните Хранилище данных в Информация о контейнере область под Настройки контейнера и выберите Добавить том > hostPath.

    Настройте следующие параметры:

    • hostPath: /etc/localtime
    • Путь монтирования: /etc/localtime
    • Разрешение: Только для чтения

  4. Завершите другие настройки и нажмите Создать нагрузку.

Ручное монтирование файла конфигурации часового пояса с использованием YAML

Чтобы использовать синхронизацию часового пояса, необходимо смонтировать /etc/localtime на узле для /etc/localtime в контейнере. Таким образом, узел и контейнер используют один и тот же файл конфигурации часового пояса.

  1. Используйте kubectl для доступа к кластеру. Для подробностей см. Доступ к кластеру с помощью kubectl.
  2. Создайте файл с именем 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 # Custom volume name.
    hostPath: # Mount the time zone configuration file of the node in hostPath mode.
    path: /etc/localtime # Path of the time zone configuration file on the node.
    containers:
    - name: container-0
    image: 'nginx:alpine'
    volumeMounts:
    - name: date-config # Mount the volume to the container. The volume name must be the same as that you defined.
    readOnly: true # Mount the volume as read-only.
    mountPath: /etc/localtime # The path in the container where the node's time zone configuration file is mounted.
    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 get pod

    Получите доступ к контейнеру. В команде, <pod_name> указывает имя pod, полученное на предыдущем шаге.

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

    Получите часовой пояс контейнера.

    date -R

    Отображается информация, аналогичная следующей, указывающая, что часовой пояс контейнера совпадает с часовым поясом узла:

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