이 게시물은 아래 강의를 참고 하였습니다.
참고 강의 https://www.youtube.com/watch?v=KdATmTulf7s&list=PLApuRlvrZKojqx9-wIvWP3MPtgy2B372f&index=1
이론)
https://junior-developer.tistory.com/49
문제)
작업 클러스터 : k8s
- Reconfigure the existing deployment front-end and add a port specification named http exposing port 80/tcp of the existing container nginx.
- Create a new service named front-end-svc exposing the container port http
- Configure the new service to also expose the individual Pods visa a NodePort on the nodes on which they are scheduled
풀이)
- context 변경
$ sudo kubectl config use-context k8s
- 기존에 존재하는 deployment 를 yaml 파일로 추출 및 수정
https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport 를 참고
$ sudo kubectl get deployments.apps front-end -o yaml > front-end.yaml
$ sudo vi front-end.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: front-end
spec:
replicas: 2
selector:
matchLabels:
run: nginx
template:
metadata:
labels:
run: nginx
spec:
containers:
- image: nginx
name: http
ports:
- containerPort: 80
name: http
---
apiVersion: v1
kind: Service
metadata:
name: front-end-svc
spec:
type: NodePort
selector:
run: nginx
ports:
- name: http
protocol: TCP
port: 80
targetPort: http
Service의 targetPort 설정을 http로 설정한 이유 : Deployment의 containerport : 80 을 http로 name을 지정했기 때문
문제에 port:80 으로 하라는 말은 딱히 없는듯..
- 수정된 yaml 파일로 deploy 진행
$ sudo kubectl delete deployments.apps front-end
$ sudo kubectl apply -f front-end.yaml
- 정상 배포 및 동작 확인
'k8s' 카테고리의 다른 글
CKA 준비 (14) Init container를 포함한 pod 운영 (0) | 2022.06.07 |
---|---|
CKA 준비 (12) Pod Log 추출 / (13) CPU 사용량 높은 Pod 검색 (0) | 2022.06.04 |
CKA 준비 (10) Node 정보 수집 (6) | 2022.05.31 |
CKA 준비 (9) Node 관리 (0) | 2022.05.31 |
CKA 준비 (8) Node Selector (0) | 2022.05.30 |