Neste documento, explicamos como configurar destinos externos para testes 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.
Os testes de destino externo só podem ser configurados em clusters root-admin ou org-admin.
Entender os detalhes do ConfigMap
O prober 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.
Entender a estrutura targets.yaml
O conteúdo targets.yaml precisa ser uma lista de objetos YAML. Cada objeto representa um único destino de teste externo 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 teste específico.spec: **`spec`** : define os parâmetros de teste:target(string) : o nome do host ou o endereço IP do destino externo a ser testado.probeType(string) : o tipo de sondagem a ser realizado. Os valores aceitos são:TCP: realiza uma tentativa de conexão TCP com otargete aportespecificados.ICMP: envia uma solicitação de eco ICMP (ping) para otarget.
port(int32) : o número da porta a ser usada para testes TCP. Esse campo é obrigatório quandoprobeTypeéTCPe é ignorado para testesICMP.interval(string) : a frequência com que a sondagem precisa ser executada. Esse precisa ser uma string válida do Kubernetesmetav1.Duration(por exemplo,"5s","1m30s").timeout(string, opcional) : o tempo máximo de espera para a conclusão de uma única tentativa de sondagem. Essa 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 para o 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.