Attivare funzionalità facoltative nel control plane gestito
Questa pagina descrive come attivare le funzionalità facoltative su Cloud Service Mesh gestito. Per informazioni sul piano di controllo in-cluster, consulta Abilitare le funzionalità facoltative nel piano di controllo in-cluster.
Quando esegui il provisioning di Cloud Service Mesh gestito, le funzionalità supportate differiscono in base all'implementazione del piano di controllo e alcune sono disponibili solo tramite la lista consentita. Per maggiori dettagli, consulta le funzionalità supportate.
Se al momento utilizzi una configurazione basata su IstioOperator
, lo strumento Esegui la migrazione da IstioOperator può aiutarti a eseguire la conversione alla configurazione supportata dal piano di controllo gestito.
Immagine proxy senza distribuzione
Se hai eseguito l'onboarding direttamente in Cloud Service Mesh con un'
TRAFFIC_DIRECTOR
implementazione del piano di controllo gestita, solo il tipo di immagine distroless è supportato. Non puoi modificarlo.Se inizialmente il tuo parco utilizzava l'implementazione del piano di controllo
ISTIOD
ed è stata eseguita la migrazione all'implementazioneTRAFFIC_DIRECTOR
, il tipo di immagine è rimasto invariato durante la migrazione e puoi impostarlo manualmente su distroless.
Come best practice, devi limitare i contenuti di un runtime del contenitore solo ai pacchetti necessari. Questo approccio migliora la sicurezza e il rapporto segnale/rumore degli scanner per vulnerabilità ed esposizioni comuni (CVE). Istio fornisce immagini proxy basate su immagini di base senza distribuzione.
L'immagine proxy senza distribuzione non contiene binari diversi dal proxy.
Pertanto, non è possibile exec
una shell o utilizzare curl
, ping
o altre utilità di debug all'interno del contenitore. Tuttavia, puoi utilizzare i container temporanei per collegarti a un pod di workload in esecuzione per poterlo ispezionare ed eseguire comandi personalizzati. Ad esempio, consulta
Raccogliere i log di Cloud Service Mesh.
La seguente configurazione abilita le immagini distroless per l'intero Cloud Service Mesh. Affinché una modifica del tipo di immagine venga applicata, è necessario riavviare ogni pod e iniettarlo di nuovo.
apiVersion: v1
kind: ConfigMap
metadata:
name: istio-release-channel
namespace: istio-system
data:
mesh: |-
defaultConfig:
image:
imageType: distroless
Puoi sostituire 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 del proxy dovrebbe utilizzare gcloud beta container fleet mesh debug proxy-status / proxy-config
(dettagli).
Norme relative al traffico in uscita
Per impostazione predefinita, outboundTrafficPolicy
è impostato su ALLOW_ANY
. In questa modalità, è consentito tutto il traffico verso qualsiasi servizio esterno. Per controllare e limitare il traffico solo ai servizi esterni per i quali sono definite le voci di servizio, puoi modificare il comportamento predefinito da ALLOW_ANY
a REGISTRY_ONLY
.
La seguente configurazione configura
outboundTrafficPolicy
suREGISTRY_ONLY
:apiVersion: v1 kind: ConfigMap metadata: name: istio-release-channel namespace: istio-system data: mesh: |- outboundTrafficPolicy: mode: REGISTRY_ONLY
dove release-channel è il tuo canale di rilascio (
asm-managed
,asm-managed-stable
oasm-managed-rapid
).Puoi apportare le modifiche necessarie alla configurazione precedente nel file configmap utilizzando il seguente comando:
kubectl edit configmap istio-release-channel -n istio-system -o yaml
Esegui il seguente comando per visualizzare il configmap:
kubectl get configmap istio-release-channel -n istio-system -o yaml
Per verificare che
outboundTrafficPolicy
sia attivato 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 dell'utente finale basata su browser e controllo dell'accesso ai carichi di lavoro di cui è stato eseguito il deployment. Per ulteriori informazioni, consulta Configurare l'autenticazione utente di Cloud Service Mesh.
Configura la versione TLS minima per i tuoi workload
Se hai eseguito l'onboarding direttamente in Cloud Service Mesh con un'TRAFFIC_DIRECTOR
implementazione del piano di controllo gestita,
non puoi modificare questa impostazione.
Puoi utilizzare il campo minProtocolVersion
per specificare la versione TLS minima per le connessioni TLS tra i tuoi carichi di lavoro. Per ulteriori informazioni su come impostare la versione TLS minima e controllare la configurazione TLS dei tuoi workload, consulta Configurazione della versione TLS minima del workload Istio.
L'esempio seguente mostra un 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