En este documento, se explica cómo configurar destinos externos para el sondeo en Google Distributed Cloud (GDC) aislado. El sistema descubre y supervisa estos destinos leyendo un ConfigMap de Kubernetes específico.
Antes de comenzar
Para aplicar un ConfigMap al espacio de nombres gpc-system, debes tener acceso al clúster y permisos para crear o modificar ConfigMaps en ese espacio de nombres.
También necesitas la ruta de acceso al archivo kubeconfig del clúster del servidor de la API de administración.
Los sondeos de destino externos solo se pueden configurar en clústeres de administrador raíz o de administrador de la organización.
Información sobre los detalles de ConfigMap
El verificador busca un ConfigMap con las siguientes características:
- Nombre:
pnet-external-probe-targets-config. - Espacio de nombres:
gpc-system - Clave de datos: El ConfigMap debe contener una clave llamada
targets.yamldentro de su campodata. El valor asociado a esta clave debe ser una cadena YAML que defina los destinos de la sonda.
Información sobre la estructura de targets.yaml
El contenido de targets.yaml debe ser una lista de objetos en formato YAML. Cada objeto representa un solo destino de sondeo externo y sigue esta estructura:
- 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.
A continuación, se incluye un desglose de los campos:
name(cadena): Es un identificador único para este destino de sondeo específico.spec: Define los parámetros de sondeo:target(cadena): Es el nombre de host o la dirección IP del destino externo que se sondeará.probeType(cadena): Es el tipo de sondeo que se realizará. Los valores admitidos son los siguientes:TCP: Realiza un intento de conexión TCP altargety alportespecificados.ICMP: Envía una solicitud de eco de ICMP (ping) atarget.
port(int32): Es el número de puerto que se usará para los sondeos de TCP. Este campo es obligatorio cuandoprobeTypeesTCPy se ignora para las sondasICMP.interval(cadena): Es la frecuencia con la que se debe ejecutar la sonda. Debe ser una cadena demetav1.Durationde Kubernetes válida (p.ej.,"5s","1m30s").timeout(cadena, opcional): Es el tiempo máximo que se espera a que se complete un solo intento de sondeo. Esta también es una cadenametav1.Duration. Si no se especifica, se usa un tiempo de espera predeterminado de5s.
Crea y aplica el ConfigMap
Para crear o actualizar el ConfigMap, sigue estos pasos:
Crea un archivo YAML llamado
external-probe-configmap.yaml. En el siguiente ejemplo, se definen tres destinos de sondeo: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 5sAplica el ConfigMap a tu clúster:
kubectl apply -f external-probe-configmap.yaml -n gpc-system --kubeconfig=MANAGEMENT_API_SERVERReemplaza
MANAGEMENT_API_SERVERpor la ruta de acceso al archivo kubeconfig del servidor de la API de administración.
El verificador detecta automáticamente los cambios en este ConfigMap y, luego, inicia, detiene o actualiza los procesos de sondeo según los destinos definidos.