Jika organisasi Anda menggunakan proxy HTTP untuk traffic internet, Anda perlu mengonfigurasi cluster terpasang GKE sebagaimana mestinya. 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 region Google Cloud tempat cluster Anda berada. Tentukan us-west1
atau wilayah lain yang didukung.
Mengonfigurasi dukungan proxy untuk cluster terpasang GKE
Guna mengonfigurasi dukungan proxy untuk cluster terpasang GKE, ikuti langkah-langkah berikut:
Buat file konfigurasi proxy yang berisi nilai untuk kunci
httpProxy
,noProxy
, danhttpsProxy
:{ "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 (opsional) port, nama pengguna, dan sandi. Misalnya:http://user:password@192.0.2.0:80
atau hanya198.51.100.255
.HTTPS_PROXY_AUTH_URL
: URL proxy untuk traffic HTTPS terenkripsi, yang terdiri dari nama host/alamat IP, dan port, nama pengguna, dan sandi jika diinginkan.NO_PROXY_ADDRESSES
: daftar yang dipisahkan koma untuk URL, blok CIDR, dan nama DNS resource yang dapat mengabaikan proxy. Hal ini mengarahkan cluster yang terpasang ke GKE agar tidak menggunakan proxy untuk resource yang ditentukan. Perhatikan hal berikut:- Nilai dapat berupa alamat IP individual, rentang CIDR, nama domain, atau bahkan karakter asterix (*). Menggunakan asterix tunggal (
*
) di kolomnoProxy
akan memberi tahu cluster yang terpasang GKE agar melewati proxy untuk semua traffic. - Domain yang diawali dengan titik, seperti
.google.com
, akan menarget semua subdomainnya. Misalnya,.google.com
menyertakan alamat sepertimail.google.com
dandrive.google.com
, tetapi tidak menyertakangoogle.com
. - Pastikan Anda menyertakan domain
kubernetes.default.svc.cluster.local
dankubernetes.default.svc
untuk logging yang benar. Berikut contohnya:198.51.100.0,192.0.2.0/16,examplepetstore.com,.altostrat.com,kubernetes.default.svc.cluster.local, kubernetes.default.svc
.
- Nilai dapat berupa alamat IP individual, rentang CIDR, nama domain, atau bahkan karakter asterix (*). Menggunakan asterix tunggal (
Saat membuat file konfigurasi proxy, patuhi panduan berikut:
- Kolom
httpProxy
danhttpsProxy
tidak menerima awalanhttps://
. Gunakanhttp://
, meskipun alamat server proxy yang sebenarnya dimulai denganhttps://
. Misalnya, nyatakanhttps://proxy.example.com:3128
sebagaihttp://proxy.example.com:3128
. - Wajib memberikan nilai untuk ketiga kolom:
httpProxy
,httpsProxy
, dannoProxy
. - Pertimbangkan untuk menambahkan domain, alamat IP, atau CIDR tambahan ke daftar
noProxy
. Sebaiknya sertakan rentang IP VPC.
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 KubernetesPROXY_CONFIGURATION_FILE
: jalur ke konfigurasi proxy yang Anda buat di langkah 1.
Tandai Secret Kubernetes sebagai tidak dapat diubah dengan menetapkan kolom
immutable
-nya ketrue
:kubectl edit secret SECRET_NAME
Ganti
SECRET_NAME
dengan nama Secret Kubernetes.Konfigurasikan cluster baru atau yang 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 clusterSECRET_NAME
: nama Secret Kubernetes yang berisi konfigurasi proxySECRET_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 clusterSECRET_NAME
: nama Secret Kubernetes yang berisi konfigurasi proxySECRET_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 yang terpasang GKE memproses traffic internet keluar menggunakan server proxy yang ditentukan dalam file konfigurasi.