Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описываются советы по устранению распространенных проблем, связанных с расширениями кластера, такими как 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, чтобы получить полный список требований и рекомендаций.
Связанный контент
- Дополнительные сведения о расширениях кластера.
- Ознакомьтесь с общими советами по устранению неполадок кластеров Kubernetes с поддержкой Arc.