Обновление или удаление Ключ-АСТРОМ Operator
На этой странице представлены подробные инструкции по обновлению или удалению Ключ-АСТРОМ 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:
|
Для токена Ключ-АСТРОМ Operator:
| ||
Для токена Ключ-АСТРОМ Operator и Data Ingest:
|
Для токена Ключ-АСТРОМ Operator и Data Ingest:
|
Ключ-АСТРОМ Operator подхватывает обновлённые секреты примерно через пять минут. Удаление DynaKube и его повторное применение запускают мгновенную сверку.
Удалить старый токен доступа
После установки новых токенов удалите старые.
- В Ключ-АСТРОМ перейдите в раздел Токены доступа и найдите старый токен.
- Выберите Удалить.
Удаление Ключ-АСТРОМ Operator
В следующем руководстве описаны рекомендуемые шаги для чистого удаления Ключ-АСТРОМ Operator.
| Важно для пользователей CRI-O Runtime с classicFullStack
Если вы используете CRI-O в качестве среды выполнения контейнера вашего кластера с |
Удалить компоненты, управляемые Ключ-АСТРОМ 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 |
|
|
2. Удаление пространства имен.
| Kubernetes | OpenShift |
|---|---|
| kubectl delete namespace astromkey | oc delete namespace astromkey |