Menginstal di balik proxy

Halaman ini menunjukkan cara menyiapkan aturan proxy dan firewall untuk Google Distributed Cloud.

Mengonfigurasi server proxy Anda

Jika mesin yang Anda gunakan untuk bootstrap dan node cluster menggunakan server proxy untuk mengakses internet, Anda harus:

  • Mengonfigurasi proxy untuk pengelola paket di node cluster
  • Konfigurasi detail proxy dalam file konfigurasi cluster.

Prasyarat

Server proxy Anda harus mengizinkan koneksi ke alamat berikut:

Alamat Tujuan
*.gcr.io Tarik image dari Artifact Registry.
accounts.google.com Memproses permintaan otorisasi untuk OpenID dan menemukan kunci publik untuk memverifikasi token.
binaryauthorization.googleapis.com Diperlukan jika menggunakan Otorisasi Biner. Memberi otorisasi (atau menolak) permintaan dari cluster untuk menjalankan image container.
cloudresourcemanager.googleapis.com Menyelesaikan metadata terkait Google Cloud project yang sedang dihubungkan ke cluster.
compute.googleapis.com Verifikasi region resource Cloud Logging dan Cloud Monitoring.
connectgateway.googleapis.com Aktifkan kemampuan untuk memberi Cloud Customer Care akses hanya baca ke cluster Anda untuk mendiagnosis masalah.
dl.google.com Download dan instal Google Cloud SDK.
gkeconnect.googleapis.com Menetapkan saluran yang digunakan untuk menerima permintaan dari Google Cloud dan mengirimkan respons. Jika cluster Anda didaftarkan ke fleet menggunakan Google Cloud region, Anda harus memasukkan REGION-gkeconnect.googleapis.com ke daftar yang diizinkan (misalnya, us-central1-gkeconnect.googleapis.com). Jika Anda tidak menentukan region, cluster akan menggunakan instance layanan Connect global, dan Anda harus memasukkan gkeconnect.googleapis.com ke daftar yang diizinkan. Jika Anda perlu menemukan lokasi keanggotaan fleet untuk cluster Anda, jalankan gcloud container fleet memberships list. Untuk mengetahui informasi selengkapnya, lihat gkeConnect.location.
gkehub.googleapis.com Buat resource keanggotaan fleet sisi Google Cloudyang sesuai dengan cluster yang Anda hubungkan Google Cloud.
gkeonprem.googleapis.com Buat dan kelola siklus proses cluster di infrastruktur bare metal dan VMware.
gkeonprem.mtls.googleapis.com Buat dan kelola siklus proses cluster di infrastruktur bare metal dan VMware. Versi API ini otomatis digunakan dengan mTLS.
iam.googleapis.com Buat akun layanan yang dapat Anda gunakan untuk melakukan autentikasi ke Google Cloud dan melakukan panggilan API.
iamcredentials.googleapis.com Menyediakan kontrol penerimaan dan pelaporan telemetri untuk logging audit.
kubernetesmetadata.googleapis.com Cluster menggunakan API ini sebagai endpoint untuk mengirim metadata Kubernetes ke Google Cloud. Metadata sangat penting untuk pemantauan, proses debug, dan pemulihan cluster.
logging.googleapis.com Menulis entri log dan mengelola konfigurasi Cloud Logging Anda.
monitoring.googleapis.com Mengelola data dan konfigurasi Cloud Monitoring Anda.
oauth2.googleapis.com Mengautentikasi melalui pertukaran token OAuth untuk akses akun.
opsconfigmonitoring.googleapis.com Kumpulkan metadata untuk resource Kubernetes seperti pod, deployment, atau node untuk memperkaya kueri metrik.
releases.hashicorp.com Opsional. Gunakan klien Terraform di workstation admin Anda untuk menjalankan perintah, seperti terraform apply.
securetoken.googleapis.com Mengambil token refresh untuk otorisasi workload identity.
servicecontrol.googleapis.com Menulis entri log audit ke Cloud Audit Logs.
serviceusage.googleapis.com Aktifkan dan validasi layanan dan API.
stackdriver.googleapis.com Mengelola metadata Google Cloud Observability, seperti akun Stackdriver.
storage.googleapis.com Mengelola penyimpanan objek dan bucket, seperti objek Artifact Registry.
sts.googleapis.com Tukarkan kredensial Google atau pihak ketiga dengan token akses yang memiliki masa aktif singkat ke Google Cloud resource.
www.googleapis.com Mengautentikasi token layanan dari permintaan layanan masuk Google Cloud .

Selain URL ini, server proxy juga harus mengizinkan semua mirror paket yang diperlukan oleh pengelola paket sistem operasi Anda. Anda dapat memperbarui konfigurasi pengelola paket untuk menggunakan daftar yang lebih deterministik, yang lebih mudah dikelola.

Mengonfigurasi proxy untuk pengelola paket di node cluster

Google Distributed Cloud menggunakan pengelola paket APT di Ubuntu dan pengelola paket DNF di Red Hat Enterprise Linux. Pastikan pengelola paket OS memiliki konfigurasi proxy yang benar.

Lihat dokumentasi distribusi OS Anda untuk mengetahui detail tentang cara mengonfigurasi proxy. Contoh berikut menunjukkan salah satu cara untuk mengonfigurasi setelan proxy:

APT

Perintah ini menunjukkan cara mengonfigurasi proxy untuk APT:

sudo touch /etc/apt/apt.conf.d/proxy.conf

echo 'Acquire::http::Proxy "http://USERNAME:PASSWORD@DOMAIN";' \
    >> /etc/apt/apt.conf.d/proxy.conf

echo 'Acquire::https::Proxy "http://USERNAME:PASSWORD@DOMAIN";' \
    >> /etc/apt/apt.conf.d/proxy.conf

Ganti USERNAME:PASSWORD@DOMAIN dengan detail khusus untuk konfigurasi Anda. Misalnya, jika proxy Anda tidak memerlukan login, jangan sertakan USERNAME:PASSWORD@ dengan DOMAIN.

DNF

Perintah ini menunjukkan cara mengonfigurasi proxy untuk DNF:

echo "proxy=http://USERNAME:PASSWORD@DOMAIN" >> /etc/dnf/dnf.conf

Ganti USERNAME:PASSWORD@DOMAIN dengan detail khusus untuk konfigurasi Anda. Misalnya, jika proxy Anda tidak memerlukan login, jangan sertakan USERNAME:PASSWORD@ dengan DOMAIN.

Mengonfigurasi detail proxy dalam file konfigurasi cluster

Dalam file konfigurasi cluster, tetapkan nilai berikut untuk mengonfigurasi cluster agar menggunakan proxy:

proxy.url

String yang menentukan URL proxy. Mesin bootstrap dan node menggunakan proxy ini untuk mengakses internet. String URL proxy harus diawali dengan skemanya, misalnya http:// atau https://.

proxy.noProxy

Daftar alamat IP, nama host, dan nama domain yang tidak boleh melalui server proxy.

Dalam sebagian besar kasus, Anda tidak perlu menambahkan item apa pun ke daftar ini.

noProxy kasus penggunaan:

  • Menggunakan mirror paket pribadi, yang berada di jaringan pribadi yang sama (Tidak memerlukan proxy untuk mengakses)

  • Menggunakan mirror registry pribadi, yang berada di jaringan pribadi yang sama (Tidak memerlukan proxy untuk mengakses)

Contoh

Berikut adalah contoh setelan proxy dalam file konfigurasi cluster:

  proxy:
     url: http://USERNAME:PASSWORD@DOMAIN
     noProxy:
     - example1.com
     - example2.com

Konfigurasi proxy untuk GKE Identity Service

Jika Anda menggunakan Layanan Identitas GKE untuk autentikasi di cluster Google Distributed Cloud, langkah-langkah tambahan berikut diperlukan untuk memastikan Layanan Identitas GKE berfungsi saat berada di belakang proxy.

  1. Dalam file konfigurasi cluster, tetapkan detail proxy di bagian OIDC authentication untuk setelan GKE Identity Service.

      authentication:
        oidc:
          proxy: http://USERNAME:PASSWORD@DOMAIN
    
  2. Perbarui konfigurasi server proxy Anda untuk mengizinkan koneksi ke URL autentikasi penyedia OIDC Anda.

Cara penggunaan proxy di dalam cluster

Sebagai aturan umum, perintah bmctl dan proses yang mereka jalankan menggunakan konfigurasi proxy yang ditentukan oleh variabel lingkungan HTTPS_PROXY dan NO_PROXY, jika variabel tersebut ditentukan. Jika tidak, bmctl akan menggunakan konfigurasi proxy dari file konfigurasi cluster. Perintah lain yang dijalankan di workstation admin, di mesin node cluster, atau oleh cluster bootstrap menggunakan konfigurasi proxy dari file konfigurasi cluster.

Pengelola paket OS di setiap node menggunakan file konfigurasinya sendiri untuk setelan proxy.

Ganti konfigurasi proxy di mesin bootstrap Anda

Anda dapat menjalankan workstation admin di belakang proxy yang berbeda dengan yang digunakan oleh komputer node dengan mengganti setelan proxy dalam file konfigurasi cluster. Untuk mengganti setelan proxy, tetapkan variabel lingkungan berikut di mesin bootstrap:

export HTTPS_PROXY=http://USERNAME:PASSWORD@DOMAIN

Ganti USERNAME:PASSWORD@DOMAIN dengan detail khusus untuk konfigurasi Anda.

export NO_PROXY=example1.com,example2.com

Ganti example1.com,example2.com dengan alamat IP, nama host, dan nama domain yang tidak boleh melalui server proxy.

Efek samping

Saat dijalankan sebagai root, bmctl akan memperbarui konfigurasi proxy Docker di mesin bootstrap. Jika Anda tidak menjalankan bmctl sebagai root, konfigurasi proxy Docker secara manual.

Aturan firewall

Siapkan aturan firewall Anda seperti yang diuraikan di bagian berikut untuk mengizinkan traffic yang dijelaskan dan diperlukan untuk Google Distributed Cloud.

Untuk persyaratan port prasyarat Google Distributed Cloud, lihat Penggunaan port.

Aturan firewall untuk alamat IP node cluster

Tabel berikut menjelaskan aturan firewall untuk alamat IP yang tersedia di cluster Anda.

Dari

Port sumber

Ke

Port

Protokol

Deskripsi

Node cluster 1024 - 65535 cloudresourcemanager.googleapis.com
gkeconnect.googleapis.com
gkehub.googleapis.com
443 TCP/HTTPS Akses diperlukan untuk pendaftaran fleet.
Pengumpul Cloud Logging, yang berjalan di node cluster 1024 - 65535 oauth2.googleapis.com
logging.googleapis.com
stackdriver.googleapis.com
servicecontrol.googleapis.com
storage.googleapis.com
www.googleapis.com
443 TCP/HTTPS
Pengumpul Metadata Cloud, yang berjalan di node cluster 1024 - 65535 opsconfigmonitoring.googleapis.com 443 TCP/HTTPS
Pengumpul Cloud Monitoring, yang berjalan di node cluster 1024 - 65535 oauth2.googleapis.com
monitoring.googleapis.com
stackdriver.googleapis.com
servicecontrol.googleapis.com
443 TCP/HTTPS
Node cluster 1024 - 65535 Registry Docker lokal di lokasi Bergantung pada registri Anda TCP/HTTPS Wajib jika Google Distributed Cloud dikonfigurasi untuk menggunakan registry Docker pribadi lokal, bukan gcr.io.
Node cluster 1024 - 65535 gcr.io
oauth2.googleapis.com
storage.googleapis.com
URL Google API dalam bentuk *.googleapis.com yang diperlukan untuk layanan yang diaktifkan untuk cluster admin.
443 TCP/HTTPS Mendownload image dari registry Docker publik. Tidak diperlukan jika menggunakan registry Docker pribadi.
Connect Agent, yang berjalan di node cluster 1024 - 65535 cloudresourcemanager.googleapis.com
gkeconnect.googleapis.com
gkehub.googleapis.com
www.googleapis.com
iam.googleapis.com
iamcredentials.googleapis.com
oauth2.googleapis.com
securetoken.googleapis.com
sts.googleapis.com
accounts.google.com
443 TCP/HTTPS Untuk mengetahui informasi selengkapnya tentang traffic yang dikelola oleh Connect Agent, lihat Ringkasan Connect Agent.
Node cluster 1024 - 65535 gkeonprem.googleapis.com
gkeonprem.mtls.googleapis.com
443 TCP/HTTPS Buat dan kelola siklus proses cluster di infrastruktur bare metal dan VMware.

Aturan firewall untuk komponen yang tersisa

Aturan yang dijelaskan dalam tabel berikut berlaku untuk semua komponen lain yang tidak tercantum di bagian sebelumnya.

Dari

Port sumber

Ke

Port

Protokol

Deskripsi

Klien dan pengguna akhir aplikasi Semua VIP ingress Istio 80, 443 TCP Traffic pengguna akhir ke layanan ingress cluster pengguna.
Workstation admin 32768 - 60999 gcr.io
cloudresourcemanager.googleapis.com
oauth2.googleapis.com
storage.googleapis.com
URL *.googleapis.com yang diperlukan untuk layanan yang diaktifkan untuk cluster ini
443 TCP/HTTPS Mendownload image Docker dari registry Docker publik.
Workstation admin 32768 - 60999 gcr.io
cloudresourcemanager.googleapis.com
iam.googleapis.com
oauth2.googleapis.com
serviceusage.googleapis.com
storage.googleapis.com
URL *.googleapis.com yang diperlukan untuk layanan yang diaktifkan untuk cluster admin atau pengguna
443 TCP/HTTPS Pemeriksaan awal (validasi).