이 문서에서는 Google Distributed Cloud (GDC) 오프라인에서 프로브를 위한 외부 타겟을 구성하는 방법을 설명합니다. 시스템은 특정 Kubernetes ConfigMap을 읽어 이러한 타겟을 검색하고 모니터링합니다.
시작하기 전에
gpc-system 네임스페이스에 ConfigMap을 적용하려면 클러스터에 액세스할 수 있어야 하며 해당 네임스페이스에서 ConfigMap을 만들거나 수정할 수 있는 권한이 있어야 합니다.
관리 API 서버 클러스터의 kubeconfig 파일 경로도 필요합니다.
외부 타겟 프로브는 루트 관리자 또는 조직 관리자 클러스터에서만 구성할 수 있습니다.
ConfigMap 세부정보 이해
프로버는 다음과 같은 특성이 있는 ConfigMap을 찾습니다.
- 이름:
pnet-external-probe-targets-config - 네임스페이스:
gpc-system - 데이터 키: ConfigMap의
data필드 내에targets.yaml라는 키가 포함되어야 합니다. 이 키와 연결된 값은 프로브 타겟을 정의하는 YAML 문자열이어야 합니다.
targets.yaml 구조 이해
targets.yaml 콘텐츠는 객체의 YAML 목록이어야 합니다. 각 객체는 단일 외부 프로브 타겟을 나타내며 다음 구조를 따릅니다.
- 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.
필드는 다음과 같이 분류됩니다.
name(문자열): 이 특정 프로브 타겟의 고유 식별자입니다.spec: 프로브 매개변수를 정의합니다.target(문자열): 프로브할 외부 타겟의 호스트 이름 또는 IP 주소입니다.probeType(문자열): 실행할 프로브의 유형입니다. 지원되는 값은 다음과 같습니다.TCP: 지정된target및port에 TCP 연결을 시도합니다.ICMP:target에 ICMP 에코 요청 (핑)을 전송합니다.
port(int32): TCP 프로브에 사용할 포트 번호입니다. 이 필드는probeType이TCP인 경우 필수이며ICMP프로브에서는 무시됩니다.interval(문자열): 프로브가 실행되어야 하는 빈도입니다. 유효한 Kubernetesmetav1.Duration문자열이어야 합니다 (예:"5s","1m30s").timeout(문자열, 선택사항): 단일 프로브 시도가 완료될 때까지 기다리는 최대 시간입니다. 이것도metav1.Duration문자열입니다. 지정하지 않으면 기본 제한 시간인5s이 사용됩니다.
ConfigMap 만들기 및 적용
ConfigMap을 만들거나 업데이트하려면 다음 단계를 따르세요.
external-probe-configmap.yaml이라는 YAML 파일을 만듭니다. 다음 예에서는 세 개의 프로브 타겟을 정의합니다.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 5s클러스터에 ConfigMap을 적용합니다.
kubectl apply -f external-probe-configmap.yaml -n gpc-system --kubeconfig=MANAGEMENT_API_SERVERMANAGEMENT_API_SERVER를 관리 API 서버의 kubeconfig 파일 경로로 바꿉니다.
프로버는 이 ConfigMap의 변경사항을 자동으로 감지하고 정의된 타겟에 따라 프로브 프로세스를 시작, 중지 또는 업데이트합니다.