Dukungan proxy untuk cluster terpasang yang sesuai dengan CNCF

Jika organisasi Anda menggunakan proxy HTTP untuk traffic internet, Anda perlu mengonfigurasi cluster terlampir GKE dengan tepat. Dokumen ini menjelaskan cara melakukan konfigurasi ini.

Sebelum memulai

Cluster terpasang GKE memerlukan konektivitas ke berbagai layanan Google Cloud . Pastikan server proxy Anda mengizinkan traffic ke domain berikut:

  • .gcr.io
  • cloudresourcemanager.googleapis.com
  • container.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • oauth2.googleapis.com
  • securetoken.googleapis.com
  • storage.googleapis.com
  • sts.googleapis.com
  • www.googleapis.com
  • servicecontrol.googleapis.com
  • logging.googleapis.com
  • monitoring.googleapis.com
  • opsconfigmonitoring.googleapis.com
  • GCP_LOCATION-gkemulticloud.googleapis.com

Ganti GCP_LOCATION dengan Google Cloud region tempat cluster Anda berada. Tentukan us-west1 atau wilayah yang didukung lainnya.

Mengonfigurasi dukungan proxy untuk cluster terpasang GKE

Untuk mengonfigurasi dukungan proxy untuk cluster terlampir GKE, ikuti langkah-langkah berikut:

  1. Buat file konfigurasi proxy yang berisi nilai untuk kunci httpProxy, noProxy, dan httpsProxy:

    {
    "httpProxy": HTTP_PROXY_AUTHENTICATION_URL,
    "httpsProxy": HTTPS_PROXY_AUTH_URL,
    "noProxy": NO_PROXY_ADDRESSES
    }
    

    Ganti kode berikut:

    • HTTP_PROXY_AUTHENTICATION_URL: URL server proxy, yang terdiri dari nama host/alamat IP, dan secara opsional port, nama pengguna, dan sandi. Misalnya: http://user:password@192.0.2.0:80 atau hanya 198.51.100.255.
    • HTTPS_PROXY_AUTH_URL: URL proxy untuk traffic HTTPS terenkripsi, yang terdiri dari nama host/alamat IP, dan secara opsional port, nama pengguna, dan sandi.
    • NO_PROXY_ADDRESSES: daftar yang dipisahkan koma dari URL, blok CIDR, dan nama DNS resource yang dapat melewati proxy. Tindakan ini mengarahkan cluster terlampir GKE untuk menghindari penggunaan proxy untuk resource yang ditentukan. Perhatikan hal berikut:
      • Nilai dapat berupa alamat IP individual, rentang CIDR, nama domain, atau bahkan karakter tanda bintang (*). Menggunakan satu tanda bintang (*) di kolom noProxy memberi tahu cluster terlampir GKE untuk melewati proxy untuk semua traffic.
      • Domain yang diawali dengan titik, seperti .google.com, menargetkan semua subdomainnya. Misalnya, .google.com mencakup alamat seperti mail.google.com dan drive.google.com, tetapi tidak mencakup google.com.
      • Pastikan Anda menyertakan domain kubernetes.default.svc.cluster.local dan kubernetes.default.svc untuk pencatatan log yang tepat. Berikut contohnya: 198.51.100.0,192.0.2.0/16,examplepetstore.com,.altostrat.com,kubernetes.default.svc.cluster.local, kubernetes.default.svc.

    Saat membuat file konfigurasi proxy, ikuti panduan berikut:

    • Kolom httpProxy dan httpsProxy tidak menerima awalan https://. Gunakan http://, meskipun alamat server proxy sebenarnya dimulai dengan https://. Misalnya, tampilkan https://proxy.example.com:3128 sebagai http://proxy.example.com:3128.
    • Anda wajib memberikan nilai untuk ketiga kolom: httpProxy, httpsProxy, dan noProxy.
    • Pertimbangkan untuk menambahkan domain, alamat IP, atau CIDR tambahan ke daftar noProxy. Sebaiknya sertakan rentang IP VPC.
  2. Buat Secret Kubernetes, yang berisi konfigurasi proxy, dengan menjalankan perintah berikut:

    kubectl create secret generic SECRET_NAME \
    --from-file=PROXY_CONFIGURATION_FILE
    

    Ganti kode berikut:

    • SECRET_NAME: nama Secret Kubernetes
    • PROXY_CONFIGURATION_FILE: jalur ke konfigurasi proxy yang Anda buat di langkah 1.
  3. Tandai Secret Kubernetes sebagai immutable dengan menyetel kolom immutable ke true:

    kubectl edit secret SECRET_NAME
    

    Ganti SECRET_NAME dengan nama Secret Kubernetes.

  4. Konfigurasi cluster baru atau yang sudah ada untuk menggunakan proxy:

    Cluster baru

    Untuk mendaftarkan cluster baru dan menerapkan konfigurasi proxy, gunakan perintah gcloud container attached clusters register. Pastikan untuk memberikan argumen opsional --proxy-secret-name dan --proxy-secret-namespace:

    gcloud container attached clusters register CLUSTER_NAME \
      --proxy-secret-name=SECRET_NAME \
      --proxy-secret-namespace=SECRET_NAMESPACE
    

    Ganti kode berikut:

    • CLUSTER_NAME: nama cluster
    • SECRET_NAME: nama Secret Kubernetes yang berisi konfigurasi proxy
    • SECRET_NAMESPACE: namespace Kubernetes tempat Secret disimpan

    Untuk mengetahui informasi tentang semua argumen yang dapat Anda gunakan saat mendaftarkan cluster, lihat perintah gcloud container attached clusters register.

    Cluster yang ada

    Untuk memperbarui cluster yang sebelumnya terdaftar dengan konfigurasi proxy baru, gunakan perintah gcloud container attached clusters update. Pastikan untuk memberikan argumen opsional --proxy-secret-name dan --proxy-secret-namespace:

    gcloud container attached clusters update CLUSTER_NAME \
      --proxy-secret-name=SECRET_NAME \
      --proxy-secret-namespace=SECRET_NAMESPACE
    

    Ganti kode berikut:

    • CLUSTER_NAME: nama cluster
    • SECRET_NAME: nama Secret Kubernetes yang berisi konfigurasi proxy
    • SECRET_NAMESPACE: namespace Kubernetes tempat Secret disimpan

    Langkah ini diperlukan jika detail server proxy Anda telah berubah, atau jika pendaftaran cluster awal mengabaikan persyaratan proxy.

    Untuk mengetahui informasi tentang semua argumen yang dapat Anda gunakan saat mengupdate cluster, lihat perintah gcloud container attached clusters update.

Setelah melakukan langkah-langkah ini, cluster terlampir GKE memproses traffic internet keluar menggunakan server proxy yang ditentukan dalam file konfigurasi.