Ce document explique comment configurer des cibles externes pour le probing dans Google Distributed Cloud (GDC) sous air gap. 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 avez également besoin du chemin d'accès au fichier kubeconfig pour le cluster du serveur de l'API Management.
Les sondes cibles externes ne peuvent être configurées que dans les clusters root-admin ou org-admin.
Comprendre les informations sur les objets ConfigMap
Le vérificateur 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 de 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 le détail des champs :
name(chaîne) : identifiant unique de cette cible de sonde spécifique.spec: définit les paramètres d'analyse :target(chaîne) : nom d'hôte ou adresse IP de la cible externe à tester.probeType(chaîne) : type de test à effectuer. Les valeurs acceptées sont les suivantes :TCP: tente d'établir une connexion TCP avec letargetet leportspécifiés.ICMP: envoie une requête d'écho ICMP (ping) àtarget.
port(int32) : numéro de port à utiliser pour les sondes TCP. Ce champ est obligatoire lorsqueprobeTypeest défini surTCPet est ignoré pour les vérificationsICMP.interval(chaîne) : fréquence à laquelle la vérification doit être exécutée. Il doit s'agir d'une chaînemetav1.DurationKubernetes valide (par exemple,"5s","1m30s").timeout(chaîne, facultatif) : durée maximale 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 avant expiration 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 du serveur de l'API Management.
Le vérificateur détecte automatiquement les modifications apportées à ce ConfigMap et démarre, arrête ou met à jour les processus de vérification en fonction des cibles définies.