클라우드
-
docker-9 kubernetes 5 service클라우드/docker 2023. 5. 12. 22:08
1. service 파드는 언제든지 생성되고 삭제되기 때문에 고유 ip를 부여한다면 관리할 수 없을 것이다. 따라서 각 파드의 ip가 아닌 서비스를 통해서 파드에 접근해야 한다. 서비스는 고정된 ip를 가지며 하나 또는 여러 개의 파드와 매칭한다. 즉 가상 네트워크나 공유기처럼 ip를 재분배해준다. 서비스에 접근하면 그 서비스와 매칭된 파드들에 접근할 수 있다. 서비스는 클러스터 외부로부터 요청을 받을 수 있게 ip를 노출하는 역할을 하는 리소스다. Deployment로 Pod를 수평확장하는 상황에, 트래픽을 적절히 분산시킨다. 2. 서비스 종류 1. clusterip(기본) 클러스터 내부에서만 접근할 수 있다. 2. nodeport 외부에서 노드로 들어오는 요청을 감지하여 파드로 트래픽을 전달한다. 3..
-
docker-8 kubernetes 4 deployment클라우드/docker 2023. 5. 12. 21:28
1. deployment deployment는 노드 상의 파드의 생성, 복제 등의 라이프 사이클을 관리하며 파드와 replicaset의 기준 정보를 정의한다. 레플리카셋은 일정 개수의 파드를 유지하는 컨트롤러이다. 레플리카셋은 동일한 여러 개의 포드를 안정적으로 관리하는 역할이다. 5개의 파드를 유지하도록 설정하면 파드가 1개 삭제되더라도 5개를 유지시킨다. 2. deployment 생성, 삭제 deployment.yaml 파일을 생성하고 vi 편집을 완료한 후 kubectl apply -f deployment.yaml 을 입력하여 파일을 생성한다. replica를 3개로 설정하명 동일한 pod를 3개를 복제한다. 그 외의 기본 스펙을 담아준다. kubctl get deployment를 실행하여 3개의 ..
-
docker-7 kubernetes 3 pod 생성과 삭제클라우드/docker 2023. 5. 12. 20:53
1. pod 생성과 삭제 vi pod.yaml 파일을 생성하고 vi 편집기로 이동한다. vi 편집기에서 1초마다 시간을 출력하는 코드를 yaml 형식으로 작성하고 :wq를 입력하여 나온다. yaml이란 json과 같은 데이터 직렬화 방식의 일종이다. kubectl apply -f pod.yaml을 입력하여 파드를 생성한다. kubectl get pod를 실행하여 현재 파드들의 상태를 볼 수 있다. kubectl get pod -n kube-system을 실행하면 현재 시스템의 파드를 볼 수 있다. kubectl get pod -A를 실행하면 모든 파드를 볼 수 있다. kubectl get pod 을 실행하면 특정파드의 상태를 볼 수 있다. kubectl describe pod 을 실행하면 특정파드를 자세..
-
docker-6 kubernetes 2 minikube클라우드/docker 2023. 5. 12. 19:27
1. minikube 미니쿠베는 로컬 Kubernetes 클러스터를 빠르게 설정해 주는 도구이다. 미니쿠베는 설치가 간단하면서 쿠버네티스가 제공하는 대부분의 기능들을 이용할 수 있다. 2. 미니쿠베 설치와 삭제 curl -LO https://storage.googleapis.com/minikube/releases/v1.22.0/minikube-linux-amd64 명령으로 미니쿠베를 다운로드하고 sudo install minikube-linux-amd64/usr/local/bin/minikube 명령으로 미니쿠베를 설치한다. minikube version 명령으로 미니쿠베가 설치된 것을 확인한다. curl -LO https://dl.k8s.io/release/v1.22.1/bin/linux/amd64/k..
-
docker-5 kubernetes 1 kubernetes클라우드/docker 2023. 5. 12. 19:10
1. kubernetes 도커를 이용하여 서비스를 하다 보면 컨테이너의 수가 점점 늘어나게 된다. 쿠버네티스는 수많은 컨테이너들을 컨트롤하는 도구이다. 쿠버네티스는 컨테이너를 분산 배치하며 상태 관리 및 컨테이너의 구동 환경까지 관리할 수 있다. 2. 쿠버네티스 구성요소 1. 쿠버네티스를 배포하면 클러스터를 얻는다. 2. 쿠버네티스 클러스터는 컨테이너화된 애플리케이션을 실행하는 노드의 집합이다. 모든 클러스터는 최소 한 개의 워커 노드를 가진다. 3. 워커 노드는 애플리케이션의 구성요소인 파드를 호스트 한다. 파드(pod)란 컨테이너를 하나 이상 모아 놓은 것이다. 컨테이너가 모여 파드가 되고 파드가 모여 노드가 되고 노드와 컨트롤 플레인이 합쳐져 쿠버네티스 클러스터를 구성한다. 4. 이렇게 컨테이너를 ..
-
docker-4 registry클라우드/docker 2023. 5. 12. 15:33
1. 로컬 저장소 docker run -d -p 5000:5000 --name registry registry을 입력하여 registry라는 이름을 가진 레지스트리를 포트 5000번으로 열어준다. docker ps를 통해 registry가 잘 생성이 된 것을 확인할 수 있다. docker tag my-image:v1.0.0 localhost:5000/my-image:v1.0.0으로 도커의 방향을 로컬 호스트로 바꿔준다. 이후 docker push localhost:5000/my-image:v1.0.0를 입력하여 열어준 포트 5000번으로 로컬 저장에 이미지를 푸시할 수 있다. curl -X GET http://localhost:5000/v2/_catalog 명령어를 입력하여 로컬에 있는 카탈로그를 확인할..
-
docker-3 도커 이미지 빌드클라우드/docker 2023. 5. 12. 15:29
1. 이미지 빌드 docker 디렉토리를 생성하고 이동하여 touch Dockerfile으로 빈 파일을 생성한다. vi 편집기로 이동한다. FROM은 기본 이미지를 지정하는 것이고 우분투를 사용한다. RUN은 도커 컨테이너에서 실행하는 것이고 이미지를 설치하면 자동으로 apt-get update를 실행한다. CMD는 도커 컨테이너가 시작될 때 실행하는 명령어로 echo 명령어로 hello를 출력한다. docker build -t my-image:v1.0.0 . 명령어로 이미지를 빌드한다. docker images를 입력하여 이미지를 확인하면 my-image가 잘 빌드된 것을 확인할 수 있다. docker images | grep my-image 명령어의 이름을 입력해서 확인할 수 있다. demo1이라는 ..
-
docker-2 도커 이미지 생성과 삭제클라우드/docker 2023. 5. 12. 11:58
1. 도커 설치 1. 도커를 구축하기 위한 우분투 가상 머신을 하나 생성한다. 2. powershell으로 가상머신에 로그인하고 sudo apt-get update, sudo apt-get upgrade로 최신화한다. 3. 아래 링크에 접속하여 명령을 차례대로 실행하여 도커를 설치한다. https://docs.docker.com/engine/install/ubuntu/ Install Docker Engine on Ubuntu docs.docker.com 2. 도커 이미지 생성과 삭제 sudo docker run hello-world를 실행하여 도커가 설치된 것을 확인한다. 실습을 위해 사용자 권한을 루트 사용자로 전환한다. sudo 권한 없이 실행할 수 있다. docker pull ubuntu:18.04..