Exercise 6.4: Implement a NetworkPolicy
NetworkPolicy 리뷰
apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: default spec: podSelector: {} policyTypes: - Ingress - EgressDeployment 생성
kubectl create deploy nginx --image=nginx생성된 Deployment 및 Pod 확인
kubectl get deployment,pod -l app=nginxCURL 명령어를 통해서 생성된 Pod의 IP주소로 HTTP 요청
curl $(kubectl get pod -l app=nginx -o=jsonpath='{.items[0].status.podIP}')Deployment에 NodePort 타입의 서비스 생성
kubectl expose deployment nginx --port=80 --type=NodePortCURL 명령어를 통해서 생성된 Service의 Cluster IP주소로 HTTP 요청
curl $(kubectl get svc nginx -o=jsonpath='{.spec.clusterIP}')웹브라우저에서
ANY_NODE_IP:SERVICE_NODE_PORT로 접속되는지 확인 - 아래 명령어로 주소 확인 가능echo "$(curl -s ifconfig.io):$(kubectl get service nginx -o=jsonpath='{.spec.ports[0].nodePort}')"Pod에서 외부 통신이 가능한지 확인
Pod로 Bash 연결
kubectl exec -it deploy/nginx -- /bin/bashnetcat 설치
apt update && apt install netcat -ylocalhost로 연결 시도 - 로컬 nginx 서버
nc -vz 127.0.0.1 80외부 사이트로 연결 시도
nc -vz www.google.com 80Bash 프로세스 종료
exit
Last updated