
**작은 서비스 여러개가 모여서 하나의 시스템을 제공하는 아키텍처**
→ 클라우드와 컨테이너가 잘 어울리는 아키텍처
컨테이너 배포 및 확장, 관리를 자동화 해주는 오픈소스 플랫폼
로컬에서 Kubernetes 환경 구성 어려움
쿠버네티스 학습에 필요한 환경을 구축할 수 있는 로컬 머신용 쿠버네티스 도구인 Minikube를 활용하여 실습 진행
기본적으로 ubuntu 가상환경 세팅 후 진행함
curl -LO https://storage.googleapis.com/minikube/releases/v1.22.0/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube --help ##정상 설치 확인
curl -LO https://dl.k8s.io/release/v1.22.1/bin/linux/amd64/kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
kubectl --help
##시작
sudo usermod -aG docker $USER
newgrp docker
minikube start --driver=docker
##삭제
minikube delete
데이터 직렬화에 쓰이는 포맷/양식 중 하나
**쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 컴퓨팅 단위**
vi 에디터로 yaml파일 생성 후 실습
# 모든 namespace의 pod 조회
kubectl get pod -A
# pod 하나 조회
kubectl get pod <pod-name>
# pod 목록 자세히 출력
kubectl get pod -o wide
# yaml형식으로 출력
kubectl get pod <pod-name>-o yaml
# pod 로그 확인
kubectl logs <pod-name>
# pod의 로그 계속 보여줌
kubectl logs <pod-name> -f
# pod 안에 여러개의 container 있는 경우
kubectl logs <pod-name> -c <container-name>
# pod 내부에 접속
kubectl exec -it <pod-name> -- <명령어>
# pod 안에 여러개의 container가 있는 경우
kubectl exec -it <pod-name> -- <명령어>
# pod 삭제
kubectl delete pod <pod-name>
# YAML 파일 사용해서 삭제
kubectl delete -f <YAML-파일-경로>
Pod와 Replicaset에 대한 관리를 제공하는 단위
관리 ex) Self-healing, Scaling, Rollout(무중단 업데이트) 등
## Deployment 상태 확인
kubectl get deployment
## replica 개수 조정
kubectl scale deployment/nginx-deployment --replicas=5
## deployment 삭제
kubectl delete deployment <deployment-name>
Pod를 외부에서 접근하기 쉽게 추상화한 리소스