Topik ini menjelaskan cara menggunakan kebijakan jaringan Kubernetes untuk mengamankan pod Cassandra dan Redis dalam Cluster Hybrid Apigee .
Ringkasan
Jika ingin mengontrol aliran traffic di tingkat alamat IP atau port (OSI lapisan 3 atau 4), Anda dapat menggunakan Kebijakan Jaringan Kubernetes untuk aplikasi di cluster Anda. Kebijakan Jaringan adalah konstruksi yang berfokus pada aplikasi yang dapat Anda gunakan untuk menentukan cara pod diizinkan untuk berkomunikasi dengan pod lain dalam cluster Anda.
Di Apigee Hybrid, Anda dapat menggunakan Kebijakan Jaringan Kubernetes untuk mengisolasi pod Cassandra sehingga hanya pod yang dimaksudkan untuk berkomunikasi dengan Cassandra yang diizinkan, seperti Runtime, Synchronizer, dan pod Mart. Pod lain dalam cluster seperti Ingres dan pod Watcher yang tidak perlu berkomunikasi dengan Cassandra akan diblokir untuk tidak melakukannya.
Jika tidak memiliki batasan terkait pod mana yang dapat berinteraksi dalam cluster, Anda tidak perlu menggunakan kebijakan jaringan Kubernetes.
Prasyarat
-
Aktifkan kebijakan jaringan di cluster Anda.
- GKE: Lihat Mengaktifkan penerapan kebijakan jaringan.
- EKS: Lihat Menginstal add-on mesin kebijakan jaringan Calico.
- AKS: Baca Mengamankan traffic antarpod menggunakan kebijakan jaringan di Azure Kubernetes Service (AKS) .
- Platform lain: cari petunjuk untuk mengaktifkan kebijakan jaringan di cluster Anda dari vendor platform tertentu.
- Cluster hybrid Apigee yang sedang berjalan, versi 1.8 atau yang lebih baru.
Prosedur
Jika Anda menjalankan versi hybrid 1.8.x, download dan ekstrak paket rilis Apigee terbaru.
Linux
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.9.4/apigeectl_linux_64.tar.gz
Mac OS
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.9.4/apigeectl_mac_64.tar.gz
Windows
curl -LO ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.9.4/apigeectl_windows_64.zip
File konfigurasi untuk kebijakan jaringan Kubernetes untuk Cassandra dan Redis berada dalam
struktur direktori berikut dalam direktori $APIGEECTL_HOME
Anda:
└── apigeectl └── examples └── network-policies └── securing-cassandra-redis-pods ├── README.md ├── base │ └── cluster-scoped-communication │ ├── cassandra │ │ ├── kustomization.yaml │ │ ├── networkpolicy-cassandra-allow-controller.yaml │ │ ├── networkpolicy-cassandra-allow-intranode.yaml │ │ ├── networkpolicy-cassandra-allow-mart.yaml │ │ ├── networkpolicy-cassandra-allow-runtime.yaml │ │ ├── networkpolicy-cassandra-alow-sync.yaml │ │ ├── networkpolicy-cassandra-create-user.yaml │ │ ├── networkpolicy-cassandra-monitoring.yaml │ │ └── networkpolicy-cassandra-remove-dc.yaml │ └── redis │ ├── kustomization.yaml │ ├── networkpolicy-redis-envoy.yaml │ └── networkpolicy-redis.yaml └── overlays └── ORG_NAME └── kustomization.yaml
Dengan ORG_NAME
adalah nama organisasi Apigee Anda.
- Beri label namespace dengan perintah berikut:
kubectl label namespace apigee app=apigee
kubectl label namespace apigee-system app=apigee-system
- Terapkan kebijakan jaringan dengan perintah berikut:
kubectl apply -k ${APIGEECTL_HOME}/examples/network-policies/securing-cassandra-redis-pods/overlays/ORG_NAME
- Validasi bahwa kebijakan jaringan telah diterapkan dengan perintah berikut:
kubectl get netpol -n apigee
Kebijakan jaringan berikut harus dibuat di namespace
apigee
:NAME POD-SELECTOR AGE cassandra-from-mart app=apigee-cassandra 4d5h cassandra-from-runtime app=apigee-cassandra 4d5h cassandra-from-sync app=apigee-cassandra 4d5h cassandra-to-cassandra app=apigee-cassandra 4d5h controller-to-cassandra app=apigee-cassandra 4d5h redis-from-redisenvoy app=apigee-redis 3d18h redisenvoy-from-runtime app=apigee-redis-envoy 3d18h