Optionale Features in der verwalteten Steuerungsebene aktivieren

Auf dieser Seite wird beschrieben, wie Sie optionale Features in verwaltetem Cloud Service Mesh aktivieren. Informationen zur clusterinternen Steuerungsebene finden Sie unter Optionale Features auf der clusterinternen Steuerungsebene aktivieren

Wenn Sie verwaltetes Cloud Service Mesh bereitstellen, unterscheiden sich die unterstützten Funktionen je nach Implementierung der Steuerungsebene. Bestimmte Funktionen sind nur über eine Zulassungsliste verfügbar. Weitere Informationen finden Sie unter unterstützten Funktionen finden Sie weitere Informationen. Wenn Sie heute eine IstioOperator-basierte Konfiguration verwenden, gilt Folgendes: Das Tool Migrate from IstioOperator kann hilfreich sein in die von der verwalteten Steuerungsebene unterstützte Konfiguration konvertiert.

Proxy-Image löschen

  • Wenn Sie Cloud Service Mesh mit einer verwalteten TRAFFIC_DIRECTOR direkt eingerichtet haben Implementierung der Steuerungsebene, wird nur der Image-Typ "Distroless" unterstützt. Sie können ihn nicht ändern.

  • Wenn für Ihre Flotte ursprünglich die ISTIOD-Steuerungsebene verwendet wurde und sie zur TRAFFIC_DIRECTOR-Implementierung migriert wurde, blieb der Image-Typ während der Migration unverändert. Sie können ihn aber selbst in „distroless“ ändern.

Als Best Practice sollten Sie den Inhalt einer Containerlaufzeit auf die erforderlichen Pakete beschränken. Dieser Ansatz verbessert die Sicherheit und das Signal-Rausch-Verhältnis von CVE-Scannen (Common Vulnerabilities and Exposures). Istio stellt Proxy-Images bereit, die auf Distroless-Basis-Images basieren.

Das Distroless-Proxy-Image enthält keine anderen Binärdateien als den Proxy. Daher ist es nicht möglich, eine Shell mit exec zu versehen oder curl, ping oder andere Fehlerbehebungsfunktionen im Container zu verwenden. Sie können jedoch sitzungsspezifische Container verwenden, an einen laufenden Arbeitslast-Pod anhängen, um ihn zu prüfen . Weitere Informationen finden Sie beispielsweise unter Cloud Service Mesh-Protokolle erfassen.

Die folgende Konfiguration aktiviert Distributions-Images für das gesamte Cloud Service Mesh. Bei einer Änderung des Image-Typs muss jeder Pod neu gestartet und neu eingefügt werden, um wirksam zu werden.

     apiVersion: v1
     kind: ConfigMap
     metadata:
       name: istio-release-channel
       namespace: istio-system
     data:
       mesh: |-
         defaultConfig:
           image:
             imageType: distroless

Sie können den imageType mit der folgenden Pod-Annotation überschreiben.

sidecar.istio.io/proxyImageType: debug

Nachdem Sie den Image-Typ einer Bereitstellung mithilfe der Annotation geändert haben, sollte neu gestartet werden.

kubectl rollout restart deployment -n NAMESPACE DEPLOYMENT_NAME

Da hierfür kein Basis-Image für die Fehlerbehebung erforderlich ist, sollte gcloud beta container fleet mesh debug proxy-status / proxy-config verwenden (Details).

Richtlinie für ausgehenden Traffic

Standardmäßig ist outboundTrafficPolicy auf ALLOW_ANY festgelegt. In diesem Modus ist der gesamte Traffic zu externen Diensten zulässig. Zur Steuerung und Einschränkung des Traffics die nur auf die externen Dienste Diensteinträge definiert sind, können Sie das Standardverhalten von ALLOW_ANY zu REGISTRY_ONLY.

  1. Mit der folgenden Konfiguration wird outboundTrafficPolicy auf REGISTRY_ONLY konfiguriert:

      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: istio-release-channel
        namespace: istio-system
      data:
        mesh: |-
          outboundTrafficPolicy:
           mode: REGISTRY_ONLY
    

    Dabei ist release-channel Ihre Release-Version (asm-managed, asm-managed-stable oder asm-managed-rapid).

  2. Sie können die vorherigen erforderlichen Konfigurationsänderungen in der configmap vornehmen, indem Sie die folgenden Befehl:

    kubectl edit configmap istio-release-channel -n istio-system -o yaml
    
  3. Führen Sie den folgenden Befehl aus, um die ConfigMap aufzurufen:

    kubectl get configmap istio-release-channel -n istio-system -o yaml
    
  4. Prüfen Sie, ob outboundTrafficPolicy mit REGISTRY_ONLY aktiviert ist, indem Sie darauf achten, dass die folgenden Zeilen im Abschnitt mesh: angezeigt werden.

    ...
    apiVersion: v1
    data:
      mesh: |
        outboundTrafficPolicy:
         mode: REGISTRY_ONLY
    ...
    

Endnutzerauthentifizierung

Sie können die Nutzerauthentifizierung für das verwaltete Cloud Service Mesh konfigurieren für browserbasierte Endnutzer-Authentifizierung und Zugriffssteuerung für Ihr bereitgestelltes Arbeitsbelastungen. Weitere Informationen finden Sie unter Cloud Service Mesh-Nutzerauthentifizierung konfigurieren.

TLS-Mindestversion für Ihre Arbeitslasten konfigurieren

Wenn Sie Cloud Service Mesh direkt mit einer verwalteten TRAFFIC_DIRECTORSteuerungsebene eingerichtet haben, können Sie diese Einstellung nicht ändern.

Sie können das Feld minProtocolVersion verwenden, um die Mindest-TLS-Version für die TLS-Verbindungen Ihrer Arbeitslasten anzugeben. Weitere Informationen zum die TLS-Mindestversion installiert und die TLS-Konfiguration Ihrer Arbeitslasten überprüft, Siehe Konfiguration der Mindestversion von Istio für TLS.

Das folgende Beispiel zeigt eine ConfigMap, die die TLS-Mindestversion für Arbeitslasten auf 1.3:

apiVersion: v1
kind: ConfigMap
metadata:
  name: istio-release-channel
  namespace: istio-system
data:
  mesh: |-
    meshMTLS:
      minProtocolVersion: TLSV1_3