如何使用Kubernetes里的NetworkPolicy
創(chuàng)建一個(gè)類(lèi)型為NetworkPolicy的Kubernetes對(duì)象的yaml文件。
第九行的podSelector指定這個(gè)NetworkPolicy施加在哪些pod上,通過(guò)label來(lái)做pod的過(guò)濾。
從第16行開(kāi)始的ingress定義,定義了只有具備標(biāo)簽component=ads,module=app的pod才能夠連接component=ads, module=db的pod。
首先創(chuàng)建一個(gè)臨時(shí)的pod,使用正確的label(component=ads,module=app)去訪(fǎng)問(wèn)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
執(zhí)行完畢后看到提示root@helper:/#, 說(shuō)明我通過(guò)上述命令創(chuàng)建的臨時(shí)pod成功的連接到了postgreSQL的pod上。
輸入正確的用戶(hù)名和密碼,能成功連接到postgreSQL pod提供的數(shù)據(jù)庫(kù)服務(wù)上。
現(xiàn)在我們重新創(chuàng)建一個(gè)臨時(shí)pod,不指定label,因此不滿(mǎn)足NetworkPolicy里定義的限制條件,因此會(huì)看到我們期望的結(jié)果:postgreSQL連接失敗。
希望通過(guò)例子大家能夠理解Kubernetes里NetworkPolicy的工作原理。
要獲取更多Jerry的原創(chuàng)文章,請(qǐng)關(guān)注公眾號(hào)"汪子熙":
總結(jié)
以上是生活随笔為你收集整理的如何使用Kubernetes里的NetworkPolicy的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SpringBoot应用和Postgre
- 下一篇: 公积金怎么办理都需要什么