Topik ini menunjukkan cara merutekan traffic dari layanan pengelolaan GKE di AWS dan Connect melalui proxy HTTP/HTTPS.
GKE di AWS memerlukan akses internet karena alasan berikut:
- Layanan pengelolaan mendaftarkan cluster pengguna dengan Connect.
- Cluster pengguna menjalankan Connect Agent.
- Semua node cluster pengguna dan layanan pengelolaan mendownload image dari Container Registry.
Anda dapat merutekan traffic ini melalui proxy HTTP atau HTTPS. Mulai GKE di AWS 1.8, Anda dapat mengonfigurasi setelan proxy individual untuk layanan pengelolaan dan setiap cluster. Untuk mengetahui informasi selengkapnya tentang cara mengubah setelan proxy, lihat Mengubah setelan proxy cluster.
Anda mendeklarasikan setelan proxy dalam file JSON yang dirujuk di
anthos-gke.yaml
.
Prasyarat
Sebelum mengonfigurasi GKE di AWS untuk menggunakan proxy, Anda harus mengaktifkan endpoint VPC AWS, menentukan grup keamanan untuk proxy, dan mengizinkan koneksi keluar ke layanan Google Cloud tertentu.
Untuk menggunakan proxy HTTP, cluster pengguna Anda harus menjalankan Kubernetes 1.17 atau yang lebih tinggi.
Mengaktifkan endpoint VPC
Sebelum mengonfigurasi proxy, Anda harus membuat endpoint VPC untuk penginstalan GKE di AWS. Endpoint VPC memungkinkan resource di subnet pribadi mengakses layanan AWS tanpa akses internet publik.
Tabel berikut mencantumkan layanan AWS yang memerlukan endpoint VPC untuk GKE di AWS, beserta jenis endpoint dan Grup Keamanan untuk setiap komponen GKE di AWS yang memerlukan akses ke endpoint.
Layanan | Jenis endpoint | Grup keamanan |
---|---|---|
Penskalaan Otomatis | Antarmuka | Pengelolaan, bidang kontrol, node pool |
EC2 | Antarmuka | Pengelolaan, bidang kontrol, node pool |
Load Balancing | Antarmuka | Pengelolaan, bidang kontrol, node pool |
Key Management Service | Antarmuka | Pengelolaan, bidang kontrol, node pool |
S3 | Gateway | Pengelolaan, bidang kontrol, node pool |
Security Token Service (STS) | Antarmuka | Pengelolaan, bidang kontrol, node pool |
Anda dapat membuat endpoint dari Konsol VPC AWS. Opsi yang Anda tetapkan saat membuat endpoint VPC bergantung pada konfigurasi VPC Anda.
Menentukan grup keamanan
Komponen GKE di AWS Anda harus dapat terhubung ke server proxy. Buat atau temukan grup keamanan AWS yang mengizinkan koneksi keluar ke server proxy Anda. Grup keamanan harus mengizinkan akses keluar dari grup keamanan Pengelolaan, Bidang kontrol, dan Kumpulan node ke alamat dan port proxy. Simpan ID grup keamanan ini
(misalnya, sg-12345678
).
Jenis | Protokol | Dari port | Untuk mengalihkan | Alamat |
---|---|---|---|---|
Keluar | TCP | Port proxy | Port proxy | Grup keamanan proxy |
Mengizinkan koneksi keluar ke Google Cloud layanan
Agar GKE di AWS dapat terhubung ke Google Cloud layanan, server proxy harus mengizinkan traffic ke domain berikut:
gkeconnect.googleapis.com
gkehub.googleapis.com
oauth2.googleapis.com
storage.googleapis.com
www.googleapis.com
gcr.io
k8s.gcr.io
EC2-REGION.ec2.archive.ubuntu.com
Ganti EC2-REGION dengan region AWS EC2 tempat penginstalan
GKE di AWS Anda berjalan. Contoh, us-west-1.ec2.archive.ubuntu.com/
.
Jika Anda menggunakan Cloud Service Mesh dengan Prometheus dan Kiali, izinkan akses keluar dari domain berikut:
docker.io
quay.io
Membuat file JSON konfigurasi proxy
File JSON konfigurasi proxy berisi satu objek yang berisi tiga
pasangan nilai/kunci, dengan nama kunci httpProxy
, httpsProxy
, dan noProxy
.
Nama pengguna dan sandi dienkripsi dengan enkripsi amplop menggunakan
kunci AWS KMS Anda sebelum
diterapkan ke server.
{
"httpProxy": "HTTP_PROXY",
"httpsProxy": "HTTPS_PROXY",
"noProxy": "NO_PROXY"
}
Ganti kode berikut:
- HTTP_PROXY dengan alamat server proxy untuk merutekan permintaan HTTP.
- HTTPS_PROXY dengan server proxy untuk merutekan permintaan HTTPS.
- NO_PROXY dengan daftar IP, rentang CIDR, dan domain opsional tempat proxy tidak digunakan.
Lihat Referensi konfigurasi untuk mengetahui informasi selengkapnya.
Misalnya, konfigurasi berikut menggunakan proxy di 10.0.0.254
dan
mengecualikan sejumlah situs.
{
"httpProxy": "http://user:password@10.0.0.254:80",
"httpsProxy": "http://user:password@10.0.0.254:443",
"noProxy": "localhost,127.0.0.1,169.254.169.254,10.0.0.0/16,example.com"
}
Menambahkan proxy ke anthos-gke.yaml
Konfigurasi AWSManagementService Anda dengan melakukan langkah-langkah berikut:
Beralih ke direktori dengan konfigurasi GKE di AWS. Anda membuat direktori ini saat Menginstal layanan pengelolaan.
cd anthos-aws
Buka
anthos-gke.yaml
di editor teks. Tambahkan nilai untukspec.proxy
seperti pada contoh berikut.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSManagementService metadata: name: management spec: version: aws-1.14.1-gke.0 proxy: PROXY_JSON_FILE securityGroupIDs: - SECURITY_GROUP_ID ...
Ganti kode berikut:
- PROXY_JSON_FILE dengan jalur relatif konfigurasi JSON proxy Anda.
- SECURITY_GROUP_ID dengan ID grup keamanan yang memiliki akses ke server proxy.
Simpan file.
Jalankan
anthos-gke aws management init
untuk membuat fileanthos-gke.status.yaml
dengan konfigurasi tambahan. Perintahinit
juga memvalidasi objekAWSManagementService
di fileanthos-gke.yaml
Anda.anthos-gke aws management init
Jalankan
anthos-gke aws management apply
untuk mengupdate layanan pengelolaan Anda di AWS.anthos-gke aws management apply
Selanjutnya, Buat cluster pengguna. Sertakan grup keamanan proxy di
AWSCluster
danAWSNodePool
'sspec.controlPlane.securityGroupIDs
danspec.securityGroupIDs
, masing-masing. Cluster kemudian memiliki akses ke proxy.
Referensi konfigurasi
Kolom | Deskripsi | Contoh | Wajib |
---|---|---|---|
httpProxy |
URL server proxy. Nilai harus menyertakan nama host/alamat IP dan secara opsional port, nama pengguna, dan sandi. | "http://user:password@10.184.37.42:80" |
Ya |
httpsProxy |
URL proxy untuk traffic HTTPS yang terenkripsi. URL httpProxy akan digunakan jika httpsProxy tidak diberikan. |
"http://user:password@10.101.16.31:80" |
Tidak |
noProxy |
Daftar URL yang dipisahkan koma untuk dikecualikan dari proxy. Setiap nilai dapat berupa alamat IP, rentang CIDR, nama domain, atau karakter asteris (* ). Domain yang ditentukan dengan titik di depannya (mis. ".google.com") menunjukkan bahwa subdomain diperlukan. Satu tanda bintang * menunjukkan bahwa tidak ada proxy yang harus dilakukan. |
"1.2.3.4,10.0.0.0/16,example.com,.site.com" |
Tidak |
Langkah berikutnya
Untuk mengetahui informasi selengkapnya tentang cara menyelesaikan penginstalan GKE di AWS, lihat artikel berikut:
Jika Anda perlu membuat AWS VPC khusus, lihat Menginstal layanan pengelolaan.
Jika Anda memiliki VPC AWS yang sudah ada, lihat Mengintegrasikan dengan infrastruktur yang ada.
Untuk mengetahui informasi tentang cara mengubah setelan proxy cluster Anda, lihat: