Mengonfigurasi target pemeriksaan eksternal

Dokumen ini menjelaskan cara mengonfigurasi target eksternal untuk probing di Google Distributed Cloud (GDC) air-gapped. Sistem menemukan dan memantau target ini dengan membaca ConfigMap Kubernetes tertentu.

Sebelum memulai

Untuk menerapkan ConfigMap ke namespace gpc-system, Anda harus memiliki akses ke cluster dan izin untuk membuat atau mengubah ConfigMap di namespace tersebut. Anda juga memerlukan jalur ke file kubeconfig untuk cluster server Management API. Pemeriksaan target eksternal hanya dapat dikonfigurasi di cluster admin root atau admin org.

Memahami detail ConfigMap

Pemeriksa mencari ConfigMap dengan karakteristik berikut:

  • Nama: pnet-external-probe-targets-config
  • Namespace: gpc-system
  • Kunci Data: ConfigMap harus berisi kunci bernama targets.yaml dalam kolom data-nya. Nilai yang terkait dengan kunci ini harus berupa string YAML yang menentukan target probe.

Memahami struktur targets.yaml

Konten targets.yaml harus berupa daftar objek YAML. Setiap objek merepresentasikan satu target probe eksternal dan mengikuti struktur ini:

- 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.

Berikut perincian kolomnya:

  • name (string): ID unik untuk target probe tertentu ini.
  • spec: Menentukan parameter penyelidikan:
    • target (string): Nama host atau alamat IP target eksternal yang akan diperiksa.
    • probeType (string): Jenis pemeriksaan yang akan dilakukan. Nilai yang didukung adalah:
      • TCP: Melakukan upaya koneksi TCP ke target dan port yang ditentukan.
      • ICMP: Mengirim permintaan echo ICMP (ping) ke target.
    • port (int32): Nomor port yang akan digunakan untuk pemeriksaan TCP. Kolom ini wajib diisi jika probeType adalah TCP dan diabaikan untuk probe ICMP.
    • interval (string): Frekuensi pemeriksaan harus dijalankan. Ini harus berupa string metav1.Duration Kubernetes yang valid (misalnya, "5s", "1m30s").
    • timeout (string, opsional): Waktu maksimum untuk menunggu hingga satu upaya pemeriksaan selesai. Ini juga merupakan string metav1.Duration. Jika tidak ditentukan, waktu tunggu default 5s akan digunakan.

Buat dan terapkan ConfigMap

Untuk membuat atau memperbarui ConfigMap, ikuti langkah-langkah berikut:

  1. Buat file YAML bernama external-probe-configmap.yaml. Contoh berikut menentukan tiga target probe:

    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
    
  2. Terapkan ConfigMap ke cluster Anda:

    kubectl apply -f external-probe-configmap.yaml -n gpc-system --kubeconfig=MANAGEMENT_API_SERVER
    

    Ganti MANAGEMENT_API_SERVER dengan jalur ke file kubeconfig untuk server Management API.

Prober otomatis mendeteksi perubahan pada ConfigMap ini dan memulai, menghentikan, atau memperbarui proses pemeriksaan berdasarkan target yang ditentukan.