실습 버전 업그레이드
실습 버전을 1.2로 업시킨다.
혼동되는 용어 정리
- 파드
- 컨테이너
- 애플리케이션
가 혼동되어 쓰인다.
파드나 컨테이너는 구조적인 단위, 구조, 형태에 대한 단위라고 한다면, 애플리케이션은 기능의 단위라고 할 수 있다.
즉 애플리케이션은 단일 컨테이너의 단위가 될 수도 있고, 복수의 컨테이너가 될 수도 있다. 또한 파드와 1 대1 맵핑될 수도 있고, 파드가 여러 개 모여서 동작하는 애플리케이션도 동작할 수 있다.
- 파드(Pod) : 쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 최소 컴퓨팅 단위
- 컨테이너(Container) : 격리된 환경에서 실행되는 프로세스
- 애플리케이션(Application) : 구조의 단위인 파드, 컨테이너와 달리 실제로 동작하는 기능의 단위
자주 쓰이는 kubectl 옵션 명령어
- get: 오브젝트 조회
- run, create, apply: 오브젝트 생성
- delete: 오브젝트 삭제
- exec: 파드 내부에 컨테이너로 접속
- scale: 파드 갯수를 늘리거나 줄임
- edit: 배포된 오브젝트를 수정
- -o yaml: 코드를 확인하는 명령어
- -dry-run=client: 코드를 생성하는 명령어
- events: 쿠버네티스 이벤트 확인
- describe: 배포된 오브젝트의 상태를 파악
- logs: 컨테이너의 로그 확인
k run nginx --image=nginx
k create deploy nginx --image=nginx
k scale deployment nginx --replicas=3
k get po
k delete pod nginx-...
k apply -f ~/_~.yml
k exec apy-nginx-... -it -- /bin/bash // 터미널을 배쉬에 잡아서 파드에 들어가기
k edit deploy apy-nginx // 개수를 1개 줄일 수 있다.
k delete deployments.apps nginx
코드 관련 명령어
1. yaml 형식으로 보여준다.
kubectl get pod nginx -o yaml
2. 코드 생성 명령어
- —dry-run=client : 실행은 해보는데 실제로 적용이 안될 거야. 코드에 이상이 없는지 돌려 보는 확인 용도
kubectl run nginx --image=nginx --dry-run=client -o yaml
- 더 나아가 저장 kubectl run nginx --image=nginx --dry-run=client -o yalm > po-nginx.yaml
- k apply -f po-nginx.yml 로 실행할 수 있다.
- 파드 말고 deployment 로 실행되는 것을 작성하고 싶다면,
k create deploy nginx —image=nginx -o yaml —dry-run=client > deploy-nginx.yaml
3. -o yaml는 주로 파드 정보 보지 않고 인그레스 같은 거 볼 때 사용한다.
쿠버네티스 이벤트 확인 (events)
- kubectl get events : default 네임스페이스에 해당하는 이벤트들만 보인다.
- kubectl get events -n kube-system : 쿠버시스템 네임스페이스의 이벤트 들이 보인다.
배포된 오브젝트의 상태를 파악 (describe)
- kubectl describe pod nginx
- 오브젝트에 연관된 모든 내용이 표시가 된다.
- 하지만 pod 라고 생각되는 부분 안에 있는 컨테이너도 로그가 있는데, 그 부분은 describe 로 표시되지 않는다.
컨테이너의 로그 확인 (logs)
- kubectl logs nginx : 컨테이너의 로그를 확인 할 수 있다.
- 컨테이너의 이미지를 만들고 로드되는 상태에서 의도치 않게 문제가 생길 때 표시된다.
💡 정리하자면, 이벤트는 네임스페이스 단위로 크게 보기 위해서 사용. 오브젝트에 관계되어 있는 이벤트, 에러 확인하기 위해서 많이 쓰이는 명령어는 describe 그리고 pod의 컨테이너에 자세하고 세부적인 내용은 확인하고 싶을때 , 비정상적인 동작 확인하고 싶을 때 log를 쓴다.
'개발 관련 일지 > k8s' 카테고리의 다른 글
그림으로 배우는 쿠버네티스 CH4 애플리케이션 노출 (1) | 2024.02.10 |
---|---|
그림으로 배우는 쿠버네티스 CH3 애플리케이션 배포법 (1) | 2024.02.10 |
쉽게 시작하는 쿠버네티스 CH7 강의 마무리 (0) | 2024.01.21 |
쉽게 시작하는 쿠버네티스 CH6 쿠버네티스 Tips (0) | 2024.01.21 |
쉽게 시작하는 쿠버네티스 CH5 쿠버네티스 오브젝트 (0) | 2024.01.21 |