Menginstal di belakang proxy

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 dari 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.

  1. Di file konfigurasi cluster, setel detail proxy di OIDC Bagian authentication untuk setelan GKE Identity Service.

      authentication:
        oidc:
          proxy: http://USERNAME:PASSWORD@DOMAIN
    
  2. 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

Kepada

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 dengan formulir *.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

Kepada

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).