2023. 2. 10. 08:17ㆍDevOps/CKA Test 준비
ingress
문제
ingress-nginx namespace에 nginx이미지를 app=nginx 레이블을 가지고 실행하는 nginx pod 를 구성하시오.
app-ingress.yaml파일을 생성한 후 다 ingress를 구성하시오. 또한 annotations을 포함시키시오
* appjs-service와 nginx서비스는 이미 동작중입니다.
작업 클러스터 : k8s
name: app-ingress
NODE_PORT:30080/ = nginx
NODE_PORT:30080/app = appjs-service
annotaions:
kuberntets.io/ingress/class:nginx
* tip
보통 ingress를 생성해라 라는 유형보다 ingress rule을 추가/변경 하라는 유형이 많이 출제됨.
1. 작업 클러스터 확인
==> kubectl config use-context hk8s
2. namespace 확인하기
==> kubectl get namespace ingress-ngix
3. ingress에 서 사용할 pod 를 생성한다.
==> kubectl run nginx --image=nginx --labels=app=nginx -n ingress--nginx --dry-run=client -o yaml > ingress--namespace-nginx.yaml
==> kubectl run nginx --image=nginx --labels=app=nginx -n ingress--nginx
appjs-service가 실행되는지 확인하기
==> kubectl get svc -n ingress-nginx
4. ingress rule을 만들기.
vi로 yaml생성 및 편집하기.
==> vi app-ingress.yaml
appVersion: networking.k8s.io/v1
kind: ingress
==> 종류는 ingress로 지정한다.
metadata:
namespace: ingress-nginx
name: app-ingress
==> 이름은 app-ingress로 지정한다.
annotaion:
nginx.ingress.kuberntets.io/rewrite-target: /
kuberntes.io/ingress.class: nginx
==> 문제에서 지정한 annotaion을 추가한다.
spec:
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: nginx
port:
number: 80
==> 도메인의 맨 끝이 /로 끝날 경우(root) 80번 포트를 활용해 nginx 라는 service로 접근시켜라.
- path: /app
pathType: Prefix
backend:
service:
name: appjs-service
port:
number: 80
==> rules를 추가한다. 도메인의 맨 끝이 /app으로 끝날 경우 80번 포트를 활용해 appjs-service로 접근시켜라.
5. apply시키기
==> kubectl apply -f app-ingress.yaml
6. 확인하기
==> kubectl get ingress -n ingress-nginx
'DevOps > CKA Test 준비' 카테고리의 다른 글
13.CKA-Volume mount (0) | 2023.03.07 |
---|---|
12.CKA-KUBE-DNS (0) | 2023.03.07 |
10.CAK-Newtork Policy (0) | 2023.02.08 |
09.CKA-service_type_NodePort 초안 (0) | 2023.02.08 |
08.CKA-service_type_clusterip (0) | 2023.02.03 |