docker pull
docker run -it -p 5000:5000 [도커 허브 주소:태그]

1. public ip로 접속
- public ip가 포트를 통해 private ip로 연결
2. 설정한 포트로 포트 포워딩
3. 도커로 컨테이너 실행


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

minikube version
kubectl version
minikube start --driver=docker
kubectl run nginx --image nginx --port=80
kubectl get pods

kubectl delete pod nginx
kubectl port-forward nginx 18080:80
위와 같이 실행후 로컬호스트:18080 하면 성공

kubectl apply -f pod.yaml
파드 생성 후 반드시 get pods해서 상태: running인지 확인 할 것
kubectl get pods -w # 계속 확인할 수 있음

2. 만약 상태가 이상할 경우 describe로 오류 원인 찾기
kubectl describe pod
kubectl describe pod -o wide # 더 정보를 자세히 볼 수 있음
kubectl logs counter[counter == 파드 이름]
kubectl logs counter -f # -f를 통해 실시간으로 로그 찍히는 거 확인 가능
kubectl exec -it counter
kubectl delete pod counter[counter == 파드이름]
업데이트 시 블루 그린 방식


kubectl apply -f deploy.yaml
kubectl get deploy
kubectl get pod
kubectlr get deploy,pod # deployment랑 pod 동시 조회 가능

2. 내가 적은 yaml 파일에는 pad가 항상 3개 떠있어야 함. 그 3개를 묶어서 ReplicaSet이라고 함. 따라서 위에서 보이는 파드 한 개를 임의로 삭제해도 자동으로 파드 하나를 생성해줌


kubectl scale deployment/nginx-deployment --replicas=5

kubectl delete deploy [deploymnet 이름]
kubectl apply -f svc.yaml
kubectl get service
kubectl apply -f pvc.yaml
kubectl pod-pvc.yaml # 파드가 생성되고 러닝한 다음 끈 이후에도 pvc에 저장되어 있는지 확인하기 위해 파드 생성
kubectl exec -it mypod -- bash
touch hello1
cd /var/www/html
touch hello2
kubectl delete pod mypod
kubectl exec -it mypod -- bash
ls
# hello1 파일이 사라진 것을 확인할 수 있습니다.
cd /var/www/html
ls
# hello2 파일이 그대로 보존되는 것을 확인할 수 있습니다.