Integrace se službou Open Service Mesh ve službě Azure Kubernetes Service (AKS)
Doplněk Open Service Mesh (OSM) se integruje s funkcemi, které poskytuje Azure a některé opensourcové projekty.
Poznámka:
Při vyřazení open service mesh (OSM) od základu CLOUD Native Computing Foundation (CNCF) doporučujeme identifikovat konfigurace OSM a migrovat je na ekvivalentní konfiguraci Istio. Informace o migraci z OSM na Istio najdete v pokynech k migraci konfigurací Open Service Mesh (OSM) do Istio.
Důležité
Na integrace s open source projekty se nevztahují zásady podpory AKS.
Příchozí přenos dat
Příchozí přenos dat umožňuje směrovat provoz mimo síť do služeb v rámci sítě. S OSM můžete nakonfigurovat většinu řešení příchozího přenosu dat tak, aby fungovala se sítí, ale OSM funguje nejlépe s jedním z následujících řešení:
Poznámka:
V tuto chvíli funguje kontroler příchozího přenosu dat služby Azure Gateway (AGIC) jenom pro back-endy HTTP. Pokud nakonfigurujete osm pro použití AGIC, AGIC se nepoužije pro jiné back-endy, jako je HTTPS a mTLS.
Použití kontroleru příchozího přenosu dat služby Azure Gateway (AGIC) s doplňkem OSM pro příchozí přenos dat HTTP
Důležité
Pro příchozí přenos dat HTTPS nemůžete nakonfigurovat kontroler příchozího přenosu dat služby Azure Gateway (AGIC ).
Vytvoření oboru názvů a nasazení aplikační služby
Instalace kontroleru příchozího přenosu dat AGIC.
Pomocí příkazu vytvořte obor názvů pro aplikační službu
kubectl create ns
.kubectl create ns httpbin
Přidejte obor názvů do sítě pomocí
osm namespace add
příkazu OSM CLI.osm namespace add httpbin
Pomocí příkazu nasaďte aplikační službu do oboru názvů
kubectl apply
.export RELEASE_BRANCH=release-v1.2 kubectl apply -f https://raw.githubusercontent.com/openservicemesh/osm-docs/$RELEASE_BRANCH/manifests/samples/httpbin/httpbin.yaml -n httpbin
Pomocí příkazu ověřte, že jsou pody spuštěné a spuštěné, a pomocí příkazu vložil
kubectl get pods
envoy sidecar.kubectl get pods -n httpbin
Výstup by měl vypadat podobně jako v následujícím příkladu výstupu:
NAME READY STATUS RESTARTS AGE httpbin-7c6464475-9wrr8 2/2 Running 0 6d20h
Vypíše podrobnosti o službě
kubectl get svc
pomocí příkazu.kubectl get svc -n httpbin
Výstup by měl vypadat podobně jako v následujícím příkladu výstupu:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE httpbin ClusterIP 10.0.92.135 <none> 14001/TCP 6d20h
Nasaďte konfigurace příchozího přenosu dat a ověřte přístup k aplikační službě.
Nasaďte následující
Ingress
konfigurace aIngressBackend
povolte externím klientům přístuphttpbin
ke službě na portu14001
pomocíkubectl apply
příkazu.kubectl apply -f <<EOF apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: httpbin namespace: httpbin annotations: kubernetes.io/ingress.class: azure/application-gateway spec: rules: - http: paths: - path: / pathType: Prefix backend: service: name: httpbin port: number: 14001 --- kind: IngressBackend apiVersion: policy.openservicemesh.io/v1alpha1 metadata: name: httpbin namespace: httpbin spec: backends: - name: httpbin port: number: 14001 # targetPort of httpbin service protocol: http sources: - kind: IPRange name: 10.0.0.0/8 EOF
Pomocí příkazu ověřte, že
Ingress
se objekt úspěšně nasadilkubectl get ingress
, a poznamenejte si externí IP adresu.kubectl get ingress -n httpbin
Výstup by měl vypadat podobně jako v následujícím příkladu výstupu:
NAME CLASS HOSTS ADDRESS PORTS AGE httpbin <none> * 20.85.173.179 80 6d20h
Pomocí příkazu ověřte, že
IngressBackend
se objekt úspěšně nasadilkubectl get ingressbackend
.kubectl get ingressbackend -n httpbin
Výstup by měl vypadat podobně jako v následujícím příkladu výstupu:
NAME STATUS httpbin committed
Ověřte, že ke službě
httpbin
máte přístup pomocí externí IP adresy služby příchozího přenosu dat a následujícíhocurl
příkazu.curl -sI http://<external-ip>/get
Potvrďte, že obdržíte odpověď s
status 200
.
Pozorovatelnost metrik
Pozorovatelnost metrik umožňuje zobrazit metriky sítě a nasazení ve vaší síti. S OSM můžete použít Prometheus a Grafana pro pozorovatelnost metrik, ale tyto integrace nejsou pokryté zásadami podpory AKS.
Osm můžete integrovat také se službou Azure Monitor.
Před povolením metrik ve vaší síti pro integraci se službou Azure Monitor se ujistěte, že máte následující požadavky:
- Povolte Azure Monitor ve vašem clusteru.
- Povolte doplněk OSM pro cluster AKS.
- Onboarding oborů názvů aplikace do sítě.
Pomocí příkazu povolte metriky pro obor názvů v síti
osm metrics enable
.osm metrics enable --namespace myappnamespace
V oboru názvů vytvořte objekt ConfigMap
kube-system
, který umožňuje službě Azure Monitor monitorovat vaše obory názvů. Můžete například vytvořit s následujícím obsahemmonitor-configmap.yaml
, který bude monitorovatmyappnamespace
:kind: ConfigMap apiVersion: v1 data: schema-version: v1 config-version: ver1 osm-metric-collection-configuration: |- # OSM metric collection settings [osm_metric_collection_configuration] [osm_metric_collection_configuration.settings] # Namespaces to monitor monitor_namespaces = ["myappnamespace"] metadata: name: container-azm-ms-osmconfig namespace: kube-system
Použijte objekt ConfigMap pomocí
kubectl apply
příkazu.kubectl apply -f monitor-configmap.yaml
Přejděte na web Azure Portal a vyberte cluster AKS.
V části Monitorování vyberte Protokoly.
V části Monitorování zadejte dotaz na
InsightsMetrics
tabulku, aby se zobrazily metriky v povolených oborech názvů. Například následující dotaz zobrazí metriky volání pro výchozí obor názvů:InsightsMetrics | where Name contains "envoy" | extend t=parse_json(Tags) | where t.namespace == "default"
Nástroje pro automatizaci a vývojáře
OSM může integrovat s určitými automatizačními projekty a vývojářskými nástroji, které pomáhají operátorům a vývojářům vytvářet a vydávat aplikace. Osm se například integruje s Flaggerem pro progresivní doručování a Dapr pro vytváření aplikací. Integrace OSM s Flaggerem a Dapr nejsou pokryté zásadami podpory AKS.
Externí autorizace
Externí autorizace umožňuje přesměrovat autorizaci požadavků HTTP na externí službu. OSM může používat externí autorizaci integrací s open policy agentem (OPA), ale tato integrace se nevztahuje na zásady podpory AKS.
Správa certifikátů
OSM má několik typů certifikátů, které používá k provozu v clusteru AKS. OSM obsahuje vlastního správce certifikátů s názvem Tresor, který se ve výchozím nastavení používá. Osm také umožňuje integraci se službou Hashicorp Vault a cert-managerem, ale tyto integrace se nevztahují na zásady podpory AKS.
Další kroky
Tento článek se zabývá doplňky Open Service Mesh (OSM) s funkcemi, které poskytuje Azure a některé opensourcové projekty. Další informace o OSM najdete v tématu O OSM v AKS.
Azure Kubernetes Service