Aktifkan Network Policy di kluster ACK Serverless untuk mengontrol lalu lintas tingkat pod dengan komponen Poseidon.
Prasyarat
-
Kluster ACK yang dikelola atau cluster khusus ACK telah dibuat. Lihat Buat kluster ACK yang dikelola atau Buat cluster khusus ACK (Tidak Dilanjutkan).
PentingDi kluster ACK managed cluster Pro dan ACK Serverless Pro, Network Policy diimplementasikan oleh komponen yang berbeda.
-
Di kluster ACK managed cluster Pro (untuk node yang bukan elastic container instances), Network Policy diimplementasikan oleh plugin jaringan Terway. Lihat Aktifkan Network Policy di kluster ACK.
-
Di elastic container instances (ECIs) pada kluster ACK Serverless dan kluster ACK managed Pro, Network Policy diimplementasikan oleh komponen Poseidon.
-
-
Komponen ACK Virtual Node telah ditingkatkan ke versi v2.10.0 atau lebih baru. Lihat Kelola komponen.
Batasan
-
Network Policy hanya didukung di kluster ACK Serverless Pro dan ACK managed cluster Pro.
-
Network Policy tidak mendukung alamat IPv6.
-
Bidang
endPortdalam NetworkPolicy tidak didukung. -
Aturan NetworkPolicy menggunakan pemilih label untuk mencocokkan namespace atau pod. Terlalu banyak sumber daya NetworkPolicy dapat memperlambat propagasi aturan serta menyulitkan manajemen dan troubleshooting. Batasi jumlah sumber daya NetworkPolicy menjadi kurang dari 40 per kluster.
Langkah 1: Aktifkan Network Policy
Instal komponen Poseidon untuk mengaktifkan Network Policy di kluster ACK Serverless Pro.
-
Instal komponen Poseidon.
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Components and Add-ons.
-
Di halaman Add-ons, klik tab Networking. Pada kartu Poseidon, klik Install.
-
Pada kotak dialog Install Poseidon, pilih Enable NetworkPolicy for ACS/ECI instances lalu klik OK.
Setelah instalasi selesai, status Installed akan muncul pada kartu tersebut.
Langkah 2: Buat dan uji aplikasi nginx
Konsol
-
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
-
Di halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih Workloads > Deployments.
-
Di halaman Deployments, klik Create from Image. Di wizard Create, buat aplikasi bernama nginx dan ekspos sebagai Service. Setelah mengonfigurasi aplikasi, klik Create. Konfigurasikan parameter berikut untuk aplikasi Nginx dan gunakan pengaturan default untuk parameter lainnya. Untuk informasi selengkapnya, lihat Detail konfigurasi.
Bagian
Parameter
Contoh
Basic Information
Name
nginx
Replicas
1
Container
Image Name
nginx:latest
Advanced > Services
Service Name
nginx
Type
ClusterIP, LoadBalancer, atau NodePort
Port Mapping
Name: nginx / Service port: 80 / Container port: 80 / Protocol: TCP
-
Di halaman Deployments, klik lagi Create from Image. Buat aplikasi client bernama busybox untuk menguji konektivitas ke Service nginx. Konfigurasikan parameter berikut untuk aplikasi busybox dan gunakan pengaturan default untuk parameter lainnya. Untuk informasi selengkapnya, lihat Detail konfigurasi.
Bagian
Parameter
Contoh
Basic Information
Name
busybox
Replicas
1
Container
Image Name
busybox:latest
Interactive Session
stdin, tty
-
Verifikasi bahwa client busybox dapat mengakses Service nginx.
-
Di halaman Deployments, temukan aplikasi busybox dan klik namanya.
-
Klik tab Pods, temukan pod busybox-{hash}, lalu klik Terminal di kolom Actions.

-
Di terminal busybox, jalankan
wget nginxuntuk menguji konektivitas.
Output tersebut mengonfirmasi bahwa pod busybox dapat mengakses Service nginx.
-
CLI
-
Buat pod Nginx dan ekspos sebagai Service. Buat pod:
kubectl run nginx --image=nginxOutput yang diharapkan:
pod/nginx createdKonfirmasi pod sedang berjalan:
kubectl get podOutput yang diharapkan:
NAME READY STATUS RESTARTS AGE nginx 1/1 Running 0 45sEkspos pod sebagai Service:
kubectl expose pod nginx --port=80Output yang diharapkan:
service/nginx exposedVerifikasi Service:
kubectl get serviceOutput yang diharapkan:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 172.XX.XX.1 <none> 443/TCP 30m nginx ClusterIP 172.XX.XX.48 <none> 80/TCP 12s -
Jalankan pod busybox dan akses Service nginx.
kubectl run busybox --rm -ti --image=busybox /bin/shOutput yang diharapkan:
If you don't see a command prompt, try pressing enter. / # / #Setelah prompt muncul, jalankan:
wget nginxOutput yang diharapkan:
Connecting to nginx (172.XX.XX.48:80) saving to 'index.html' index.html 100% |****************************************************************************************************************************************************| 612 0:00:00 ETA 'index.html' saved
Langkah 3: Gunakan network policy
Terapkan sumber daya NetworkPolicy untuk membatasi lalu lintas pod berdasarkan label, blok CIDR, tujuan egress, atau akses jaringan publik.