Halaman ini menunjukkan cara menyiapkan aturan proxy dan firewall untuk GDCV untuk Bare Metal.
Mengonfigurasi server proxy
Jika mesin yang Anda gunakan untuk node cluster dan bootstrap menggunakan server proxy untuk mengakses internet, Anda harus:
- Mengonfigurasi proxy untuk pengelola paket pada node cluster
- Konfigurasi detail proxy dalam file konfigurasi cluster.
Prasyarat
Server proxy Anda harus mengizinkan koneksi ke alamat berikut:
Alamat | Tujuan |
---|---|
*.gcr.io |
Ambil image dari Container Registry. |
accounts.google.com |
Memproses permintaan otorisasi untuk OpenID dan menemukan kunci publik untuk memverifikasi token. |
cloudresourcemanager.googleapis.com |
Selesaikan metadata terkait project Google Cloud yang terhubung dengan 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. |
gkeconnect.googleapis.com |
Menetapkan saluran yang digunakan untuk menerima permintaan dari Google Cloud dan respons masalah. |
gkehub.googleapis.com |
Buat resource keanggotaan fleet sisi Google Cloud yang sesuai dengan cluster yang ingin Anda hubungkan ke 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. |
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 |
Lakukan autentikasi melalui pertukaran token OAuth untuk mendapatkan akses akun. |
opsconfigmonitoring.googleapis.com |
Kumpulkan metadata untuk resource Kubernetes seperti pod, deployment, atau node untuk memperkaya kueri metrik. |
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 penyimpanan objek dan bucket, seperti objek Container Registry. |
sts.googleapis.com |
Tukarkan kredensial Google atau pihak ketiga dengan token akses berumur pendek ke resource Google Cloud. |
www.googleapis.com |
Mengautentikasi token layanan dari permintaan layanan Google Cloud yang masuk. |
Selain URL tersebut, server proxy juga harus mengizinkan pencerminan 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 pada node cluster
GDCV untuk Bare Metal menggunakan pengelola paket APT di Ubuntu dan pengelola paket DNF di CentOS dan Red Hat Linux. Pastikan pengelola paket OS memiliki konfigurasi proxy yang benar.
Lihat dokumentasi distribusi OS untuk mengetahui detail tentang cara mengonfigurasi proxy. 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 konfigurasi Anda.
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.
Mengonfigurasi detail proxy di file konfigurasi cluster
Dalam file konfigurasi cluster, tetapkan nilai berikut untuk mengonfigurasi cluster agar dapat 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.
Umumnya, Anda tidak perlu menambahkan item apa pun ke daftar ini.
Kasus penggunaan noProxy
:
Menggunakan pencerminan paket pribadi, yang terletak di jaringan pribadi yang sama (Tidak memerlukan proxy untuk mengakses)
Menggunakan pencerminan 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
Cara proxy digunakan di dalam cluster
Prinsipnya, perintah bmctl
dan proses yang dihasilkannya menggunakan konfigurasi
proxy yang ditentukan oleh variabel lingkungan HTTPS_PROXY
dan NO_PROXY
,
if variabel tersebut ditentukan. Jika tidak, bmctl
akan menggunakan konfigurasi proxy dari
file konfigurasi cluster. Perintah lain yang dijalankan di workstation
admin, pada 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 pada file 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 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 pada
mesin bootstrap. Jika Anda tidak menjalankan bmctl
sebagai root, konfigurasikan proxy Docker
secara manual.
Aturan firewall
Siapkan aturan firewall seperti yang diuraikan di bagian berikut untuk mengizinkan traffic yang dijelaskan yang diperlukan untuk GDCV untuk Bare Metal.
Guna mengetahui persyaratan port prasyarat untuk GKE di Bare Metal, 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 |
Kepada |
Port |
Protocol |
Deskripsi |
---|---|---|---|---|---|
Node cluster | 1024 - 65.535 | cloudresourcemanager.googleapis.com gkeconnect.googleapis.com gkehub.googleapis.com |
443 | TCP/HTTPS | Akses diperlukan untuk pendaftaran armada. |
Cloud Logging Collector, yang berjalan pada 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 GKE di Bare Metal dikonfigurasi untuk menggunakan registry Docker pribadi lokal, bukan gcr.io . |
Node cluster | 1024 - 65.535 | gcr.io oauth2.googleapis.com storage.googleapis.com URL Google API apa pun dengan format *.googleapis.com diperlukan untuk
layanan yang diaktifkan untuk cluster admin. |
443 | TCP/HTTPS | Mendownload image dari registry Docker publik. Tidak diperlukan jika menggunakan registry Docker pribadi. |
Menghubungkan Agen, yang berjalan pada 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 Connect Agent, lihat Ringkasan Connect Agent. |
Node cluster | 1024 - 65.535 |
gkeonprem.googleapis.com gkeonprem.mtls.googleapis.com |
443 | TCP/HTTPS | Buat dan kelola siklus proses cluster pada infrastruktur bare metal dan VMware. |
Aturan firewall untuk komponen lainnya
Aturan yang dijelaskan dalam tabel berikut berlaku untuk semua komponen lain yang tidak tercantum di bagian sebelumnya.
Dari |
Port sumber |
Kepada |
Port |
Protocol |
Deskripsi |
---|---|---|---|---|---|
Klien dan pengguna akhir aplikasi | Semua | VIP akses masuk Istio | 80, 443 | TCP | Traffic pengguna akhir ke layanan ingress cluster pengguna. |
Workstation admin | 32.768 - 60.999 | gcr.io cloudresourcemanager.googleapis.com oauth2.googleapis.com storage.googleapis.com URL *.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 | 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
bagi admin atau cluster pengguna |
443 | TCP/HTTPS | Pemeriksaan preflight (validasi). |