• Русский
  • Шифрование etcd

    Это руководство поможет вам установить, понять и управлять etcd Encryption Manager в для автоматизации ротации ключей шифрования данных etcd в ваших кластерах.

    Оно обеспечивает шифрование конфиденциальных данных, хранящихся в etcd, таких как secrets и configmaps, с использованием надежного алгоритма, повышая безопасность вашего кластера.

    Установка

    Инструкции по установке смотрите в разделе Cluster Plugin.

    Примечание:

    • В настоящее время поддерживаются:

      • On-Premises кластеры
      • DCS кластеры
    • Не поддерживаются:

      • global cluster

    Как это работает

    После установки в пространстве имён kube-system разворачивается контроллер etcd-encryption-manager, который:

    • Периодически выполняет ротацию ключей шифрования данных etcd.
    • Сохраняет 8 последних ключей для обеспечения совместимости при откате.
    • Обновляет конфигурации шифрования на всех управляющих узлах.
    • Запускает горячую перезагрузку новых ключей в kube-apiserver.
    • Автоматически мигрирует ресурсы для повторного шифрования данных новыми ключами.

    Стабильность кластера сохраняется на протяжении всех этих операций.

    Конфигурация по умолчанию

    ПараметрЗначение
    Шифруемые ресурсыsecrets, configmaps
    Алгоритм шифрования256-битный AES-GCM
    Интервал ротации168 часов (7 дней)

    Руководство по эксплуатации

    Файлы конфигурации

    ПутьСодержание
    /etc/kubernetes/encryption-provider.confТекущая конфигурация шифрования
    /etc/kubernetes/encryption-provider-history.bakИсторические записи ключей (для восстановления)
    /etc/kubernetes/encryption-provider-bak/Истекшие версии конфигураций шифрования

    Проверка статуса

    Выполните следующую команду для проверки текущего статуса ротации:

    kubectl get EtcdEncryptionConfig default -o yaml

    Пример вывода:

    apiVersion: cluster.alauda.io/v1alpha1
    kind: EtcdEncryptionConfig
    metadata:
      name: default
    spec:
      resources:
        - secrets
        - configmaps
      rotationInterval: 168h0m0s
      type: aesgcm
    status:
      deployStatus:
        192.168.100.1:
          revision: 3
          state: Success
        192.168.100.2:
          revision: 3
          state: Success
        192.168.100.3:
          revision: 3
          state: Success
      migration:
        completeTimestamp: "2025-05-27T05:47:01Z"
        resources:
          - secrets
          - configmaps
        revision: 3
        state: Success
      revision: 3