Nova Service Mesh. Установка модуля
1. Предварительные условия
Для установки модуля Service Mesh в Nova Container Platform должны быть выполнены следующие условия:
-
Nova Container Platform должна быть версии v6.2.0, v7.1.0 и выше.
-
Перед установкой убедитесь, что в кластере Kubernetes имеются необходимые вычислительные ресурсы для компонентов Service Mesh. Размещение возможно на существующих infra и worker узлах или на отдельно подготовленных узлах. Системные требования для модуля приведены в статье Подготовка вычислительных ресурсов.
-
У вас есть доступ к кластеру с учетной записью, имеющей роль
cluster-adminв Kubernetes. -
Вы установили утилиту
kubectlдля работы с Kubernetes. -
Установлены labels и annotations на worker узлы, на которых планируется установка компонента Istio Ingress Controller:
labels: node-role.kubernetes.io/istio-ingressgateway: '' node.nova-platform.io/ingress-endpoint: '' (1) annotation: ingress-endpoint.nova-platform.io/type: 'istio-ingressgateway' ingress-endpoint.nova-platform.io/backend-https-port: '8443' ingress-endpoint.nova-platform.io/backend-http-port: '8080'1 Если указан node.nova-platform.io/ingress-endpoint, то узел является точкой входа трафика в кластер
2. Установка модуля Nova Service Mesh
-
Для установки модуля Nova Service Mesh в Nova Container Platform используйте один из представленных далее манифестов:
Установка в высокодоступной конфигурации
apiVersion: apps.nova-platform.io/v1alpha1 kind: ServiceMesh metadata: name: cluster spec: cert-manager-istio-csr: istiod-cert-duration: 120h (1) istiod-cert-key-size: 4096 (2) istiod-cert-renew-before: 40h (3) log-level: 5 (4) max-client-certificate-duration: 120h (5) replicas: 3 (6) serving-certificate-key-size: 4096 (7) grafana: replicas: 1 (6) istiod: enableEnvoyLogs: true (8) gatewaySelector: (9) node-role.kubernetes.io/istio-ingressgateway: '' policy: mtlsMode: PERMISSIVE (10) replicas: 3 (6) jaeger: replicas: 3 (6) kiali: replicas: 3 (6) prometheus: globalview: true (11) replicas: 3 (6)Установка в минимальной конфигурации
apiVersion: apps.nova-platform.io/v1alpha1 kind: ServiceMesh metadata: name: cluster spec: cert-manager-istio-csr: istiod-cert-duration: 120h istiod-cert-key-size: 4096 istiod-cert-renew-before: 40h log-level: 5 max-client-certificate-duration: 120h replicas: 1 serving-certificate-key-size: 4096 grafana: replicas: 1 istiod: enableEnvoyLogs: true gatewaySelector: node-role.kubernetes.io/istio-ingressgateway: '' policy: mtlsMode: STRICT replicas: 1 jaeger: replicas: 1 kiali: replicas: 1 prometheus: globalview: false replicas: 1 -
Установите модуль через kubectl или Nova Console, используя один из представленных выше манифестов.
Установка с помощью kubectl
-
Сохраните один из представленных выше манифестов в файл, например,
NovaServiceMesh.yaml. -
Установите манифест в кластер Kubernetes, выполнив команду:
kubectl apply -f NovaServiceMesh.yaml -
Проверьте состояние запущенных компонентов Nova Service Mesh, выполнив команду:
kubectl get pods -n nova-service-mesh -
Проверьте состояние запущенных компонентов Nova Service Mesh, выполнив команду:
kubectl get pods -n nova-tracing -
Проверьте статус установки ресурса
kubectl get servicemeshes.apps.nova-platform.io
Установка с помощью Nova Console
-
Скопируйте один из представленных выше манифестов в буфер обмена.
-
Выполните вход в Nova Console.
-
Используйте опцию импорта нового объекта и вставьте в форму ранее скопированный манифест.
-
Перейдите в раздел Workloads Pods и выберите Namespace
nova-service-meshиnova-tracing. Проверьте состояние запущенных компонентов Nova Service Mesh. -
Перейдите в раздел Administration CustomResourceDefinitions и выберите CRD Service Mesh. Проверить статус установки ресурса.
-