문제 1
somaweb라는 이름의 deployment를 아래 조건으로 생성합니다.
Pod 이름: soma-ws
Replicas 수: 4
컨테이너 이름: nginx-container
컨테이너 이미지: nginx:1.14
풀이
1. somaweb.yaml라는 이름의 yaml 파일 작성하기
apiVersion: apps/v1
kind: Deployment
metadata:
name: somaweb
spec:
replicas: 4
selector:
matchLabels:
app: soma-ws
template:
metadata:
labels:
app: soma-ws
spec:
containers:
- name: nginx-container
image: nginx:1.14
ports:
- containerPort: 80
2. Deployment 생성하기
$ kubectl apply -f somaweb.yaml
결과 확인
문제 2
k8s에서 네임스페이스(namespace)란 유사한 기능을 수행하거나
성격이 같은 그룹의 pod를 모아서 논리적으로 grouping 하는것을 의미합니다.
soma-k8s 이라는 namespace를 만들고, 그 안에 아래와 같은 pod을 생성해보세요.
pod name: busybox-pod
image: busybox
image version: 1.28
풀이
1. soma-k8s 네임스페이스 생성하기
kubectl create namespace soma-k8s
2. pod 생성하기
$ kubectl run busybox-pod --namespace=soma-k8s --image=busybox:1.28
3. soma-k8s 네임스페이스에 있는 모든 Pod을 조회하기
$ kubectl get pods -n soma-k8s -o wide
결과 확인
참고
soma-k8s 네임스페이스 안에 있는 busybox-pod 파드 삭제하기
$ kubectl delete pods busybox-pod -n soma-k8s
soma-k8s 네임스페이스 삭제하기
$ kubectl delete namespace soma-k8s
문제 3
Pod의 로그 확인해서 결과 추출하기
nginx Pod를 구동하고 다음 페이지에 curl로 접속해 봅니다.
1) / (index 페이지)
2) /error.html
이후 pod의 로그를 모니터링하고,
404 상태 코드 메시지를 포함하는 로그 라인을 추출합니다.
추출 결과는 k8slog 파일에 저장합니다.
풀이
1. nginx 이미지를 사용하여 pod 구동하기
$ kubectl run nginx --image=nginx --port=80
2. 실행 중인 pod 확인하기
$ kubectl get pods -o wide
3. curl를 사용해서 index 페이지와 /error.html 페이지 접속하기
# 인덱스 페이지 접근
$ kubectl exec nginx -- curl http://localhost
# /error.html 페이지 접근
$ kubectl exec nginx -- curl http://localhost/error.html
4. 404 상태 코드 메시지를 포함하는 로그 라인을 추출하여 k8slog 파일에 저장하기
$ kubectl logs nginx | grep "404" > k8slog
결과 확인
소프트웨어 마에스트로 활동중 멘토님 특강에서 나온 실습 문제를 기록하고자 작성한 글입니다.
'Kubernetes' 카테고리의 다른 글
Kubernetes 특강 3회차 공부 내용 정리1 - Annotation, CronJob (0) | 2024.05.20 |
---|---|
Kubernetes 특강 2회차 공부 내용 정리 (0) | 2024.05.11 |
Kubernetes 기본적인 이론 / 설치 및 명령어 내용 기록 (0) | 2024.05.01 |