如何使用Kubernetes里的NetworkPolicy
創建一個類型為NetworkPolicy的Kubernetes對象的yaml文件。
第九行的podSelector指定這個NetworkPolicy施加在哪些pod上,通過label來做pod的過濾。
從第16行開始的ingress定義,定義了只有具備標簽component=ads,module=app的pod才能夠連接component=ads, module=db的pod。
首先創建一個臨時的pod,使用正確的label(component=ads,module=app)去訪問db pod:
kubectl run --restart=Never -it --rm --image=postgres:9.6 --labels=“component=ads,module=app” --env=“PGCONNECT_TIMEOUT=5” helper --command – /bin/bash
執行完畢后看到提示root@helper:/#, 說明我通過上述命令創建的臨時pod成功的連接到了postgreSQL的pod上。
輸入正確的用戶名和密碼,能成功連接到postgreSQL pod提供的數據庫服務上。
現在我們重新創建一個臨時pod,不指定label,因此不滿足NetworkPolicy里定義的限制條件,因此會看到我們期望的結果:postgreSQL連接失敗。
希望通過例子大家能夠理解Kubernetes里NetworkPolicy的工作原理。
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的如何使用Kubernetes里的NetworkPolicy的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot应用和Postgre
- 下一篇: 公积金怎么办理都需要什么