Обновление или удаление Ключ-АСТРОМ Operator: различия между версиями

Материал из Документация Ключ-АСТРОМ
(Новая страница: «На этой странице представлены подробные инструкции по обновлению или удалению Ключ-АСТ...»)
 
(нет различий)

Текущая версия на 14:31, 25 ноября 2025

На этой странице представлены подробные инструкции по обновлению или удалению Ключ-АСТРОМ Operator в средах Kubernetes и OpenShift.

Ключ-АСТРОМ Operator управляет развертыванием и жизненным циклом всех компонентов Ключ-АСТРОМ в кластерах Kubernetes (например, ЕдинымАгентом, АктивнымШлюзом и модулей кода). Это включает в себя, в зависимости от конфигурации, автоматическое обновление этих компонентов. Сам Ключ-АСТРОМ Operator необходимо обновлять либо путём применения новых манифестов, либо с помощью Helm Charts.

Мы рекомендуем использовать актуальную версию Operator (как минимум версию n-2) и всегда использовать последнюю версию патча для этой версии Operator (например, 0.10.4 вместо 0.10.0).

Обновление Ключ-АСТРОМ Operator

Чтобы обновить Ключ-АСТРОМ Operator, выберите один из следующих вариантов в зависимости от вашего подхода к развертыванию:

Manifest

Для classicFullStack, applicationMonitoring, или hostMonitoringбез драйвера CSI выполните следующую команду.

Kubernetes OpenShift
kubectl apply -f https://github.com/astromkey/astromkey-operator/releases/download/v1.7.2/kubernetes.yaml oc apply -f https://github.com/astromkey/astromkey-operator/releases/download/v1.7.2/openshift.yaml

Если вы используете драйвер CSI, используйте следующую команду:

Kubernetes OpenShift
kubectl apply -f https://github.com/astromkey/astromkey-operator/releases/download/v1.7.2/kubernetes-csi.yaml oc apply -f https://github.com/astromkey/astromkey-operator/releases/download/v1.7.2/openshift-csi.yaml

Helm

Обновите Helm Charts.

helm upgrade astromkey-operator oci://public.ecr.aws/astromkey/astromkey-operator \

   --namespace astromkey \

   --atomic \

   -f values.yaml

Файл values.yaml мог измениться в более новых версиях. Если существующие значения больше недействительны, они будут проигнорированы, поскольку для этого нет проверки.

Обновление из реестра OCI

Чтобы выполнить обновление до последней версии из реестра OCI, выполните следующую команду.

helm upgrade astromkey-operator astromkey/astromkey-operator \

   --namespace astromkey \

   --atomic \

   -f values.yaml

Обратите внимание, что эта команда не поддерживает реестры OCI. С OCI helm repo можно использовать только команды helm pull, helm show, helm installи helm upgrade.

Обновление старых версий Ключ-АСТРОМ Operator с помощью Helm

Если вы используете версию Ключ-АСТРОМ Operator более раннюю, чем v0.8.0, в развертывании Helm, выполните следующие шаги для перехода на последнюю версию Ключ-АСТРОМ Operator с Helm.

Обновите определение пользовательского ресурса

В зависимости от конфигурации файла values.yaml выберите один из вариантов ниже.

  • Если installCRD установлено на значение true, определение пользовательского ресурса будет автоматически обновляться и управляться Helm.
  • Если installCRD установлено на значение false, вам необходимо вручную обновить определение пользовательского ресурса перед началом установки Helm:
Kubernetes OpenShift
kubectl apply -f https://github.com/astromkey/astromkey-operator/releases/download/v1.7.2/astromkey-operator-crd.yaml oc apply -f https://github.com/astromkey/astromkey-operator/releases/download/v1.7.2/astromkey-operator-crd.yaml

Обновите Helm chart

Удалите раздел CRD и секреты из существующего файла values.yaml или используйте и настройте пример values.yaml с GitHub. Обновите Helm chart:

helm upgrade astromkey-operator astromkey/astromkey-operator -f values.yaml --atomic -n astromkey

Обновление подов АктивногоШлюза

Обычно поды АктивногоШлюза обновляются автоматически при перезапуске пода, если доступна новая версия (если только образ не указывает конкретную версию). Однако, если вам необходимо вручную перезапустить поды АктивногоШлюза, выполните команду ниже.

Kubernetes OpenShift
kubectl -n astromkey rollout restart statefulset/<ACTIVEGATE-STATEFULSET-NAME> oc -n astromkey rollout restart statefulset/<ACTIVEGATE-STATEFULSET-NAME>

Обновление токенов доступа

Если вам необходимо обновить токены доступа Ключ-АСТРОМ, выполните следующие действия.

Найдите текущие токены доступа

Найдите и сохраните используемые вами в настоящее время токены.

После генерации новых токенов вам необходимо удалить старые.

Kubernetes OpenShift
kubectl -n astromkey get secrets <dynakube-name> -o yaml | yq '.data.apiToken' | base64 -d oc -n astromkey get secrets <dynakube-name> -o yaml | yq '.data.apiToken' | base64 -d

Удалите свой секрет

Чтобы удалить секрет, выполните одну из команд ниже.

В Kubernetes использованные токены хранятся в секрете с именем dynakube по умолчанию. Если у пользовательского ресурса DynaKube другое имя или поле tokens в DynaKube задано, убедитесь, что имя нового секрета совпадает с указанным там.

Kubernetes OpenShift
kubectl -n astromkey delete secret dynakube oc -n astromkey delete secret dynakube

Создайте новые токены доступа

Инструкции по созданию токенов см. в разделе Токены доступа и разрешения.

Создайте новый секрет с обновленными токенами доступа

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

Kubernetes OpenShift
Для токена Ключ-АСТРОМ Operator:
kubectl -n astromkey create secret generic dynakube --from-literal="apiToken=<OPERATOR_TOKEN>"
Для токена Ключ-АСТРОМ Operator:
oc -n astromkey create secret generic dynakube --from-literal="apiToken=<OPERATOR_TOKEN>"
Для токена Ключ-АСТРОМ Operator и Data Ingest:
kubectl -n astromkey create secret generic dynakube --from-literal="apiToken=<OPERATOR_TOKEN>" --from-literal="dataIngestToken=<DATA-INGEST-TOKEN>"
Для токена Ключ-АСТРОМ Operator и Data Ingest:
oc -n astromkey create secret generic dynakube --from-literal="apiToken=<OPERATOR_TOKEN>" --from-literal="dataIngestToken=<DATA-INGEST-TOKEN>"

Ключ-АСТРОМ Operator подхватывает обновлённые секреты примерно через пять минут. Удаление DynaKube и его повторное применение запускают мгновенную сверку.

Удалить старый токен доступа

После установки новых токенов удалите старые.

  1. В Ключ-АСТРОМ перейдите в раздел Токены доступа и найдите старый токен.
  2. Выберите Удалить.

Удаление Ключ-АСТРОМ Operator

В следующем руководстве описаны рекомендуемые шаги для чистого удаления Ключ-АСТРОМ Operator.

Важно для пользователей CRI-O Runtime с classicFullStack

ЕдиныйАгент версии 1.279 и ниже

Если вы используете CRI-O в качестве среды выполнения контейнера вашего кластера с classicFullStack, выполните шаги, описанные в разделе Переход из классического полнофункционального режима в облачный полнофункциональный режим в рамках процесса удаления.

Удалить компоненты, управляемые Ключ-АСТРОМ Operator

Удалите пользовательские ресурсы DynaKube, чтобы Ключ-АСТРОМ Operator мог полностью удалить все связанные компоненты, управляемые Ключ-АСТРОМ Operator, из вашего кластера Kubernetes. Дождитесь удаления этих компонентов, чтобы убедиться в успешном завершении очистки.

Kubernetes OpenShift
kubectl delete dynakube -n astromkey --all

kubectl -n astromkey wait pod --for=delete -l app.kubernetes.io/managed-by=astromkey-operator --timeout=300s

oc delete dynakube -n astromkey --all

oc -n astromkey wait pod --for=delete -l app.kubernetes.io/managed-by=astromkey-operator --timeout=300s


Почему необходима дополнительная очистка?

Большинство ресурсов, связанных с DynaKube, автоматически очищаются через систему владения Kubernetes: при удалении DynaKube Kubernetes автоматически удаляет все ресурсы, указывающие на OwnerReference DynaKube.

Однако некоторые ресурсы требуют дополнительных шагов очистки из-за ограничений Kubernetes:

  • Зависимости драйвера CSI : приложения, использующие драйвер CSI, должны быть завершены, прежде чем драйвер CSI можно будет безопасно удалить. Это предотвращает потенциальное повреждение данных или проблемы с монтированием.
  • Ресурсы между пространствами имён : Kubernetes OwnerReferences работает только в пределах одного пространства имён. Поскольку Ключ-АСТРОМ Operator создаёт ресурсы, например,Secrets в пространствах имён вашего приложения, он должен очищать их отдельно.

необязательно Если вы использовали драйвер CSI : перезапустите контролируемые приложения.

Чтобы убедиться, что тома CSI правильно размонтированы и отключены от драйвера CSI перед продолжением удаления, используйте следующую команду для определения приложений, которые используют драйвер CSI и требуют перезапуска.

На выходе будет представлен список подов в формате namespace pod для каждого приложения, использующего драйвер CSI.

Kubernetes OpenShift
kubectl get pods --all-namespaces -o jsonpath='{range .items[?(@.spec.volumes[*].csi.driver=="csi.oneagent.astromkey.com")]}{.metadata.namespace}{"\t"}{.metadata.name}{"\n"}{end}' oc get pods --all-namespaces -o jsonpath='{range .items[?(@.spec.volumes[*].csi.driver=="csi.oneagent.astromkey.com")]}{.metadata.namespace}{"\t"}{.metadata.name}{"\n"}{end}'

Удаление Ключ-АСТРОМ Operator

После успешного удаления всех компонентов, управляемых Ключ-АСТРОМ Operator, вы можете безопасно удалить Ключ-АСТРОМ Operator.

1. Удаление Ключ-АСТРОМ Operator.

Helm Kubernetes Openshift
helm uninstall astromkey-operator -n astromkey
  • Если драйвер CSI не был установлен (вы использовали kubernetes.yaml при установке):
kubectl delete -f https://github.com/astromkey/astromkey-operator/releases/download/v1.7.2/kubernetes.yaml
  • Если был установлен драйвер CSI (вы использовали kubernetes-csi.yaml во время установки):
kubectl delete -f https://github.com/astromkey/astromkey-operator/releases/download/v1.7.2/kubernetes-csi.yaml
  • Если драйвер CSI не был установлен (вы использовали openshift.yaml при установке):
oc delete -f https://github.com/astromkey/astromkey-operator/releases/download/v1.7.2/openshift.yaml
  • Если был установлен драйвер CSI (вы использовали openshift-csi.yaml во время установки):
oc delete -f https://github.com/astromkey/astromkey-operator/releases/download/v1.7.2/openshift-csi.yaml

2. Удаление пространства имен.

Kubernetes OpenShift
kubectl delete namespace astromkey oc delete namespace astromkey