Halaman ini menunjukkan cara menyiapkan aturan proxy dan firewall untuk Google Distributed Cloud.
Mengonfigurasi server proxy
Jika mesin yang Anda gunakan untuk node bootstrap dan cluster menggunakan server proxy untuk mengakses internet, Anda harus:
- Mengonfigurasi proxy untuk pengelola paket pada node cluster
- Konfigurasi detail proxy di file konfigurasi cluster.
Prasyarat
Server proxy Anda harus mengizinkan koneksi ke alamat berikut:
Alamat | Tujuan |
---|---|
*.gcr.io |
Mengambil image dari Container Registry. |
accounts.google.com |
Memproses permintaan otorisasi untuk OpenID dan temukan kunci publik untuk memverifikasi token. |
binaryauthorization.googleapis.com |
Wajib jika menggunakan Otorisasi Biner. Mengizinkan (atau menolak) permintaan dari cluster untuk menjalankan image container. |
cloudresourcemanager.googleapis.com |
Menyelesaikan metadata terkait project Google Cloud yang sedang ditempati cluster terhubung dengan Anda. |
compute.googleapis.com |
Memverifikasi 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 menyelesaikan semua jenis permasalahan. |
dl.google.com |
Download dan instal Google Cloud SDK. |
gkeconnect.googleapis.com |
Menetapkan saluran yang digunakan untuk menerima permintaan dari Google Cloud dan
respons masalah. Jika cluster Anda didaftarkan ke fleet menggunakan
Region Google Cloud, Anda harus mengizinkan
REGION-gkeconnect.googleapis.com (misalnya,
us-central1-gkeconnect.googleapis.com ). Jika Anda tidak menentukan
region, cluster akan menggunakan instance layanan Connect global, dan Anda mengizinkan
gkeconnect.googleapis.com . Jika Anda perlu menemukan lokasi keanggotaan fleet
untuk cluster Anda, jalankan gcloud container fleet memberships list .
Untuk informasi selengkapnya, lihat
gkeConnect.location
|
gkehub.googleapis.com |
Buat sisi Google Cloud keanggotaan fleet resource yang sesuai dengan cluster yang Anda hubungkan Google Cloud. |
gkeonprem.googleapis.com |
Membuat dan mengelola siklus proses cluster pada bare metal dan VMware infrastruktur IT. |
gkeonprem.mtls.googleapis.com |
Membuat dan mengelola siklus proses cluster pada bare metal dan VMware infrastruktur IT. Versi API ini otomatis digunakan bersama mTLS. |
iam.googleapis.com |
Membuat akun layanan, yang dapat Anda gunakan untuk melakukan otentikasi 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 ini sangat penting untuk pemantauan, proses debug, dan pemulihan data. |
logging.googleapis.com |
Tulis entri log dan kelola konfigurasi Cloud Logging Anda. |
monitoring.googleapis.com |
Mengelola data dan konfigurasi Cloud Monitoring Anda. |
oauth2.googleapis.com |
Lakukan autentikasi melalui pertukaran token OAuth untuk mengakses 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 aplikasi
yang tinggi, seperti terraform apply . |
securetoken.googleapis.com |
Mengambil token refresh untuk otorisasi workload identity. |
servicecontrol.googleapis.com |
Menulis entri log audit ke dalam Cloud Audit Logs. |
serviceusage.googleapis.com |
Mengaktifkan dan memvalidasi layanan dan API. |
stackdriver.googleapis.com |
Mengelola metadata Kemampuan Observasi Google Cloud, seperti akun Stackdriver. |
storage.googleapis.com |
Mengelola bucket dan penyimpanan objek, seperti objek Container Registry. |
sts.googleapis.com |
Tukar kredensial Google atau pihak ketiga dengan token akses berumur pendek untuk akses terperinci ke resource Google Cloud tertentu. |
www.googleapis.com |
Mengautentikasi token layanan dari layanan Google Cloud yang masuk permintaan. |
Selain URL ini, server proxy juga harus mengizinkan pencerminan paket yang diperlukan oleh pengelola paket sistem operasi Anda. Anda dapat memperbarui paket menggunakan daftar yang lebih determenistik, sehingga lebih mudah dikelola.
Mengonfigurasi proxy untuk pengelola paket pada node cluster
Google Distributed Cloud menggunakan pengelola paket APT di Ubuntu dan paket DNF Red Hat Enterprise Linux. Pastikan pengelola paket OS memiliki konfigurasi {i>proxy<i} yang benar.
Lihat dokumentasi distribusi OS untuk detail tentang cara mengonfigurasi {i>proxy<i}. Contoh berikut menunjukkan 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 Anda
konfigurasi Anda. Misalnya, jika proxy Anda tidak memerlukan login, jangan
menyertakan 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 Anda
konfigurasi Anda. Misalnya, jika proxy Anda tidak memerlukan login, jangan
menyertakan USERNAME:PASSWORD@
dengan DOMAIN
.
Mengonfigurasi detail proxy di file konfigurasi cluster
Dalam file konfigurasi cluster, tetapkan nilai berikut untuk mengonfigurasi cluster untuk menggunakan proxy:
proxy.url
String yang menentukan URL proxy. Mesin {i>bootstrap<i} dan {i>node<i}
menggunakan ini
{i>proxy<i} untuk mengakses internet. {i>String<i} URL {i>proxy<i} harus
dimulai dengan skemanya,
misalnya http://
atau https://
.
proxy.noProxy
Daftar alamat IP, nama {i>host<i}, dan nama domain yang tidak seharusnya melewati server proxy.
Umumnya, Anda tidak perlu menambahkan item apa pun ke daftar ini.
Kasus penggunaan noProxy
:
Menggunakan duplikasi paket pribadi, yang terletak di jaringan pribadi yang sama (Tidak memerlukan proxy untuk mengakses)
Menggunakan duplikat registry pribadi, yang terletak di jaringan pribadi yang sama (Tidak memerlukan proxy untuk mengakses)
Contoh
Berikut adalah contoh setelan proxy dalam konfigurasi cluster file:
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 Google Distributed Cloud cluster, maka langkah tambahan berikut diperlukan untuk memastikan GKE Identity Service berfungsi saat berada di belakang proxy.
Di file konfigurasi cluster, setel detail proxy di OIDC Bagian
authentication
untuk setelan GKE Identity Service.authentication: oidc: proxy: http://USERNAME:PASSWORD@DOMAIN
Perbarui konfigurasi server proxy untuk mengizinkan koneksi ke OIDC Anda URL otentikasi penyedia Anda.
Cara proxy digunakan di dalam cluster
Prinsipnya, perintah bmctl
dan proses yang dihasilkannya menggunakan proxy
yang ditentukan oleh variabel lingkungan HTTPS_PROXY
dan NO_PROXY
,
jika telah ditentukan. Jika tidak, bmctl
akan menggunakan konfigurasi proxy dari
file konfigurasi cluster Anda. Perintah lain yang dijalankan pada admin
di workstation node cluster, atau oleh cluster bootstrap menggunakan proxy
konfigurasi dari file konfigurasi cluster.
Pengelola paket OS di setiap {i>node<i} menggunakan file konfigurasinya sendiri untuk setelan proxy.
Mengganti konfigurasi proxy di mesin bootstrap
Anda dapat menjalankan workstation admin di balik proxy yang berbeda dengan yang digunakan oleh mesin node Anda dengan mengganti setelan proxy dalam konfigurasi cluster . Untuk mengganti setelan proxy, setel variabel lingkungan berikut pada mesin bootstrap:
export HTTPS_PROXY=http://USERNAME:PASSWORD@DOMAIN
Ganti USERNAME:PASSWORD@DOMAIN
dengan detail khusus untuk Anda
konfigurasi Anda.
export NO_PROXY=example1.com,example2.com
Ganti example1.com,example2.com dengan alamat IP, nama host, dan nama domain yang seharusnya tidak melewati server {i>proxy<i}.
Efek samping
Saat dijalankan sebagai root, bmctl
akan memperbarui konfigurasi proxy Docker di
mesin bootstrap. Jika Anda tidak menjalankan bmctl
sebagai root, konfigurasikan 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 ke cluster Anda.
Dari |
Port sumber |
Ke |
Port |
Protokol |
Deskripsi |
---|---|---|---|---|---|
Node cluster | 1024 - 65.535 | cloudresourcemanager.googleapis.com gkeconnect.googleapis.com gkehub.googleapis.com |
443 | TCP/HTTPS | Akses diperlukan untuk pendaftaran perangkat. |
Cloud Logging Collector, yang berjalan di node cluster | 1024 - 65.535 | oauth2.googleapis.com logging.googleapis.com stackdriver.googleapis.com servicecontrol.googleapis.com storage.googleapis.com www.googleapis.com |
443 | TCP/HTTPS | |
Cloud Metadata Collector, yang berjalan pada node cluster | 1024 - 65.535 | opsconfigmonitoring.googleapis.com |
443 | TCP/HTTPS | |
Cloud Monitoring Collector, yang berjalan pada node cluster | 1024 - 65.535 | oauth2.googleapis.com monitoring.googleapis.com stackdriver.googleapis.com servicecontrol.googleapis.com |
443 | TCP/HTTPS | |
Node cluster | 1024 - 65.535 | Registry Docker lokal lokal | Bergantung pada registry Anda | TCP/HTTPS | Diperlukan jika Google Distributed Cloud dikonfigurasi untuk menggunakan server
Registry Docker, bukan gcr.io . |
Node cluster | 1024 - 65.535 | gcr.io
oauth2.googleapis.com storage.googleapis.com Semua URL Google API berformat *.googleapis.com yang diperlukan untuk
dan mengaktifkan layanan 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 - 65.535 | 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 Agen Connect, lihat Ringkasan Connect Agent. |
Node cluster | 1024 - 65.535 |
gkeonprem.googleapis.com gkeonprem.mtls.googleapis.com |
443 | TCP/HTTPS | Membuat dan mengelola siklus proses cluster pada bare metal dan VMware infrastruktur IT. |
Aturan firewall untuk komponen lainnya
Aturan yang dijelaskan dalam tabel berikut berlaku untuk semua komponen lain yang tidak yang tercantum di bagian sebelumnya.
Dari |
Port sumber |
Ke |
Port |
Protokol |
Deskripsi |
---|---|---|---|---|---|
Klien dan pengguna akhir aplikasi | Semua | VIP masuknya Istio | 80, 443 | TCP | Traffic pengguna akhir ke layanan masuk cluster pengguna. |
Workstation admin | 32.768 - 60.999 | 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 | 32.768 - 60.999 | gcr.io
cloudresourcemanager.googleapis.com iam.googleapis.com oauth2.googleapis.com serviceusage.googleapis.com storage.googleapis.com URL *.googleapis.com apa pun yang diperlukan untuk layanan yang diaktifkan
untuk admin atau cluster pengguna |
443 | TCP/HTTPS | Pemeriksaan preflight (validasi). |