Optionale Features auf verwalteter Steuerungsebene aktivieren

Auf dieser Seite wird beschrieben, wie Sie optionale Funktionen auf verwalteten Cloud Service Mesh. Informationen zur Steuerungsebene im Cluster finden Sie unter Optionale Features auf der Steuerungsebene im Cluster aktivieren.

Wenn Sie ein verwaltetes Cloud Service Mesh bereitstellen, unterscheiden sich die unterstützten Features basierend auf der Implementierung der Steuerungsebene. Bestimmte Funktionen über die Zulassungsliste verfügbar. Weitere Informationen finden Sie unter Unterstützte Funktionen. 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 direkt mit einer verwalteten TRAFFIC_DIRECTORSteuerungsebene eingerichtet haben, wird nur der Imagetyp ohne Distribution unterstützt. Sie können sie nicht ändern.

  • Wenn Ihre Flotte ursprünglich die Implementierung der ISTIOD-Steuerungsebene verwendet hat und zur TRAFFIC_DIRECTOR-Implementierung migriert wurde, wurde Ihr Image-Typ nicht geändert während der Migration und Sie können den Image-Typ so ändern, dass Sie sich selbst distrolos machen.

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 . Siehe zum Beispiel Cloud Service Mesh-Logs 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 imageType mit der folgenden Pod-Anmerkung überschreiben.

sidecar.istio.io/proxyImageType: debug

Nachdem Sie den Image-Typ einer Bereitstellung über die Annotation geändert haben, sollte die Bereitstellung 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 werden alle zu jedem externen Dienst erlaubt ist. Wenn Sie den Traffic nur auf die externen Dienste beschränken möchten, für die Diensteinträge definiert sind, können Sie das Standardverhalten von ALLOW_ANY in REGISTRY_ONLY ändern.

  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 erforderlichen Konfigurationsänderungen in der ConfigMap mit dem folgenden Befehl vornehmen:

    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 mit einer verwalteten TRAFFIC_DIRECTOR direkt eingerichtet haben Implementierung der Steuerungsebene, 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.

Im folgenden Beispiel wird eine ConfigMap-Datei gezeigt, in der die TLS-Mindestversion für Arbeitslasten auf 1.3 festgelegt ist:

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