Attivare funzionalità facoltative nel control plane gestito
In questa pagina viene descritto come attivare le funzionalità facoltative sui dispositivi Cloud Service Mesh. Per informazioni sul piano di controllo nel cluster, consulta Abilitazione di funzionalità facoltative sul piano di controllo nel cluster.
Quando esegui il provisioning di Cloud Service Mesh gestito, le funzionalità supportate sono diverse
basate sull'implementazione del piano di controllo, e alcune
disponibili tramite la lista consentita. Per maggiori dettagli, consulta le funzionalità supportate.
Se oggi utilizzi una configurazione basata su IstioOperator
, il valore
Lo strumento Esegui la migrazione dallo strumento IstioOperator può aiutarti
alla configurazione supportata dal piano di controllo gestito.
Immagine proxy senza distro
Se hai eseguito l'onboarding direttamente in Cloud Service Mesh con un
TRAFFIC_DIRECTOR
gestito l'implementazione del piano di controllo, solo il tipo di immagine senza distroless è supportato. Non puoi modificarlo.Se inizialmente il parco risorse utilizzava l'implementazione del piano di controllo
ISTIOD
ed era è stata eseguita la migrazione all'implementazioneTRAFFIC_DIRECTOR
, il tipo di immagine è rimasto invariato durante la migrazione e puoi cambiare il tipo di immagine in distroless autonomamente.
Come best practice, dovresti limitare i contenuti del runtime di un container a solo i pacchetti necessari. Questo approccio migliora la sicurezza rapporto segnale-rumore degli scanner di vulnerabilità ed esposizioni comuni (CVE). Istio fornisce immagini proxy basate su immagini di base senza distribuzione.
L'immagine proxy senza distroless non contiene file binari diversi dal proxy.
Di conseguenza non è possibile exec
una shell o utilizzare curl
, ping
o un altro tipo
di debug all'interno del container. Tuttavia, puoi utilizzare i container temporanei per collegarti a un pod di carico di lavoro 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 senza distrografia per l'intero Cloud Service Mesh. Una modifica al tipo di immagine richiede il riavvio di ogni pod e il reinserimento per avere effetto.
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, e il deployment dell'app.
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 usare 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 cui
voci di servizio
puoi modificare il comportamento predefinito di ALLOW_ANY
in
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 questo comando per visualizzare il file configmap:
kubectl get configmap istio-release-channel -n istio-system -o yaml
Per verificare che
outboundTrafficPolicy
sia 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 dell'utente finale basata su browser e il 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 carichi di lavoro
Se hai eseguito l'onboarding direttamente in Cloud Service Mesh con un TRAFFIC_DIRECTOR
gestito
l'implementazione del piano di controllo,
non potrai modificare questa impostazione.
Puoi utilizzare il campo minProtocolVersion
per specificare la versione TLS minima
per le connessioni TLS tra i carichi di lavoro. Per ulteriori informazioni su come impostare la versione TLS minima e controllare la configurazione TLS dei carichi di lavoro, consulta Configurazione della versione TLS minima del carico di lavoro Istio.
L'esempio seguente mostra un'impostazione ConfigMap
che imposta la versione TLS minima per
carichi di lavoro con la versione 1.3:
apiVersion: v1
kind: ConfigMap
metadata:
name: istio-release-channel
namespace: istio-system
data:
mesh: |-
meshMTLS:
minProtocolVersion: TLSV1_3