2023. 2. 8. 08:40ㆍDevOps/CKA Test 준비
network policy는 cni가 지원해줘야 사용할 수 있다.
문제
default namespace에 다음과 같은 pod를 생성하세요. 이 후 "partition=customaera"를 사용하는 namespace에서만 poc의 80 port로 연결할 수 있도록 default namespace에 'allow-web-from-customera'라는 network policy를 설정하세요. 보안 정책상 다른 namespace의 접근은 제한합니다.
작업 클러스터 : hk8s
name: poc
image: ngix
port : 80
label : app=poc
1. 작업 클러스터 확인하기
==> kubectl config use-context hk8s
2.poc라는 이름을 가진 pod생성하기
==> kubectl run poc --image=nginx --port=80 --labels=app=poc
3. pod ip 확인하기(test용)
==> kubectl get pod poc -o wide
4. namespace/partition 확인하기
==> kubectl get namespaces -L partition
5.네트워크 정책 생성하기
==> vi allow-web-from-customera.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-web-from-customera
==> 문제에서 지정한 이름을 기입한다.
namespace: default
spec:
podSelector:
matchLabels:
app: popc
==> app=poc라는 label 값을 지정한다.
policyTypes:
- Ingress
ingress:
- from:
- namespaceSelector:
matchLabels:
partition: customera
==> matchLabels에 문제에서 지정한 partion과 값을 추가한다.
ports:
- protocal: TCP
port: 80
==> 문제에서 지정한 port를 사용한다.
6. 생성한 yaml파일을 실행하기
==> kubectl apply -f allow-web-from-customera.yaml
7. 테스트 시도해 보기, 이때 ip 는 step3에서 확인한 ip를 사용한다.
==> kubectl run test --image=nginx -it --rm -n customera -- /bin/bash
==> curl "ip"
'DevOps > CKA Test 준비' 카테고리의 다른 글
12.CKA-KUBE-DNS (0) | 2023.03.07 |
---|---|
11. CKA-ingress (0) | 2023.02.10 |
09.CKA-service_type_NodePort 초안 (0) | 2023.02.08 |
08.CKA-service_type_clusterip (0) | 2023.02.03 |
07.CKA-service (0) | 2023.02.03 |