Questo documento spiega come configurare i target esterni per il probing in Google Distributed Cloud (GDC) air-gapped. Il sistema rileva e monitora questi target leggendo un oggetto ConfigMap Kubernetes specifico.
Prima di iniziare
Per applicare un oggetto ConfigMap allo spazio dei nomi gpc-system, devi avere accesso al cluster e le autorizzazioni per creare o modificare gli oggetti ConfigMap in questo spazio dei nomi.
Devi anche avere il percorso del file kubeconfig per il cluster del server API di gestione.
I probe dei target esterni possono essere configurati solo nei cluster root-admin o org-admin.
Informazioni sui dettagli di ConfigMap
Il prober cerca un oggetto ConfigMap con le seguenti caratteristiche:
- Nome:
pnet-external-probe-targets-config - Spazio dei nomi:
gpc-system - Chiave dati: l'oggetto ConfigMap deve contenere una chiave denominata
targets.yamlnel campodata. Il valore associato a questa chiave deve essere una stringa YAML che definisce i target del probe.
Informazioni sulla struttura di targets.yaml
Il contenuto di targets.yaml deve essere un elenco di oggetti YAML. 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 del target esterno da eseguire il probe.probeType(stringa): il tipo di probe da eseguire. I valori supportati sono:TCP: esegue un tentativo di connessione TCP altargete allaportspecificati.ICMP: invia una richiesta di echo ICMP (ping) altarget.
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 con cui deve essere eseguito il probe. Deve essere una stringametav1.DurationKubernetes valida (ad es."5s","1m30s").timeout(stringa, facoltativa): il tempo massimo di attesa per il completamento di un singolo tentativo di probe. Si tratta anche di una stringametav1.Duration. Se non specificato, viene utilizzato un timeout predefinito di5s.
Creare e applicare l'oggetto ConfigMap
Per creare o aggiornare l'oggetto 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 l'oggetto 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 di gestione.
Il prober rileva automaticamente le modifiche apportate a questo oggetto ConfigMap e avvia, arresta o aggiorna i processi di probe in base ai target definiti.