Topik ini menjelaskan cara menggunakan kebijakan jaringan Kubernetes untuk mengamankan pod Cassandra dan Redis dalam Cluster Hybrid Apigee .
Ringkasan
Bila Anda ingin mengontrol arus lalu lintas di alamat IP atau tingkat porta (OSI lapisan 3 atau 4), maka Anda dapat menggunakan Kebijakan Jaringan Kubernetes untuk aplikasi di cluster Anda. Kebijakan Jaringan adalah yang berfokus pada aplikasi yang dapat Anda gunakan untuk menentukan bagaimana pod diizinkan untuk berkomunikasi dengan pod lain di cluster Anda.
Di Apigee Hybrid, Anda dapat menggunakan Kebijakan Jaringan Kubernetes untuk mengisolasi pod Cassandra sehingga hanya pod yang dimaksudkan untuk berkomunikasi dengan Cassandra diizinkan, seperti Runtime, Sinkronkanr, dan Pod Mart. Pod lain dalam cluster seperti pod Ingres dan Watcher yang tidak berkomunikasi dengan Cassandra tidak dapat melakukannya.
Jika tidak ada batasan terkait pod mana yang dapat berinteraksi dalam cluster, Anda tidak perlu melakukannya menggunakan kebijakan jaringan Kubernetes.
Prasyarat
-
Aktifkan kebijakan jaringan di cluster Anda.
- GKE: Lihat Mengaktifkan penegakan kebijakan jaringan.
- EKS: Lihat Menginstal add-on mesin kebijakan jaringan Calico.
- AKS: Lihat Aman traffic antar-pod 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 rilis Apigee terbaru paket.
Linux
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_linux_64.tar.gz
Mac OS
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_mac_64.tar.gz
Windows
curl -LO ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_windows_64.zip
File konfigurasi kebijakan jaringan Kubernetes untuk Cassandra dan Redis berada di
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
- Validasikan 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