Attivazione di funzionalità facoltative sul control plane gestito
Questa pagina descrive come attivare le funzionalità facoltative su Cloud Service Mesh gestito. Per informazioni sul control plane in-cluster, consulta Abilitazione delle funzionalità facoltative sul control plane in-cluster.
Quando esegui il provisioning di Cloud Service Mesh gestito, le funzionalità supportate variano in base all'implementazione del control plane e alcune funzionalità sono disponibili solo tramite la lista consentita. Per ulteriori dettagli, vedi Funzionalità supportate.
Se oggi utilizzi una configurazione basata su IstioOperator,
Immagine proxy Distroless
Se hai eseguito l'onboarding diretto a Cloud Service Mesh con un'
TRAFFIC_DIRECTORimplementazione del control plane gestita, è supportato solo il tipo di immagine distroless. Non puoi modificarlo.Se la tua flotta utilizzava originariamente l'implementazione del control plane
ISTIODed è stata migrata all'implementazioneTRAFFIC_DIRECTOR, il tipo di immagine è rimasto invariato durante la migrazione e puoi modificare autonomamente il tipo di immagine in distroless.
Come best practice, devi limitare i contenuti di un runtime del container ai soli pacchetti necessari. Questo approccio migliora la sicurezza e il rapporto segnale/rumore degli scanner di vulnerabilità ed esposizioni comuni (CVE). Istio fornisce immagini proxy basate su immagini di base distroless.
L'immagine proxy distroless non contiene altri file binari oltre al proxy.
Pertanto, non è possibile exec una shell o utilizzare curl, ping o altre
utilità di debug all'interno del container. Tuttavia, puoi utilizzare i container effimeri
per collegarti a un pod di workload in esecuzione per poterlo ispezionare ed eseguire comandi
personalizzati. Ad esempio, consulta Raccolta dei log di Cloud Service Mesh.
La seguente configurazione abilita le immagini distroless per l'intero Cloud Service Mesh. Una modifica del tipo di immagine richiede il riavvio e la reiniezione di ogni pod per diventare effettiva.
apiVersion: v1
kind: ConfigMap
metadata:
name: istio-release-channel
namespace: istio-system
data:
mesh: |-
defaultConfig:
image:
imageType: distroless
Puoi ignorare imageType utilizzando la seguente annotazione del pod.
sidecar.istio.io/proxyImageType: debug
Dopo aver modificato il tipo di immagine di un deployment utilizzando l'annotazione, il deployment deve essere riavviato.
kubectl rollout restart deployment -n NAMESPACE DEPLOYMENT_NAME
Poiché non richiede un'immagine di base di debug, la maggior parte dei tipi di debug proxy
deve utilizzare gcloud beta container fleet mesh debug proxy-status / proxy-config
(dettagli).
Policy del traffico in uscita
Per impostazione predefinita, outboundTrafficPolicy è impostato su ALLOW_ANY. In questa modalità, tutto
il traffico verso qualsiasi servizio esterno è consentito. Per controllare e limitare il traffico solo ai servizi esterni per i quali sono definite voci di servizio, puoi modificare il comportamento predefinito di ALLOW_ANY in REGISTRY_ONLY.
La seguente configurazione configura
outboundTrafficPolicysuREGISTRY_ONLY:apiVersion: v1 kind: ConfigMap metadata: name: istio-release-channel namespace: istio-system data: mesh: |- outboundTrafficPolicy: mode: REGISTRY_ONLYdove release-channel è il tuo canale di rilascio (
asm-managed,asm-managed-stableoasm-managed-rapid).Puoi apportare le modifiche di configurazione necessarie precedenti in configmap utilizzando il seguente comando:
kubectl edit configmap istio-release-channel -n istio-system -o yaml
Esegui questo comando per visualizzare il configmap:
kubectl get configmap istio-release-channel -n istio-system -o yaml
Per verificare che
outboundTrafficPolicysia abilitato conREGISTRY_ONLY, assicurati che le seguenti righe vengano visualizzate nella sezionemesh:.... apiVersion: v1 data: mesh: | outboundTrafficPolicy: mode: REGISTRY_ONLY ...
Autenticazione degli utenti finali
Puoi configurare l'autenticazione utente di Cloud Service Mesh gestito per l'autenticazione e controllo dell'accesso dell'accesso degli utenti finali basati su browser ai workload di cui è stato eseguito il deployment. Per saperne di più, consulta Configurazione dell'autenticazione utente di Cloud Service Mesh.
Configura la versione TLS minima per i tuoi workload
Se hai eseguito l'onboarding diretto a Cloud Service Mesh con un'implementazione del control plane TRAFFIC_DIRECTOR gestito, non puoi modificare questa impostazione.
Puoi utilizzare il campo minProtocolVersion per specificare la versione TLS minima per le connessioni TLS tra i tuoi workload. Per saperne di più sull'impostazione
della versione TLS minima e sul controllo della configurazione TLS dei tuoi workload,
consulta Configurazione della versione TLS minima del workload Istio.
L'esempio seguente mostra un'impostazione ConfigMap che imposta la versione TLS minima per
i carichi di lavoro su 1.3:
apiVersion: v1
kind: ConfigMap
metadata:
name: istio-release-channel
namespace: istio-system
data:
mesh: |-
meshMTLS:
minProtocolVersion: TLSV1_3