En este documento se explica cómo configurar destinos externos para las comprobaciones en Google Distributed Cloud (GDC) con air gap. El sistema descubre y monitoriza estos destinos leyendo un ConfigMap de Kubernetes específico.
Antes de empezar
Para aplicar un ConfigMap al espacio de nombres gpc-system, debe tener acceso al clúster y permisos para crear o modificar ConfigMaps en ese espacio de nombres.
También necesitas la ruta al archivo kubeconfig del clúster del servidor de la API Management.
Las sondas de destino externas solo se pueden configurar en clústeres de administrador raíz o de administrador de organización.
Información sobre los detalles de ConfigMap
El comprobador 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.yamlen su campodata. El valor asociado a esta clave debe ser una cadena YAML que defina los destinos de la comprobación.
Estructura de targets.yaml
El contenido de targets.yaml debe ser una lista de objetos YAML. Cada objeto representa un único 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 muestra un desglose de los campos:
name(cadena): identificador único de este destino de sondeo específico.spec: define los parámetros de sondeo:target(cadena): el nombre de host o la dirección IP del destino externo que se va a sondear.probeType(cadena): el tipo de comprobación que se va a realizar. Los valores admitidos son:TCP: intenta establecer una conexión TCP con eltargety elportespecificados.ICMP: envía una solicitud de eco ICMP (ping) atarget.
port(int32): número de puerto que se va a usar para las sondas TCP. Este campo es obligatorio cuandoprobeTypeesTCPy se ignora en las sondasICMP.interval(cadena): la frecuencia con la que debe ejecutarse la sonda. Debe ser una cadenametav1.Durationde Kubernetes válida (por ejemplo,"5s"o"1m30s").timeout(cadena, opcional): tiempo máximo que se espera a que se complete un único intento de comprobación. También es unametav1.Durationcadena. Si no se especifica, se usa un tiempo de espera predeterminado de5s.
Crear y aplicar 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 comprobación: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_SERVERSustituye
MANAGEMENT_API_SERVERpor la ruta al archivo kubeconfig del servidor de la API Management.
El comprobador detecta automáticamente los cambios en este ConfigMap e inicia, detiene o actualiza los procesos de comprobación en función de los destinos definidos.