2021년 7월 28일 수요일

[ Kubernetes ] 도커를 이용한 쿠버네티스 기본예제


[ 도커설치 ] 

sudo yum -y update

sudo yum -y install docker

docker version

sudo yum -y install git 

# demo 다운로드

git clone https://github.com/cloudnativedevops/demo


# 도커실행

sudo systemctl status docker

sudo systemctl start docker


# demo 실행

sudo docker container run -p 9999:8888 --name hello cloudnatived/demo:hello

*웹 브라우저 http://localhost:9999 로 들어가

Hello, 世界 글귀를 확인



[ 도커이미지 빌드 ]

sudo docker image build -t myhello .

sudo docker container run -p 9999:8888 myhello


# 도커 컨테이너 레지스트리

https://hub.docker.com/ 에서 도커계정생성


# 도커로그인

sudo docker login

...

Username : user_id

Password : ****

...

Login Succeeded


# 도커 이미지 푸쉬

sudo docker image tag myhello yourID/myhello

sudo docker image push yourID/myhello
















# 인터넷이 연결된 곳이라면 어디서든 내 컨테이너 이미지 사용가능

sudo docker container run -p 9999:8888 yourID/myhello




[ 쿠버네티스 설치 ]

단일클러스터에서 실행이기 때문에 minikube 설치

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube

sudo mkdir -p /usr/local/bin/

sudo install minikube /usr/local/bin/


* 아래와 같은 에러가 난다면

  - docker: Not healthy: "docker version --format {{.Server.Os}}-{{.Server.Version}}" exit status 1: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/version": dial unix /var/run/docker.sock: connect: permission denied


sudo groupadd docker

sudo usermod -aG docker $USER

newgrp docker 


참조 : https://docs.docker.com/engine/install/linux-postinstall/



minikube status

만약 클러스터가 실행 중이면, minikube status 의 출력은 다음과 유사해야 한다.

host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured


정지시 

minikube stop





[ 쿠버네티스로 데모 애플리케이션 실행 ]


kubectl run demo --image=yourID/myhello --port=9999 --labels app=demo


kubectl port-forward pod/demo 9999:8888


-> 웹 브라우저 http://localhost:9999 확인

kubectl get pods --selector app=demo
NAME   READY   STATUS    RESTARTS   AGE
demo   1/1     Running   0          6m9s


# Pod삭제시

kubectl delete pod 1234-56-7890-234234-456456


# Delete all pods

kubectl delete pods --all


# 포트포워딩 후 http://yourip:9999 브라우저에서 output확인

kubectl port-forward yourDir/demo 9999:8888







댓글 없음:

댓글 쓰기