Neste documento, explicamos como configurar destinos externos para sondagem no Google Distributed Cloud (GDC) com isolamento físico. O sistema descobre e monitora esses destinos lendo um ConfigMap específico do Kubernetes.
Antes de começar
Para aplicar um ConfigMap ao namespace gpc-system, você precisa ter acesso ao cluster e permissões para criar ou modificar ConfigMaps nesse namespace.
Você também precisa do caminho para o arquivo kubeconfig do cluster do servidor da API Management.
As sondagens de destino externas só podem ser configuradas em clusters de administrador raiz ou administrador da organização.
Como entender os detalhes do ConfigMap
O verificador procura um ConfigMap com as seguintes características:
- Nome:
pnet-external-probe-targets-config - Namespace:
gpc-system - Chave de dados:o ConfigMap precisa conter uma chave chamada
targets.yamlno campodata. O valor associado a essa chave precisa ser uma string YAML que define os destinos da sondagem.
Noções básicas sobre a estrutura targets.yaml
O conteúdo targets.yaml precisa ser uma lista de objetos YAML. Cada objeto representa um único destino de sondagem externa e segue esta estrutura:
- 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.
Confira um detalhamento dos campos:
name(string): um identificador exclusivo para esse destino de sondagem específico.spec:define os parâmetros de sondagem:target(string): o nome do host ou o endereço IP do destino externo a ser sondado.probeType(string): o tipo de sondagem a ser realizada. Os valores aceitos são:TCP: tenta fazer uma conexão TCP com otargete oportespecificados.ICMP: envia uma solicitação de eco ICMP (ping) para otarget.
port(int32): o número da porta a ser usada para sondagens TCP. Esse campo é obrigatório quandoprobeTypeéTCPe é ignorado para sondagensICMP.interval(string): a frequência com que a sondagem precisa ser executada. Precisa ser uma stringmetav1.Durationválida do Kubernetes (por exemplo,"5s","1m30s").timeout(string, opcional): o tempo máximo de espera para a conclusão de uma única tentativa de sondagem. Isso também é uma stringmetav1.Duration. Se não for especificado, um tempo limite padrão de5sserá usado.
Criar e aplicar o ConfigMap
Para criar ou atualizar o ConfigMap, siga estas etapas:
Crie um arquivo YAML chamado
external-probe-configmap.yaml. O exemplo a seguir define três destinos de sondagem: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 5sAplique o ConfigMap ao cluster:
kubectl apply -f external-probe-configmap.yaml -n gpc-system --kubeconfig=MANAGEMENT_API_SERVERSubstitua
MANAGEMENT_API_SERVERpelo caminho do arquivo kubeconfig do servidor da API Management.
O prober detecta automaticamente as mudanças nesse ConfigMap e inicia, interrompe ou atualiza os processos de sondagem com base nos destinos definidos.