Aș dori să vă arăt că repornirea plasă-ţesătură
Capsule nu este necesar pentru NetworkPolicy
pentru a intra în vigoare.
Ta test-politică-rețea
NetworkPolicy
se aplică podurilor cu eticheta run=prod-nginx
în prod
Spațiu de nume și permite tot traficul de intrare și interzice tot traficul de ieșire.
Voi crea un exemplu pentru a ilustra cum funcționează.
În primul rând, am creat prod-nginx
& prod-test
Pods și testat conectivitatea cu nr NetworkPolicy
desfasurat:
# kubectl rulați prod-nginx --image=nginx -n prod
pod/prod-nginx creat
# kubectl rulați prod-test --image=nginx -n prod
pod/prod-test creat
# kubectl get pod -o wide -n prod
NUME PREGĂTIT STAREA REINCEPE VARSTA Etichete IP
prod-nginx 1/1 Running 0 37s 10.44.0.1 run=prod-nginx
prod-test 1/1 Running 0 11s 10.44.0.2 run=prod-test
# kubectl exec -it prod-nginx -n prod -- curl 10.44.0.1 | grep -i succes
<p>Dacă vedeți această pagină, serverul web nginx este instalat cu succes și
# kubectl exec -it prod-nginx -n prod -- curl 10.44.0.2 | grep -i succes
<p>Dacă vedeți această pagină, serverul web nginx este instalat cu succes și
Totul funcționează bine, așa că haideți să implementăm un test-politică-rețea
NetworkPolicy
si testeaza din nou:
# cat netpol.yml
apiVersion: networking.k8s.io/v1
fel: NetworkPolicy
metadate:
nume: test-network-policy
spatiu de nume: prod
specificație:
intrare:
- {}
podSelector:
matchLabels:
alerga: prod-nginx
Tipuri de politici:
- Intrare
- Ieșire
# kubectl aplica -f netpol.yml
networkpolicy.networking.k8s.io/test-network-policy creat
Putem vedea că prod-nginx
Podul nu se poate conecta la alte poduri, dar se poate conecta la el însuși:
NOTĂ: Un pod nu poate bloca accesul la sine (vezi: Politici de rețea documentație)
# kubectl exec -it prod-nginx -n prod -- curl 10.44.0.1 | grep -i succes
<p>Dacă vedeți această pagină, serverul web nginx este instalat cu succes și
# kubectl exec -it prod-nginx -n prod -- curl 10.44.0.2 | grep -i succes
comanda terminată cu codul de ieșire 7
Acum să creăm un stadiu-nginx
Pod în etapă
namespace și verificați dacă prod-nginx
Podul se poate conecta la el:
# kubectl run stage-nginx --image=nginx -n stage
pod/stage-nginx creat
# kubectl get pod -o wide -n stadiu
NUME PREGĂTIT STAREA REINCEPE VARSTA IP
stage-nginx 1/1 Running 0 20s 10.44.0.6
# kubectl exec -it prod-nginx -n prod -- curl 10.44.0.6 | grep -i succes
comanda terminată cu codul de ieșire 7
Am verificat că regula de ieșire funcționează corect și repornește plasă-ţesătură
Nu sunt necesare capsule.