Установка надстройки Open Service Mesh (OSM) с помощью Azure CLI
В этой статье показано, как установить надстройку Open Service Mesh (OSM) в кластере Служба Azure Kubernetes (AKS). Надстройка OSM устанавливает сетку OSM в кластере. Сетка OSM — это сетка служб, которая обеспечивает управление трафиком, применение политик и сбор данных телеметрии для приложений. Дополнительные сведения о сетке OSM см. в разделе "Open Service Mesh".
Примечание.
При выходе из системы Open Service Mesh (OSM) в Cloud Native Computing Foundation (CNCF) рекомендуется определить конфигурации OSM и перенести их в эквивалентную конфигурацию Istio. Сведения о миграции из OSM в Istio см . в руководстве по миграции конфигураций Open Service Mesh (OSM) в Istio.
Внимание
В зависимости от версии Kubernetes, запущенной в кластере, надстройка OSM устанавливает другую версию OSM.
Версия Kubernetes | Установленная версия OSM |
---|---|
1.24.0 или более поздней версии | 1.2.5 |
От 1.23.5 до 1.24.0 | 1.1.3 |
Ниже 1.23.5 | 1.0.0 |
Более старые версии OSM могут быть недоступны для установки или активно поддерживаться, если соответствующая версия AKS достигла конца срока действия. Вы можете проверить календарь выпуска AKS Kubernetes для получения сведений о окнах поддержки версий AKS.
Необходимые компоненты
- Подписка Azure. Если у вас еще нет подписки Azure, вы можете создать бесплатную учетную запись.
- Установленный Azure CLI.
Установка надстройки OSM в кластере
Если у вас еще нет, создайте группу ресурсов Azure с помощью
az group create
команды.az group create --name myResourceGroup --location eastus
Создайте новый кластер AKS с надстройкой OSM, установленной с помощью
az aks create
команды, и укажитеopen-service-mesh
для--enable-addons
параметра.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --enable-addons open-service-mesh \ --generate-ssh-keys
Внимание
Включить надстройку OSM в существующем кластере нельзя, если в этом кластере уже есть сетка OSM. Прежде чем включать надстройку OSM, удалите все существующие сетки OSM в кластере.
При установке в существующих кластерах используйте az aks enable-addons
команду. Пример кода приведен ниже.
az aks enable-addons \
--resource-group myResourceGroup \
--name myAKSCluster \
--addons open-service-mesh
Получение учетных данных для кластера
Получите учетные данные для кластера AKS с помощью
az aks get-credentials
команды.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Проверка установки надстройки OSM в кластере
Убедитесь, что надстройка OSM установлена в кластере
az aks show
с помощью команды и укажите'addonProfiles.openServiceMesh.enabled'
для--query
параметра. В выходных данныхaddonProfiles
под значением должно отображаться значениеtrue
openServiceMesh
.enabled
az aks show --resource-group myResourceGroup --name myAKSCluster --query 'addonProfiles.openServiceMesh.enabled'
Проверка работы сетки OSM в кластере
Проверьте версию, состояние и конфигурацию сетки OSM, работающей в кластере
kubectl get deployment
, с помощью команды и отображение версии образа развертывания osm-controller .kubectl get deployment -n kube-system osm-controller -o=jsonpath='{$.spec.template.spec.containers[:1].image}'
В следующем примере выходных данных показана версия 0.11.1 сетки OSM:
mcr.microsoft.com/oss/openservicemesh/osm-controller:v0.11.1
Проверьте состояние компонентов OSM, работающих в кластере, с помощью следующих
kubectl
команд, чтобы показать состояниеapp.kubernetes.io/name=openservicemesh.io
развертываний, модулей pod и служб.kubectl get deployments -n kube-system --selector app.kubernetes.io/name=openservicemesh.io kubectl get pods -n kube-system --selector app.kubernetes.io/name=openservicemesh.io kubectl get services -n kube-system --selector app.kubernetes.io/name=openservicemesh.io
Внимание
Если состояние каких-либо модулей pod отличается от
Running
(например, равноPending
), в кластере может быть недостаточно ресурсов для запуска OSM. Прежде чем продолжать использовать OSM в кластере, проверьте размер кластера, например число узлов и номер SKU виртуальной машины.Проверьте конфигурацию сетки OSM с помощью
kubectl get meshconfig
команды.kubectl get meshconfig osm-mesh-config -n kube-system -o yaml
В следующем примере выходных данных показана конфигурация сетки OSM:
apiVersion: config.openservicemesh.io/v1alpha1 kind: MeshConfig metadata: creationTimestamp: "0000-00-00A00:00:00A" generation: 1 name: osm-mesh-config namespace: kube-system resourceVersion: "2494" uid: 6c4d67f3-c241-4aeb-bf4f-b029b08faa31 spec: certificate: serviceCertValidityDuration: 24h featureFlags: enableEgressPolicy: true enableMulticlusterMode: false enableWASMStats: true observability: enableDebugServer: true osmLogLevel: info tracing: address: jaeger.osm-system.svc.cluster.local enable: false endpoint: /api/v2/spans port: 9411 sidecar: configResyncInterval: 0s enablePrivilegedInitContainer: false envoyImage: mcr.microsoft.com/oss/envoyproxy/envoy:v1.18.3 initContainerImage: mcr.microsoft.com/oss/openservicemesh/init:v0.9.1 logLevel: error maxDataPlaneConnections: 0 resources: {} traffic: enableEgress: true enablePermissiveTrafficPolicyMode: true inboundExternalAuthorization: enable: false failureModeAllow: false statPrefix: inboundExtAuthz timeout: 1s useHTTPSIngress: false
В примере показаны
enablePermissiveTrafficPolicyMode: true
выходные данные, что означает, что OSM включен режим политики трафика. Когда в сетке OSM включен этот режим:- Выполняется обход принудительного применения политики трафика SMI.
- OSM автоматически обнаруживает службы, которые являются частью сетки служб.
- OSM создает правила политики трафика для каждого расширения прокси-сервера Envoy для взаимодействия с этими службами.
Удаление кластера
Если кластер больше не нужен, его можно удалить с помощью
az group delete
команды, которая удаляет группу ресурсов, кластер и все связанные ресурсы.az group delete --name myResourceGroup --yes --no-wait
Примечание.
Кроме того, можно удалить надстройку OSM и связанные с ней ресурсы из кластера. Дополнительные сведения см. в разделе Удаление надстройки Open Service Mesh из кластера AKS.
Следующие шаги
В этой статье показано, как установить надстройку OSM в кластере AKS и проверить ее установку и запуск. После установки надстройки OSM в кластере можно развернуть пример приложения или подключить существующее приложение для работы с сеткой OSM.
Azure Kubernetes Service