삽질의 현장/- Docker&Kubernetes 6

[GCP Study Jam] Kubernetes에 MongoDB 설정

GCP를 활용한 Kubernetes 학습을 진행하며 정리하는 글입니다 (Google Cloud Study Jam 참여 중). Kubernetes에 MongoDB 설정 Headless Service와 StatefulSet 배포 MongoDB 복제본 세트를 설정하려면 StorgeClass, HeadlessService, StatefulSet 세가지가 필요합니다. (참고) 구성 파일 예제 git clone cd ./mongo-k8s-sidecar/example/StatefulSet/ Headless Service cat mongo-statefulset.yaml ## mongo-statefulset.yaml 구성내용 apiVersion: v1 kind: Service metadata: name: mongo la..

[GCP Study Jam] Kubernetes Helm 소개

GCP를 활용한 Kubernetes 학습을 진행하며 정리하는 글입니다 (Google Cloud Study Jam 참여 중). Helm Helm 소개 Helm은 Kubernetes 패키지 관리자입니다. Helm을 통해 Kubernetes 애플리케이션 관리, 업데이트, rollout, 애플리케이션 공유 옵션을 단순화하여 사용할 수 있게 되었습니다. Helm은 클라이언트(Helm)와 서버(Tiller)로 구성되어 있습니다. Helm 설치 curl > get_helm.sh chmod 700 get_helm.sh ./get_helm.sh Helm과 Tiller를 초기화하기 전에 Tiler 서비스 계정을 생성 및 clusterrole(클러스터 관련 Rule 집합)에 바인딩 해야 합니다. kubectl -n kube..

[GCP Study Jam] Kubernetes Engine으로 배포 관리

GCP를 활용한 Kubernetes 학습을 진행하며 정리하는 글입니다 (Google Cloud Study Jam 참여 중). Introduction to deployment 배포가 단일 환경 또는 지역으로 제한될 경우 다음과 같은 이슈가 발생 할 수 있습니다. Resource limits reached 단일 환경, 특히 내부 환경에서는 Resource가 Production 요구사항을 충족하지 못할 수 있습니다. Limited geographical scope 단일 환경에서 배포하면 지리적으로 멀리 떨어진 사용자들이 모두 하나의 배포에 접근해야 합니다. Limited availability 애플리케이션의 결함 감내 시스템 및 탄력성 유지에 어려움이 발생합니다. Provider-Dependent 제공업체 수..

[GCP Study Jam] Kubernetes를 통한 클라우드 조정

GCP를 활용한 Kubernetes 학습을 진행하며 정리하는 글입니다 (Google Cloud Study Jam 참여 중). Pod Pod 란? 하나 이상의 Container가 포함된 집합을 의미합니다. 일반적으로 종속도가 높은 여러 Container가 있을 경우 Container들을 단일 Pod로 패키징합니다. Volume 은 Data Disk로서 Pod의 컨테이너에서 사용할 수 있습니다. Pod는 Contents에 대한 공유 Namespace 제공합니다. Pod에 속한 두 Container가 서로 통신할 수 있으며 연결된 Volume도 공유합니다. Pod는 Network Namespace도 공유합니다(Pod마다 IP주소가 하나씩 있습니다.). Pod는 하나의 Container(Monolith)로 구성..

[GCP Study Jam] Kubernetes 노드 소개

GCP를 활용한 Kubernetes 학습을 진행하며 정리하는 글입니다 (Google Cloud Study Jam 참여 중). 개요 Kubernetes에서 실행되는 복제 애플리케이션으로 변환 해보겠습니다. (Kubernetes는 노트북에서 고가용성 멀티노드 클러스터, 공용 클라우드에서 내부 배포, 가상 머신에서 베어 메탈에 이르기까지 다양한 환경에서 실행되는 오픈소스 프로젝트입니다.) 실습 내용은 아래와 같습니다. Node.js 서버 만들기 Docker 컨테이너 이미지 만들기 컨테이너 클러스터 만들기 Kubernetes 포드 만들기 서비스의 규모 확장하기 * 공통적으로 실습에서 사용되는 실제 PROJECT ID 는 PROJECT_ID로 대체합니다. Node.js 서버 만들기 (node.js 설치가 완료되어..

[GCP Study Jam] GCP를 활용한 Docker 사용해보기

GCP를 활용한 Kubernetes 학습을 진행하며 정리하는 글입니다 (Google Cloud Study Jam 참여 중).* 공통적으로 실습에서 사용되는 실제 PROJECT ID 는 PROJECT_ID로 대체합니다. Gcloud gcloud 는 gcp 를 위한 커멘드 라인 도구로, cloud shell에 사전 설치 되어 있습니다. (탭 완성 지원) (계정을 활성화 하게 되면 계정 정보 및 프로젝트 ID를 얻을 수 있는데, Docker 이미지를 Google Container Registry 에 올리게 될 때 사용했습니다.) Hellow World 'hello-world'라는 이름의 컨테이너를 실행해보겠습니다. $ docker run hello-world docker 데몬은 hello-world라는 이미지..