Поделиться через


Диагностика проблем с расширениями для кластеров Kubernetes с поддержкой Azure Arc

В этой статье описываются советы по устранению распространенных проблем, связанных с расширениями кластера, такими как GitOps (Flux версии 2) в Azure или Open Service Mesh (OSM).

Сведения об устранении неполадок с Kubernetes с поддержкой Azure Arc см. в статье "Устранение неполадок с Kubernetes с поддержкой Azure Arc".

GitOps (Flux версии 2)

Примечание.

Расширение Flux версии 2 можно использовать в кластере Kubernetes с поддержкой Azure Arc или в кластере Служба Azure Kubernetes (AKS). Эти советы обычно применяются ко всем типам кластеров.

Чтобы получить общие рекомендации по устранению неполадок в процессе использования ресурсов fluxConfigurations, выполните следующие команды Azure CLI с параметром --debug:

az provider show -n Microsoft.KubernetesConfiguration --debug
az k8s-configuration flux create <parameters> --debug

Ошибка настройки конфигурации чарта Helm

Возможно, появится сообщение об ошибке с надписью "Unable to render the Helm chart with the provided config settings and config protected settings : Recommendation Please check if the values provided to the config settings and the config protected settings are valid for this extension type : InnerError [template: azure-k8s-flux/templates/source-controller.yaml:100:24: executing "azure-k8s-flux/templates/source-controller.yaml" at <index (lookup "v1" "ConfigMap" "kube-system" "extension-manager-config").data "AZURE_TENANT_ID">: error calling index: index of untyped nil]".

Для разрешения этой проблемы:

  • Если вы используете microsoft.flux версию 1.15.1 или более раннюю версию, обновите ее до версии 1.15.2 или более поздней.
  • Если вы используете microsoft.flux версию 1.16.2 в регионах западная часть США, Центральная Франция, Южная Часть Великобритании или Западная Европа, выполните обновление до версии 1.16.3 или более поздней.

Ошибки пробного запуска веб-перехватчика

Flux может не выполниться и отобразить ошибку, аналогичную dry-run failed, error: admission webhook "<webhook>" does not support dry run. Чтобы устранить проблему, перейдите к разделу ValidatingWebhookConfiguration или MutatingWebhookConfiguration. В конфигурации задайте значение для sideEffectsNone или NoneOnDryRun.

Дополнительные сведения см. в разделе Как устранить ошибки «вебхук не поддерживает пробный запуск»?.

Ошибки при установке расширения microsoft.flux

Расширение microsoft.flux устанавливает контроллеры Flux и агенты Azure GitOps в кластере Kubernetes с поддержкой Azure Arc или кластере AKS. Если расширение еще не установлено в кластере и вы создаете ресурс конфигурации GitOps для кластера, расширение устанавливается автоматически.

Если во время установки возникает ошибка или расширение отображает состояние Failed, убедитесь, что в кластере нет политик, ограничивающих создание пространства имен flux-system или ресурсов в этом пространстве имен.

Для кластера AKS убедитесь, что флаг функции Microsoft.ContainerService/AKS-ExtensionManager включен в вашей подписке Azure.

az feature register --namespace Microsoft.ContainerService --name AKS-ExtensionManager

Затем выполните следующую команду, чтобы определить, существуют ли другие проблемы. Задайте параметр типа кластера (-t) connectedClusters для кластера с поддержкой Azure Arc или managedClusters для кластера AKS. Если расширение было установлено автоматически при создании конфигурации microsoft.flux GitOps, имя расширения — flux.

az k8s-extension show -g <RESOURCE_GROUP> -c <CLUSTER_NAME> -n flux -t <connectedClusters or managedClusters>

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

  • Удалите расширение принудительно, выполнив az k8s-extension delete --force -g <RESOURCE_GROUP> -c <CLUSTER_NAME> -n flux -t <managedClusters OR connectedClusters>.
  • Удалите релиз Helm, выполнив команду helm uninstall flux -n flux-system.
  • Удалите пространство имен flux-system из кластера, выполнив команду kubectl delete namespaces flux-system.

Затем можно создать новую конфигурацию Flux, которая автоматически устанавливает microsoft.flux расширение или установить расширение Flux вручную.

Ошибки при установке расширения microsoft.flux в кластере с управляемым удостоверением Microsoft Entra pod

Если вы пытаетесь установить расширение Flux в кластере с управляемой pod-идентичностью Microsoft Entra, в pod может возникнуть ошибка extension-agent. Выходные данные выглядят примерно так:

{"Message":"2021/12/02 10:24:56 Error: in getting auth header : error {adal: Refresh request failed. Status Code = '404'. Response body: no azure identity found for request clientID <REDACTED>\n}","LogType":"ConfigAgentTrace","LogLevel":"Information","Environment":"prod","Role":"ClusterConfigAgent","Location":"westeurope","ArmId":"/subscriptions/<REDACTED>/resourceGroups/<REDACTED>/providers/Microsoft.Kubernetes/managedclusters/<REDACTED>","CorrelationId":"","AgentName":"FluxConfigAgent","AgentVersion":"0.4.2","AgentTimestamp":"2021/12/02 10:24:56"}

Состояние расширения возвращается следующим образом Failed:

"{\"status\":\"Failed\",\"error\":{\"code\":\"ResourceOperationFailure\",\"message\":\"The resource operation completed with terminal provisioning state 'Failed'.\",\"details\":[{\"code\":\"ExtensionCreationFailed\",\"message\":\" error: Unable to get the status from the local CRD with the error : {Error : Retry for given duration didn't get any results with err {status not populated}}\"}]}}",

В этом случае extension-agent pod пытается получить свой токен из службы метаданных экземпляра Azure в кластере, но запрос токена перехватывается удостоверением pod. Чтобы устранить эту проблему, расширения.

Требования к ресурсам памяти и ЦП для установки расширения microsoft.flux

Контроллеры, установленные в кластере Kubernetes при установке расширения microsoft.flux, должны иметь достаточно ресурсов процессора и памяти для корректного размещения на узле кластера Kubernetes. Убедитесь, что кластер соответствует минимальным требованиям к памяти и ресурсам ЦП.

В следующей таблице перечислены минимальные и максимальные ограничения для потенциальных требований к ресурсам ЦП и памяти для этого сценария:

Имя контейнера Минимальный ЦП Минимальный объем памяти Максимальное количество ЦП Максимальный объем памяти
fluxconfig-agent 5 м 30 миль 50 м 150 Mi
fluxconfig-controller 5 м 30 миль 100 м 150 Mi
fluent-bit 5 м 30 миль 20 м 150 Mi
helm-controller 100 м 64 МиБ 1000 м 1 Ги
source-controller 50 м 64 МиБ 1000 м 1 Ги
kustomize-controller 100 м 64 МиБ 1000 м 1 Ги
notification-controller 100 м 64 МиБ 1000 м 1 Ги
image-automation-controller 100 м 64 МиБ 1000 м 1 Ги
image-reflector-controller 100 м 64 МиБ 1000 м 1 Ги

Если вы включили пользовательскую или встроенную политику Azure Policy Gatekeeper, которая ограничивает ресурсы для контейнеров в кластерах Kubernetes, убедитесь, что ресурсные ограничения политики больше, чем ограничения, указанные в предыдущей таблице, или flux-system пространство имен является частью excludedNamespaces параметра в назначении политики. Примером политики в этом сценарии является Kubernetes cluster containers CPU and memory resource limits should not exceed the specified limits.

Аналитика контейнеров Azure Monitor

В этом разделе приводятся сведения об устранении неполадок с аналитикой контейнеров в Azure Monitor для кластеров Kubernetes с поддержкой Azure Arc.

Включение привилегированного режима для канонического Charmed кластера Kubernetes

Azure Monitor Container Insights требует работы Kubernetes DaemonSet в привилегированном режиме. Чтобы успешно настроить мониторинг для кластера Canonical Charmed Kubernetes, выполните следующую команду:

juju config kubernetes-worker allow-privileged=true

Не удается установить поды AMA в Oracle Linux 9.x

Если вы попытаетесь установить агент Azure Monitor (AMA) в кластере Kubernetes на Oracle Linux (Red Hat Enterprise Linux (RHEL)) 9.x, pod'ы AMA и AMA-RS могут работать неправильно из-за addon-token-adapter контейнера в pod'е. При проверке журналов ama-logs-rs pod в addon-token-adapter container вы увидите выходные данные, аналогичные следующему примеру:

Command: kubectl -n kube-system logs ama-logs-rs-xxxxxxxxxx-xxxxx -c addon-token-adapter
 
Error displayed: error modifying iptable rules: error adding rules to custom chain: running [/sbin/iptables -t nat -N aad-metadata --wait]: exit status 3: modprobe: can't change directory to '/lib/modules': No such file or directory

iptables v1.8.9 (legacy): can't initialize iptables table `nat': Table does not exist (do you need to insmod?)

Perhaps iptables or your kernel needs to be upgraded.

Эта ошибка возникает, так как для установки расширения требуется iptable_nat модуль, но этот модуль не загружается автоматически в дистрибутивы Oracle Linux (RHEL) 9.x.

Чтобы устранить эту проблему, необходимо явно загрузить iptables_nat модуль на каждом узле в кластере. modprobe Используйте командуsudo modprobe iptables_nat. Войдите на каждую систему и вручную добавьте модуль iptable_nat, затем заново повторите установку AMA.

Примечание.

Выполнение этого шага не делает iptables_nat модуль постоянным.

Open Service Mesh с поддержкой Azure Arc

В этом разделе показаны команды, которые можно использовать для проверки и устранения неполадок при развертывании компонентов расширения Open Service Mesh (OSM) в кластере.

Предупреждение

Корпорация Майкрософт объявила о выходе из эксплуатации надстройки Open Service Mesh (OSM) для AKS 30 сентября 2027 года. Cloud Native Computing Foundation (CNCF) также прекратил исходный проект OSM.

Проверка развертывания контроллера OSM

kubectl get deployment -n arc-osm-system --selector app=osm-controller

Если контроллер OSM работоспособен, вы увидите следующие выходные данные:

NAME             READY   UP-TO-DATE   AVAILABLE   AGE
osm-controller   1/1     1            1           59m

Проверка модулей pod контроллера OSM

kubectl get pods -n arc-osm-system --selector app=osm-controller

Если контроллер OSM работоспособен, выходные данные, похожие на следующий пример, отображаются:

NAME                            READY   STATUS    RESTARTS   AGE
osm-controller-b5bd66db-wglzl   0/1     Evicted   0          61m
osm-controller-b5bd66db-wvl9w   1/1     Running   0          31m

Несмотря на то, что один контроллер имеет состояние в одной точке, другой контроллер имеет Evicted состояние READY1/1 и Running с 0 перезапусками. READY Если состояние отличается от 1/1состояния, сетка службы находится в неисправном состоянии. Если READY это 0/1так, контейнер плоскости управления завершается сбоем.

Используйте следующую команду для проверки журналов контроллера:

kubectl logs -n arc-osm-system -l app=osm-controller

READY Если состояние больше, чем 1 после боковой косой черты (/), устанавливаются боковики. Контроллер OSM обычно работает некорректно при присоединении сайдкаров.

Проверка службы контроллера OSM

Чтобы проверить службу контроллера OSM, выполните следующую команду:

kubectl get service -n arc-osm-system osm-controller

Если контроллер OSM работоспособен, выходные данные, похожие на следующий пример, отображаются:

NAME             TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)              AGE
osm-controller   ClusterIP   10.0.31.254   <none>        15128/TCP,9092/TCP   67m

Примечание.

Фактическое значение для CLUSTER-IP будет отличаться от приведенного в этом примере. Значения для NAME и PORT(S) должны соответствовать значениям, показанным в этом примере.

Проверка конечных точек контроллера OSM

kubectl get endpoints -n arc-osm-system osm-controller

Если контроллер OSM работоспособен, выходные данные, похожие на следующий пример, отображаются:

NAME             ENDPOINTS                              AGE
osm-controller   10.240.1.115:9092,10.240.1.115:15128   69m

Если в кластере нет ENDPOINTS, которым присвоено значение osm-controller, то плоскость управления недоступна. Это неработоспособное состояние означает, что модуль pod контроллера произошел сбой или что он никогда не был развернут правильно.

Проверка развертывания инжектора OSM

kubectl get deployments -n arc-osm-system osm-injector

Если инектор OSM работоспособен, выходные данные, похожие на следующий пример, отображаются:

NAME           READY   UP-TO-DATE   AVAILABLE   AGE
osm-injector   1/1     1            1           73m

Проверьте капсулу внедрения OSM

kubectl get pod -n arc-osm-system --selector app=osm-injector

Если инектор OSM работоспособен, выходные данные, похожие на следующий пример, отображаются:

NAME                            READY   STATUS    RESTARTS   AGE
osm-injector-5986c57765-vlsdk   1/1     Running   0          73m

Состояние READY должно быть 1/1. Любое другое значение указывает на неработоспособный модуль инжектора OSM.

Проверьте службу инжектора OSM

kubectl get service -n arc-osm-system osm-injector

Если инектор OSM работоспособен, выходные данные, похожие на следующий пример, отображаются:

NAME           TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)    AGE
osm-injector   ClusterIP   10.0.39.54   <none>        9090/TCP   75m

Убедитесь, что IP-адрес, указанный для службы osm-injector, соответствует 9090. Значение для EXTERNAL-IP не должно быть указано.

Проверка конечных точек инектора OSM

kubectl get endpoints -n arc-osm-system osm-injector

Если инектор OSM работоспособен, выходные данные, похожие на следующий пример, отображаются:

NAME           ENDPOINTS           AGE
osm-injector   10.240.1.172:9090   75m

Чтобы OSM работал нормально, требуется хотя бы одна конечная точка для osm-injector. IP-адрес конечных точек внедрения OSM может варьироваться, но значение порта 9090 должно оставаться неизменным.

Проверка веб-хуков: проверка и изменение

Проверьте валидность веб-перехватчика, выполнив следующую команду:

kubectl get ValidatingWebhookConfiguration --selector app=osm-controller

Если Проверяющий веб-перехватчик работоспособен, отображаются выходные данные, похожие на следующий пример:

NAME                     WEBHOOKS   AGE
osm-validator-mesh-osm   1          81m

Проверьте мутирующий веб-перехватчик, выполнив следующую команду:

kubectl get MutatingWebhookConfiguration --selector app=osm-injector

Если веб-перехватчик Mutating работоспособен, появляются результаты, похожие на следующий пример:

NAME                  WEBHOOKS   AGE
arc-osm-webhook-osm   1          102m

Проверьте службу и пакет центра сертификации (пакет ЦС) проверяющего веб-перехватчика с помощью следующей команды:

kubectl get ValidatingWebhookConfiguration osm-validator-mesh-osm -o json | jq '.webhooks[0].clientConfig.service'

Хорошо настроенный веб-перехватчик Validating имеет выходные данные, как в этом примере:

{
  "name": "osm-config-validator",
  "namespace": "arc-osm-system",
  "path": "/validate",
  "port": 9093
}

Проверьте наличие службы и пакета ЦС для мутирующего веб-перехватчика с помощью следующей команды:

kubectl get MutatingWebhookConfiguration arc-osm-webhook-osm -o json | jq '.webhooks[0].clientConfig.service'

Хорошо настроенный мутационный веб-хук выдаёт результат, аналогичный этому примеру:

{
  "name": "osm-injector",
  "namespace": "arc-osm-system",
  "path": "/mutate-pod-creation",
  "port": 9090
}

Проверьте, предоставил ли контроллер OSM пакету сертификатов удостоверяющего центра валидирующий (или мутирующий) веб-перехватчик с помощью следующей команды:

kubectl get ValidatingWebhookConfiguration osm-validator-mesh-osm -o json | jq -r '.webhooks[0].clientConfig.caBundle' | wc -c
kubectl get MutatingWebhookConfiguration arc-osm-webhook-osm -o json | jq -r '.webhooks[0].clientConfig.caBundle' | wc -c

Пример результата:

1845

Число в выходных данных указывает количество байтов или размер пакета сертификатов удостоверяющего центра. Если выходные данные пусты, 0 или число менее 1000, пакет ЦС не подготовлен правильно. Без правильного пакета удостоверяющего центра (ЦС) ValidatingWebhook выдает ошибку.

Проверьте ресурс osm-mesh-config

Проверьте наличие ресурса:

kubectl get meshconfig osm-mesh-config -n arc-osm-system

Проверьте значение параметра OSM meshconfig :

kubectl get meshconfig osm-mesh-config -n arc-osm-system -o yaml

Найдите выходные данные, похожие на этот пример:

apiVersion: config.openservicemesh.io/v1alpha1
kind: MeshConfig
metadata:
  creationTimestamp: "0000-00-00A00:00:00A"
  generation: 1
  name: osm-mesh-config
  namespace: arc-osm-system
  resourceVersion: "2494"
  uid: 6c4d67f3-c241-4aeb-bf4f-b029b08faa31
spec:
  certificate:
    certKeyBitSize: 2048
    serviceCertValidityDuration: 24h
  featureFlags:
    enableAsyncProxyServiceMapping: false
    enableEgressPolicy: true
    enableEnvoyActiveHealthChecks: false
    enableIngressBackendPolicy: true
    enableMulticlusterMode: false
    enableRetryPolicy: false
    enableSnapshotCacheMode: false
    enableWASMStats: true
  observability:
    enableDebugServer: false
    osmLogLevel: info
    tracing:
      enable: false
  sidecar:
    configResyncInterval: 0s
    enablePrivilegedInitContainer: false
    logLevel: error
    resources: {}
  traffic:
    enableEgress: false
    enablePermissiveTrafficPolicyMode: true
    inboundExternalAuthorization:
      enable: false
      failureModeAllow: false
      statPrefix: inboundExtAuthz
      timeout: 1s
    inboundPortExclusionList: []
    outboundIPRangeExclusionList: []
    outboundPortExclusionList: []
kind: List
metadata:
  resourceVersion: ""
  selfLink: ""

В следующей таблице перечислены osm-mesh-config значения ресурсов:

Ключ Тип Значение по умолчанию Примеры команд исправлений Kubectl
spec.traffic.enableEgress булевая переменная (bool) false kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"enableEgress":false}}}' --type=merge
spec.traffic.enablePermissiveTrafficPolicyMode булевая переменная (bool) true kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"enablePermissiveTrafficPolicyMode":true}}}' --type=merge
spec.traffic.outboundPortExclusionList массив [] kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"outboundPortExclusionList":[6379,8080]}}}' --type=merge
spec.traffic.outboundIPRangeExclusionList массив [] kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"outboundIPRangeExclusionList":["10.0.0.0/32","1.1.1.1/24"]}}}' --type=merge
spec.traffic.inboundPortExclusionList массив [] kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"traffic":{"inboundPortExclusionList":[6379,8080]}}}' --type=merge
spec.certificate.serviceCertValidityDuration строка "24h" kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"certificate":{"serviceCertValidityDuration":"24h"}}}' --type=merge
spec.observability.enableDebugServer булевая переменная (bool) false kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"observability":{"enableDebugServer":false}}}' --type=merge
spec.observability.osmLogLevel строка "info" kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"observability":{"tracing":{"osmLogLevel": "info"}}}}' --type=merge
spec.observability.tracing.enable булевая переменная (bool) false kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"observability":{"tracing":{"enable":true}}}}' --type=merge
spec.sidecar.enablePrivilegedInitContainer булевая переменная (bool) false kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"sidecar":{"enablePrivilegedInitContainer":true}}}' --type=merge
spec.sidecar.logLevel строка "error" kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"sidecar":{"logLevel":"error"}}}' --type=merge
spec.featureFlags.enableWASMStats булевая переменная (bool) "true" kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"featureFlags":{"enableWASMStats":"true"}}}' --type=merge
spec.featureFlags.enableEgressPolicy булевая переменная (bool) "true" kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"featureFlags":{"enableEgressPolicy":"true"}}}' --type=merge
spec.featureFlags.enableMulticlusterMode булевая переменная (bool) "false" kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"featureFlags":{"enableMulticlusterMode":"false"}}}' --type=merge
spec.featureFlags.enableSnapshotCacheMode булевая переменная (bool) "false" kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"featureFlags":{"enableSnapshotCacheMode":"false"}}}' --type=merge
spec.featureFlags.enableAsyncProxyServiceMapping булевая переменная (bool) "false" kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"featureFlags":{"enableAsyncProxyServiceMapping":"false"}}}' --type=merge
spec.featureFlags.enableIngressBackendPolicy булевая переменная (bool) "true" kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"featureFlags":{"enableIngressBackendPolicy":"true"}}}' --type=merge
spec.featureFlags.enableEnvoyActiveHealthChecks булевая переменная (bool) "false" kubectl patch meshconfig osm-mesh-config -n arc-osm-system -p '{"spec":{"featureFlags":{"enableEnvoyActiveHealthChecks":"false"}}}' --type=merge

Проверка пространств имен

Примечание.

Пространство arc-osm-system имен никогда не участвует в сетке службы и никогда не помечено или не помечено парами "ключ-значение", показанными здесь.

Вы можете использовать osm namespace add команду для присоединения пространств имен к определенной сетке служб. Когда пространство имен Kubernetes входит в сетку, выполните следующие действия, чтобы убедиться, что выполнены требования.

Просмотрите заметки bookbuyer пространства имен:

kubectl get namespace bookbuyer -o json | jq '.metadata.annotations'

Должны присутствовать следующие заметки:

{
  "openservicemesh.io/sidecar-injection": "enabled"
}

Просмотрите метки bookbuyer пространства имен:

kubectl get namespace bookbuyer -o json | jq '.metadata.labels'

Должны присутствовать следующие метки:

{
  "openservicemesh.io/monitored-by": "osm"
}

Если вы не используете интерфейс командной строки osm, вы можете вручную добавить эти аннотации в ваши пространства имен. Если пространство имен не аннотировано с "openservicemesh.io/sidecar-injection": "enabled", или если оно не помечено "openservicemesh.io/monitored-by": "osm", средство внедрения OSM не добавляет сайдкары Envoy.

Примечание.

После вызова osm namespace add, только новые Pod'ы интегрируются со sidecar Envoy. Существующие pod необходимо перезапустить с помощью команды kubectl rollout restart deployment.

Проверка идентификаторов SMI

Для интерфейса сетки службы OSM (SMI) проверьте наличие необходимых пользовательских определений ресурсов (CRD):

kubectl get crds

Убедитесь, что CRD соответствуют версиям, доступным в ветви выпуска. Чтобы убедиться, какие версии CRD используются, ознакомьтесь с поддерживаемыми версиями SMI и выберите свою версию в меню "Выпуски".

Получите версии установленных CRD, воспользовавшись следующей командой:

for x in $(kubectl get crds --no-headers | awk '{print $1}' | grep 'smi-spec.io'); do
    kubectl get crd $x -o json | jq -r '(.metadata.name, "----" , .spec.versions[].name, "\n")'
done

Если определений настраиваемых ресурсов (CRD) отсутствуют, используйте следующие команды для их установки в кластере. Замените версию в этих командах по мере необходимости (например, вместо версии 1.1.0 можно использовать release-v1.1).

kubectl apply -f https://raw.githubusercontent.com/openservicemesh/osm/release-v1.0/cmd/osm-bootstrap/crds/smi_http_route_group.yaml

kubectl apply -f https://raw.githubusercontent.com/openservicemesh/osm/release-v1.0/cmd/osm-bootstrap/crds/smi_tcp_route.yaml

kubectl apply -f https://raw.githubusercontent.com/openservicemesh/osm/release-v1.0/cmd/osm-bootstrap/crds/smi_traffic_access.yaml

kubectl apply -f https://raw.githubusercontent.com/openservicemesh/osm/release-v1.0/cmd/osm-bootstrap/crds/smi_traffic_split.yaml

Сведения о том, как изменяются версии CRD между выпусками, см. в заметках о выпуске OSM.

Устранение неполадок управления сертификатами

Сведения о выпуске и управлении сертификатами для прокси-серверов Envoy, работающих в модулях приложений pod, см. в документации OSM.

Обновите Envoy

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

Диспетчер флота Azure Kubernetes

В зависимости от среды и конфигурации некоторые ограничения могут применяться при подключении кластера Kubernetes с поддержкой Arc к концентратору Диспетчера флота Azure Kubernetes. Ознакомьтесь с важными рекомендациями Диспетчера флота Azure Kubernetes для членов кластера Kubernetes с поддержкой Arc, чтобы получить полный список требований и рекомендаций.