Halaman ini menunjukkan cara menyiapkan aturan proxy dan firewall untuk Google Distributed Cloud.
Mengonfigurasi server proxy
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
- Mengonfigurasi detail proxy dalam file konfigurasi cluster.
Prasyarat
Server proxy Anda harus mengizinkan koneksi ke alamat berikut:
| Alamat | Tujuan |
|---|---|
*.gcr.io |
Mengambil 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. Mengotorisasi (atau menolak) permintaan dari cluster untuk menjalankan image container. |
cloudresourcemanager.googleapis.com |
Menyelesaikan metadata terkait Google Cloud project yang terhubung ke cluster. |
compute.googleapis.com |
Memverifikasi region resource Cloud Logging dan Cloud Monitoring. |
connectgateway.googleapis.com |
Mengaktifkan kemampuan untuk memberikan akses hanya baca ke cluster Anda kepada Cloud Customer Care untuk mendiagnosis masalah. |
dl.google.com |
Mendownload dan menginstal Google Cloud SDK. |
gkeconnect.googleapis.com |
Membuat saluran yang digunakan untuk menerima permintaan dari Google Cloud dan
mengeluarkan respons. Jika cluster Anda terdaftar ke fleet menggunakan
Google Cloud region, Anda harus memasukkan
REGION-gkeconnect.googleapis.com (misalnya,
us-central1-gkeconnect.googleapis.com) ke daftar yang diizinkan. Jika Anda tidak menentukan
region, cluster akan menggunakan instance layanan Connect global, dan Anda 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 |
Membuat Google Cloud-sisi fleet resource keanggotaan yang sesuai dengan cluster yang Anda hubungkan dengan Google Cloud. |
gkeonprem.googleapis.com |
Membuat dan mengelola siklus proses cluster di infrastruktur bare metal dan VMware infrastruktur. |
gkeonprem.mtls.googleapis.com |
Membuat dan mengelola siklus proses cluster di infrastruktur bare metal dan VMware infrastruktur. Versi API ini otomatis digunakan dengan mTLS. |
iam.googleapis.com |
Membuat akun layanan, yang dapat Anda gunakan untuk mengautentikasi 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 |
Mengumpulkan 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 identitas workload. |
servicecontrol.googleapis.com |
Menulis entri log audit ke Cloud Audit Logs. |
serviceusage.googleapis.com |
Mengaktifkan dan memvalidasi layanan dan API. |
stackdriver.googleapis.com |
Mengelola metadata Google Cloud Observability, seperti akun Stackdriver. |
storage.googleapis.com |
Mengelola penyimpanan dan bucket objek, seperti objek Artifact Registry. |
sts.googleapis.com |
Menukarkan kredensial Google atau pihak ketiga dengan token akses berumur pendek ke Google Cloud resource. |
www.googleapis.com |
Mengautentikasi token layanan dari layanan masuk Google Cloud permintaan. |
Selain URL ini, server proxy juga harus mengizinkan mirror paket apa pun 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 yang 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 yang 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 dimulai 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.
Kasus penggunaan noProxy:
Menggunakan mirror paket pribadi, yang terletak di jaringan pribadi yang sama (Tidak memerlukan proxy untuk mengakses)
Menggunakan mirror registry pribadi, yang terletak 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 GKE Identity Service untuk autentikasi di cluster Google Distributed Cloud, langkah-langkah tambahan berikut diperlukan untuk memastikan GKE Identity Service berfungsi saat berada di belakang proxy.
Dalam file konfigurasi cluster, tetapkan detail proxy di bagian
authenticationOIDC untuk setelan GKE Identity Service.authentication: oidc: proxy: http://USERNAME:PASSWORD@DOMAINPerbarui konfigurasi server proxy Anda untuk mengizinkan koneksi ke URL autentikasi penyedia OIDC Anda.
Cara proxy digunakan di dalam cluster
Sebagai aturan umum, perintah bmctl dan proses yang dihasilkannya 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.
Mengganti konfigurasi proxy di mesin bootstrap
Anda dapat menjalankan workstation admin di belakang proxy yang berbeda dengan yang digunakan oleh mesin node Anda 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 yang 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 yang diperlukan untuk Google Distributed Cloud.
Untuk mengetahui persyaratan port prasyarat untuk 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.comgkeconnect.googleapis.comgkehub.googleapis.com |
443 | TCP/HTTPS | Akses diperlukan untuk pendaftaran fleet. |
| Pengumpul Cloud Logging, yang berjalan di node cluster | 1024 - 65535 | oauth2.googleapis.comlogging.googleapis.comstackdriver.googleapis.comservicecontrol.googleapis.comstorage.googleapis.comwww.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.commonitoring.googleapis.comstackdriver.googleapis.comservicecontrol.googleapis.com |
443 | TCP/HTTPS | |
| Node cluster | 1024 - 65535 | Registry Docker lokal di tempat | Bergantung pada registry Anda | TCP/HTTPS | Diperlukan jika Google Distributed Cloud dikonfigurasi untuk menggunakan registry Docker pribadi lokal
bukan gcr.io. |
| Node cluster | 1024 - 65535 | gcr.iooauth2.googleapis.comstorage.googleapis.comURL Google API apa pun 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 a registry Docker pribadi. |
| Connect Agent, yang berjalan di node cluster | 1024 - 65535 | cloudresourcemanager.googleapis.comgkeconnect.googleapis.comgkehub.googleapis.comwww.googleapis.comiam.googleapis.comiamcredentials.googleapis.comoauth2.googleapis.comsecuretoken.googleapis.comsts.googleapis.comaccounts.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.comgkeonprem.mtls.googleapis.com |
443 | TCP/HTTPS | Membuat dan mengelola siklus proses cluster di infrastruktur bare metal dan VMware infrastruktur. |
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.iocloudresourcemanager.googleapis.comoauth2.googleapis.comstorage.googleapis.comURL *.googleapis.com apa pun yang diperlukan untuk layanan yang diaktifkan
untuk cluster ini |
443 | TCP/HTTPS | Mendownload image Docker dari registry Docker publik. |
| Workstation admin | 32768 - 60999 | gcr.iocloudresourcemanager.googleapis.comiam.googleapis.comoauth2.googleapis.comserviceusage.googleapis.comstorage.googleapis.comURL *.googleapis.com apa pun yang diperlukan untuk layanan yang diaktifkan
untuk cluster admin atau pengguna |
443 | TCP/HTTPS | Pemeriksaan pra-penerbangan (validasi). |