Questo documento spiega come configurare target esterni per il probing in Google Distributed Cloud (GDC) con air gap. Il sistema rileva e monitora questi target leggendo un oggetto Kubernetes ConfigMap specifico.
Prima di iniziare
Per applicare un ConfigMap allo spazio dei nomi gpc-system, devi disporre dell'accesso
al cluster e delle autorizzazioni per creare o modificare ConfigMap in questo spazio dei nomi.
Devi anche specificare il percorso del file kubeconfig per il cluster del server API Management.
I probe di destinazione esterni possono essere configurati solo nei cluster root-admin o org-admin.
Informazioni sui dettagli di ConfigMap
Il probe cerca un oggetto ConfigMap con le seguenti caratteristiche:
- Nome:
pnet-external-probe-targets-config - Spazio dei nomi:
gpc-system - Data Key:ConfigMap deve contenere una chiave denominata
targets.yamlnel campodata. Il valore associato a questa chiave deve essere una stringa YAML che definisce le destinazioni del probe.
Informazioni sulla struttura di targets.yaml
Il contenuto di targets.yaml deve essere un elenco YAML di oggetti. Ogni oggetto rappresenta un singolo target di probe esterno e segue questa struttura:
- name: <unique-probe-name>
spec:
target: <hostname-or-ip>
probeType: <TCP or ICMP>
port: <port-number> # Required for TCP, ignored for ICMP
interval: <duration> # e.g., "10s", "1m"
timeout: <duration> # Optional, e.g., "5s". Defaults to 5s if not set.
Ecco una suddivisione dei campi:
name(stringa): un identificatore univoco per questo target di probe specifico.spec: definisce i parametri di probing:target(stringa): il nome host o l'indirizzo IP della destinazione esterna da analizzare.probeType(stringa): il tipo di probe da eseguire. I valori supportati sono:TCP: esegue un tentativo di connessione TCP altargete alportspecificati.ICMP: invia una richiesta di echo ICMP (ping) atarget.
port(int32): il numero di porta da utilizzare per i probe TCP. Questo campo è obbligatorio quandoprobeTypeèTCPe viene ignorato per i probeICMP.interval(stringa): la frequenza di esecuzione del probe. Deve essere una stringametav1.DurationKubernetes valida (ad es."5s","1m30s").timeout(stringa, facoltativo): il tempo massimo di attesa per il completamento di un singolo tentativo di probe. Anche questa è una stringametav1.Duration. Se non specificato, viene utilizzato un timeout predefinito di5s.
Crea e applica ConfigMap
Per creare o aggiornare ConfigMap:
Crea un file YAML denominato
external-probe-configmap.yaml. L'esempio seguente definisce tre target di probe:apiVersion: v1 kind: ConfigMap metadata: name: pnet-external-probe-targets-config namespace: gpc-system data: targets.yaml: | - name: "example-tcp-server" spec: target: "192.0.2.1" probeType: "TCP" port: 80 interval: "10s" timeout: "3s" - name: "example-icmp-host" spec: target: "8.8.8.8" probeType: "ICMP" interval: "30s" - name: "another-tcp-service" spec: target: "my-service.example.com" probeType: "TCP" port: 443 interval: "1m" # Using default timeout of 5sApplica ConfigMap al cluster:
kubectl apply -f external-probe-configmap.yaml -n gpc-system --kubeconfig=MANAGEMENT_API_SERVERSostituisci
MANAGEMENT_API_SERVERcon il percorso del file kubeconfig per il server API Management.
Il prober rileva automaticamente le modifiche a questo ConfigMap e avvia, arresta o aggiorna i processi di probe in base alle destinazioni definite.