Ce document explique comment configurer des cibles externes pour le sondage dans Google Distributed Cloud (GDC) air-gapped. Le système découvre et surveille ces cibles en lisant un ConfigMap Kubernetes spécifique.
Avant de commencer
Pour appliquer un ConfigMap à l'espace de noms gpc-system, vous devez avoir accès au cluster et disposer des autorisations nécessaires pour créer ou modifier des ConfigMaps dans cet espace de noms.
Vous devez également disposer du chemin d'accès au fichier kubeconfig pour le cluster de serveur de l'API Management.
Les sondes de cibles externes ne peuvent être configurées que dans les clusters d'administrateur racine ou d'administrateur d'organisation.
Comprendre les détails du ConfigMap
Le sondeur recherche un ConfigMap présentant les caractéristiques suivantes :
- Nom :
pnet-external-probe-targets-config - Espace de noms :
gpc-system - Clé de données : le ConfigMap doit contenir une clé nommée
targets.yamldans son champdata. La valeur associée à cette clé doit être une chaîne YAML définissant les cibles de la sonde.
Comprendre la structure targets.yaml
Le contenu targets.yaml doit être une liste YAML d'objets. Chaque objet représente une seule cible de sonde externe et suit cette structure :
- 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.
Voici une description des champs :
name(chaîne) : identifiant unique de cette cible de sonde spécifique.spec: définit les paramètres de sondage :target(chaîne) : nom d'hôte ou adresse IP de la cible externe à sonder.probeType(chaîne) : type de vérification à effectuer. Les valeurs compatibles sont les suivantes :TCP: tente d'établir une connexion TCP avec letargetet leportspécifiés.ICMP: envoie une requête d'écho ICMP (ping) à latarget.
port(int32) : numéro de port à utiliser pour les sondes TCP. Ce champ est obligatoire lorsqueprobeTypeestTCPet est ignoré pour les sondesICMP.interval(chaîne) : fréquence à laquelle la sonde doit s'exécuter. Il doit s'agir d'une chaînemetav1.DurationKubernetes valide (par exemple,"5s","1m30s").timeout(chaîne, facultatif) : délai maximal d'attente pour qu'une seule tentative de vérification se termine. Il s'agit également d'une chaînemetav1.Duration. Si aucune valeur n'est spécifiée, un délai d'attente par défaut de5sest utilisé.
Créer et appliquer le ConfigMap
Pour créer ou mettre à jour le ConfigMap, procédez comme suit :
Créez un fichier YAML nommé
external-probe-configmap.yaml. L'exemple suivant définit trois cibles de sonde :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 5sAppliquez le ConfigMap à votre cluster :
kubectl apply -f external-probe-configmap.yaml -n gpc-system --kubeconfig=MANAGEMENT_API_SERVERRemplacez
MANAGEMENT_API_SERVERpar le chemin d'accès au fichier kubeconfig pour le serveur de l'API Management.
Le sondeur détecte automatiquement les modifications apportées à ce ConfigMap et démarre, arrête ou met à jour les processus de sonde en fonction des cibles définies.