반응형
command 살펴보기
- command 정보
-
kubectl --help
- command 정보 표시
-
kubectl [command] --help
- 해당 command 설명
- 예시 및 옵션 정보 또한 제공
-
- object 정보
- kubectl api-resources
- object 정보(목록, 약어 등) 표시
- kubectl api-resources
- 노드 정보
- kubectl get nodes
- 노드 정보
- kubectl get nodes -o wide
- 노드 정보 상세히
- kubectl describe node [name]
- 해당 노드의 더욱 상세한 정보
- kubectl get nodes
여러 방법으로 nginix pod 생성하기
run으로 pod 생성
-
pod 생성
- kubectl run webserver --image=nginx:1.14 --port 80
- run은 컨테이너 하드를 만드는 command
- webserver라는 이름의 pod 생성
- nginx:1.14의 도커 이미지 다운로드
- 포트 80번 연결
- kubectl run webserver --image=nginx:1.14 --port 80

- pod 생성 확인
- kubectl get pods
- kubectl get pods -o wide
- kubectl describe pod webserver

- pod 정보 다양한 형태로 확인
- kubectl get pod webserver -o yaml
- kubectl get pod webserver -o json
- web server 동작 확인
- curl 10.44.0.1
- curl은 command 형식의 웹 브라우저
- curl 10.44.0.1

- web server 이름 바꾸기
- 컨테이너에 접속
- kubectl exec webserver -it -- /bin/bash
- exec는 실행하는 command
- kubectl exec webserver -it -- /bin/bash
- 컨테이너 안에서 index.html 파일을 찾아 제목 수정
- cd /usr/share/nginx/html/
- cat index.html
- echo "SMLEE web" > index.html
- exit
- 컨테이너에서 나와 web server 접속하여 이름 확인
- curl 10.44.0.1
- 컨테이너에 접속


- webserver 로그 확인
- kubectl logs webserver

- webserver 포트 포워딩
- kubectl port-forward webserver 8080:80

create으로 deployment 생성
- deployment 생성
- kubectl create deployment mainui --image=httpd:latest --replicas=3
- create deployment는 컨테이너 하드를 여러 개 생성하는 command
- mainui라는 이름의 deployment 생성
- replicas는 hpptd라는 웹 서버 3개 실행을 요청하는 옵션
- kubectl create deployment mainui --image=httpd:latest --replicas=3

- deployment 생성 확인
- kubectl get deployments.apps
- kubectl get deployments.apps-o wide
- kubectl describe deployments.apps mainui

- pod 생성 확인
- kubectl get pods
- kubectl get pods -o wide

- main ui pod 중 하나의 pod web server 동작 확인
- curl 10.36.0.1

- 컨테이너 하드 개수 조절하기
- kubectl edit deployments.apps mainui
- edit command는 동작 중인 api 리소스를 수정할때 사용
- vi에디터에서 replicas 수정
- kubectl edit deployments.apps mainui

yaml파일로 pod 생성
-
yaml파일 생성
- kubectl run webserver --image=nginx:1.14 --port 80 --dry-run -o yaml > webserver-pod.yaml
- webserver pod는 이미 존재하므로 kubectl run webserver --image=nginx:1.14 --port 80 실행 x
- --dry-run로 실행이 되는지 안되는지 체크
- --dry-run -o yaml로 실행할 수 있는 상태를 yaml 포맷으로 표기
- --dry-run -o yaml > webserver-pod.yaml로 yaml파일로 저장
- kubectl run webserver --image=nginx:1.14 --port 80 --dry-run -o yaml > webserver-pod.yaml
- webserver pod 삭제
- kubectl delete pod webserver
- yaml파일로 pod 생성
- kubectl create -f webserver-pod.yaml
- pod 생성 확인
- kubectl get pods
Reference
반응형
'Kubernetes(k8s) > 따배쿠(따라하면서 배우는 쿠버네티스) 학습' 카테고리의 다른 글
[k8s]Kubernetes namespace (0) | 2023.02.10 |
---|---|
[k8s]Kubernets 아키텍처 - 동작 원리 & 컴포넌트 (0) | 2023.02.10 |
[k8s]kubectl 개요 (0) | 2023.02.08 |
[k8s]쿠버네티스 설치하기 (1) | 2023.02.08 |
[k8s]설치 없이 쿠버네티스 사용하기 (0) | 2023.02.07 |