Pada kluster ACK berbasis Terway, Terway menggunakan elastic network interfaces (ENIs) untuk memberikan alamat IP kepada kontainer. Setiap ENI yang dibuat oleh Terway dapat dikaitkan dengan hingga lima security group, sehingga memungkinkan penerapan kontrol akses berlapis pada pod tanpa perlu menyusun ulang jaringan Anda.
Prasyarat
Sebelum memulai, pastikan bahwa:
-
Kluster Anda menggunakan plugin jaringan Terway versi 1.1.1 atau lebih baru. Untuk melakukan upgrade Terway, lihat Manage components.
Pertimbangan
-
Hanya ENI baru: Perubahan security group hanya berlaku untuk ENI yang dibuat setelah konfigurasi disimpan. ENI yang sudah ada tetap menggunakan security group saat ini. Untuk menerapkan konfigurasi baru pada node yang sudah ada, hapus lalu tambahkan kembali setiap node tersebut. Lihat Remove a node dan Add existing ECS instances to an ACK cluster.
-
VPC yang sama: Semua security group harus berada dalam VPC yang sama dengan kluster.
-
Tipe yang sama: Semua security group harus memiliki tipe yang sama (regular atau enterprise).
-
Batas lima grup: Anda dapat mengaitkan paling banyak lima security group ke satu ENI. Terway menghitung baik
security_groupmaupunsecurity_groupsterhadap batas ini.
Kaitkan multiple security groups dengan ENI
kubectl
Secara default, Terway hanya mengaitkan satu security group dengan setiap ENI yang dibuatnya. Untuk mengaitkan security group tambahan, edit ConfigMap eni-config di namespace kube-system.
-
Buka ConfigMap untuk diedit:
kubectl edit cm eni-config -n kube-system -
Tambahkan bidang
security_groupssebagai larik JSON di samping bidangsecurity_groupyang sudah ada.Terway menerapkan semua security group yang tercantum di kedua bidang
security_groupdansecurity_groups. Total gabungan tidak boleh melebihi lima grup."security_group": "sg-bp19k3sj8dk3dcd7****", "security_groups": ["sg-bp1b39sjf3v49c33****","sg-bp1bpdfg35tg****"], -
Buat ulang pod Terway agar konfigurasi berlaku:
kubectl delete pod -n kube-system -l app=terway-eniipTunggu hingga semua pod Terway kembali ke status
Runningsebelum melanjutkan:kubectl get pod -n kube-system -l app=terway-eniipOutput-nya akan tampak seperti berikut:
NAME READY STATUS RESTARTS AGE terway-eniip-xxxxx 1/1 Running 0 30s
Verifikasi konfigurasi
-
Masuk ke ECS console. Di panel navigasi sebelah kiri, pilih Instances & Images > Instances.
-
Di halaman Instances, temukan dan klik instans ECS yang ingin Anda periksa.
-
Di halaman detail instans, klik tab ENIs. Pastikan bahwa ENI sekunder kini menampilkan security group yang telah Anda tentukan di ConfigMap. Jika ENI sekunder masih menampilkan hanya security group asli, kemungkinan pod Terway belum direstart. Jalankan
kubectl get pod -n kube-system -l app=terway-eniipuntuk memastikan semua pod Terway berada dalam statusRunning, lalu periksa kembali tab ENIs.
Kaitkan multiple security groups saat membuat kluster
Untuk menetapkan multiple security group saat pembuatan kluster, sertakan parameter SecurityGroupIDs dalam konfigurasi add-on terway-eniip saat memanggil API CreateCluster:
{
"name": "your_cluster_name",
"cluster_type": "ManagedKubernetes",
"addons": [
{
"name": "terway-eniip",
"config": "{\"IPVlan\":\"true\",\"NetworkPolicy\":\"false\",\"ENITrunking\":\"true\",\"SecurityGroupIDs\": \"[\\\"sg-foo\\\"]\" }"
}
],
....
}