Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Kubernetes natives Sidecar soll eine robustere und benutzerfreundlichere Möglichkeit bieten, Sidecar-Muster in Kubernetes-Anwendungen zu integrieren, um Effizienz, Zuverlässigkeit und Einfachheit zu verbessern.
Natives Sidecar ist eine gute Passform für Istio. Es bietet mehrere Vorteile, z. B. vereinfachtes Sidecar-Management. Darüber hinaus verbessert es Zuverlässigkeit und Koordination. Außerdem werden Ressourcen optimiert und die betriebliche Effizienz verbessert.
Ab Kubernetes Version 1.29 ist das Feature Sidecar-Container für AKS aktiviert. Mit dieser Änderung kann der Istio-native Sidecar-Modus mit dem Istio-Add-On für AKS verwendet werden.
In diesem Artikel wird beschrieben, wie Sie den nativen Sidecar-Modus für Istio-basierte Dienstgitter auf AKS aktivieren.
Voraussetzungen
Registrieren Sie die
IstioNativeSidecarModePreview
-Featurekennzeichnung über az Featureregister.az feature register --namespace Microsoft.ContainerService --name IstioNativeSidecarModePreview
Überprüfen Sie den Registrierungsstatus über az feature show.
az feature show --namespace Microsoft.ContainerService --name IstioNativeSidecarModePreview
Es dauert ein paar Minuten, bis der Status
Registered
angezeigt wird.Wenn der Status „Registriert“ widerspiegelt, aktualisieren Sie die Registrierung des
Microsoft.ContainerService
-Ressourcenanbieters über az provider register.az provider register --namespace Microsoft.ContainerService
Auf einem vorhandenen Cluster
Überprüfen von Versionen
Überprüfen Sie, mit az aks show ob die Kubernetes-Steuerebenenversion des AKS-Clusters 1.29 oder höher ist.
az aks show --resource-group $RESOURCE_GROUP --name $CLUSTER -o json | jq ".kubernetesVersion"
Wenn die Steuerebene zu alt ist, aktualisieren Sie Kubernetes Steuerebene.
Stellen Sie sicher, dass Knotenpools
1.29
oder neuere Version ausführen und der Energiezustand ausgeführt wird.az aks show --resource-group $RESOURCE_GROUP --name $CLUSTER -o json | jq ".agentPoolProfiles[] | { currentOrchestratorVersion, powerState}"
Achtung
Der native Sidecar-Modus erfordert sowohl Kubernetes Steuerebene als auch die Datenebene auf 1.29+. Stellen Sie sicher, dass alle Knoten auf 1.29 aktualisiert wurden, bevor Sie den nativen Sidecar-Modus aktivieren. Andernfalls funktionieren Sidecars nicht wie erwartet.
Wenn eine Knotenpoolversion zu alt ist, verwenden Sie upgrade-node-image, um auf
1.29
oder eine neuere Version zu aktualisieren.Stellen Sie sicher, dass das Istio-Add-On auf
asm-1-20
oder neuere Überarbeitung aktiviert ist.az aks show --resource-group $RESOURCE_GROUP --name $CLUSTER -o json | jq ".serviceMeshProfile.istio.revisions"
Wenn
istiod
zu alt ist, führen Sie ein Upgrade aufasm-1-20
oder neuer aus, indem Sie die Schritte in Istio-Upgrade ausführen.
Überprüfen des systemeigenen Sidecar-Featurestatus auf der Istio-Steuerebene
AKS-Cluster muss mit dem Befehl az aks update in Einklang gebracht werden.
az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER
Wenn der native Sidecar-Modus aktiviert ist, wird die Umgebungsvariable ENABLE_NATIVE_SIDECARS
mit dem Wert true
in der Podvorlage für die Steuerebene von Istio angezeigt. Verwenden Sie den folgenden Befehl, um die Bereitstellung istiod
zu überprüfen.
kubectl get deployment -l app=istiod -n aks-istio-system -o json | jq '.items[].spec.template.spec.containers[].env[] | select(.name=="ENABLE_NATIVE_SIDECARS")'
Workloads neu starten
Sobald die Istio-Steuerungsebene fertig ist, führen Sie einen rollierenden Neustart von Workloads durch, damit istiod
native Sidecars eingefügt werden können.
for ns in $(kubectl get ns -l istio.io/rev -o=jsonpath='{.items[0].metadata.name}'); do
kubectl rollout restart deployments -n $ns
done
Für Bereitstellungen mit istio Sidecars, die mit istioctl kube-inject injiziert werden, müssen Sie Sidecars reinwerfen.
Sidecar-Injektion prüfen
Wenn der systemeigene Seitenmodus erfolgreich aktiviert ist, wird der istio-proxy
-Container als Init-Container angezeigt. Verwenden Sie den folgenden Befehl, um die Sidecar-Injektion zu überprüfen:
kubectl get pods -o "custom-columns=NAME:.metadata.name,INIT:.spec.initContainers[*].name,CONTAINERS:.spec.containers[*].name"
istio-proxy
-Container sollte als Init-Container angezeigt werden.
NAME INIT CONTAINERS
sleep-7656cf8794-5b5j4 istio-init,istio-proxy sleep
Neuen Cluster erstellen
Wenn Sie ein neues AKS-Cluster mit dem Befehl az aks create erstellen, wählen Sie eine Version 1.29
oder neuer und istio asm-1-20
oder neuer aus. Das neue Cluster sollte den systemeigenen Sidecar-Modus automatisch aktiviert haben.
az aks create \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER \
--enable-asm \
--kubernetes-version 1.29 \
--revision asm-1-20 \
--generate-ssh-keys
...
Nächste Schritte
Azure Kubernetes Service