Kubernetes 전반적인 이론에 대한 공부를 마쳤다.
kubernetes 등장부터 특징, 클러스터, 컨트롤러, 서비스, 인그레스, gRPC프로토콜, Volume 등 여러 개념에 대해 학습했다.
물론 더 깊게 파고들어 아주 세세한 부분까지 완벽히 안다고 자신할 수 없지만, 전반적인 내용에 대한 학습은 어느정도 마쳤다고 생각된다.
앞으로는 실습과 병행하며 배운 내용을 복습하고,
후에 기초 실습 과정이 끝이나면 CKA 취득을위한 공부를 하려고 한다.
kubectl [command] [TYPE] [NAME] [flags]
kubectl run echoserver --image="k8s.gcr.io/echoserver:1.10" --port=8080
kubectl get pods
kubectl expose po echoserver --type=NodePort
kubectl get svc
kubectl port-forward svc/echoserver 8080:8080
-짧은 옵션
--긴 옵션
kubectl -n default exec my-pod -c my-container -- ls |
-n : namespace
default namespace는 쿠버네티스 ns의 초기값
exec my-pod :
my-pod 파드에 명령 수행
-c my-container:
-c는 파드 내부 컨테이너 지정자
my-container는 사용자가 제작한 컨테이너를 뜻한다고 한다
--는 k8s명령어 종료이다
여기까지 종합하면
default ns 내부의 my-pod 파드 내부의 사용자가 제작한 컨테이너에 들어간 후
ls명령어를 출력하는 kubectl 명령어 인 것이다.
k8s 클러스터를 이용해 pod 실행하는 방법은
1. kubectl 명령어 이용
2. Yaml 형식의 템플릿 이용으로 나뉜다.
kubectl create deployment nginx-app --image nginx --port=80
deployment 즉 컨트롤러를 사용하는 이유에는 대표적으로 파드 개수를 지정할 수 있다는 장점이 유력합니다.