Cloud 스터디 잼 코리아 Kubernetes Intm 16

3주차 - 03. Google Kubernetes Engine 개념

Kubernetes 클러스터를 직접 설정하는 복잡한 작업을 다행히도 오픈소스 명령어 'kubeadm'으로 클러스터 초기 설정의 대부분을 자동화할 수 있지만, 노드(Node)가 실패하거나 노드에 유지보수가 필요한 경우에는 관리자가 수동으로 응답해야 한다. Google Kubernetes Engine는 사용자를 대신하여 모든 제어영역 구성요소를 관리한다. Google Kubernetes Engine(GKE) GKE는 IP 주소를 노출하고, 사용자가 그 IP 주소로 모든 Kubernetes API 요청을 보내지만, GKE가 사용자를 대신하여 모든 제어 영역 인프라를 프로비저닝하고 관리한다. 별도의 제어 영역(Control plane)을 추상화한다. Google Cloud에서 제어 영역(Control plane..

3주차 - 02. Kubernetes 제어 영역

'Cluster'(클러스터)에는 컴퓨터가 필요하고 Cluster를 구성하는 컴퓨터는 일반적으로 가상 머신이다. 이 가상 머신은 항상 GKE 이기도 하지만, 실제 컴퓨터일 수도 있다. 한 컴퓨터를 'Control plane'(제어 영역)이라고 하고, 다른 컴퓨터를 간단히 'Node'(노드)라고 한다. Node는 'Pod를 실행하는 역할', Control plane은 '전체 클러스터를 조정하는 역할' 을 한다. Control plane에서 실행되는 중요한 Kubernetes 구성 요소 'kube-APIserver' 사용자가 직접 상호작용하는 단일 구성요소는 'kube-APIserver'이며, 'kube-APIserver'의 역할은 클러스터의 상태를 보거나 변경하는 명령어를 수락하는 것으로 여기에는 Pod 실..

3주차 - 01. Kubernetes 개념

Kubernetes Concepts Kubernetes 객체 모델 Kubernetes가 관리하는 각 항목은 객체로 표시되며 이러한 객체의 속성과 상태를 확인하고 변경할 수 있다. 선언적 관리 원칙 객체에 대해 원하는 상태를 지정(선언)하면, 'watch loop(감시 루프)'를 사용하여 Kubernetes 객체를 해당 상태로 전환하여 유지하게 된다. Two elements to Kubernetes objects Kubernetes objects (객체)는 클러스터에서 실행 중인 항목의 상태(원하는 상태 및 현재 상태)를 나타내는 영구 항목으로 정의된다. Object spec (객체 스펙/사양) 만들려는 각 Object(객체)에 대해 'Object spec'을 Kubernetes에 제공한다. 이 spec에..

Getting Started with Google Kubernetes Engine수료

. . . ㅎr... 쉽지 않았다.. 아직 정리는 절반도 못했그..,,사실 아직도 잘 모르게쌉.,, 너란 K벌ne리s......,,, 일단 수료 ^^* 수료증URL Coursera | Online Courses & Credentials From Top Educators. Join for Free | Coursera Learn online and earn valuable credentials from top universities like Yale, Michigan, Stanford, and leading companies like Google and IBM. Join Coursera for free and transform your career with degrees, certificates, Speci..

2주차 - 06. 컴퓨팅 옵션 세부정보

Compute Engine Fully customizable virtual machines GCP에서 실행되는 가상 머신을 제공한다. 성능 및 비용 요구사항에 부합하는 커스텀 설정 된 구성을 생성할 수도 있다. Persistent disks and optional local SSDs 가상머신에 필요한 블록 스토리지를 제공한다. 영구 디스크는 수직 확장 가능하며, 네트워크 스토리지를 제공하기 떄문에 백업 및 이동성을 위해 영구 디스크의 스냅샷을 만드는 것이 용이하다. 초당 입출력 작업 수가 매우 높은 로컬 SSD를 선택할 수도 있다. Global load balancing and autoscaling 오토 스케일링(자동 확장)을 지원하는 글로벌 로드밸런싱(전역 부하 분산)을 제공한다. 수요를 충족하기 위해..

2주차 - 05. Google Kubernetes Engine 소개

Kubernetes는 강력하지만, 인프라 관리가 부담스럽다. 이러한 Kubernetes를 위한 Google Cloud의 관리형 서비스를 'Google Kubernetes Engine'(이하 GKE)라고 한다. 'Google Kubernetes Engine'(GKE) 란? Container 애플리케이션 배포를 위한 관리형 환경 GCP(Google Cloud Platform) 컴퓨팅 기능의 구성요소이며, GKE를 사용하면 GCP에서 컨테이너화된 애플리케이션을 위해 Kubernetes 환경을 배포, 관리, 확장할 수 있다. GKE를 통해 Kubernetes 워크로드를 클라우드에 손쉽게 배포할 수 있다. GKE Console은 관리할 필요가 없는 GKE 클러스터 및 워크로드의 대시보드로, 오픈소스 Kubern..

2주차 - 04. Kubernetes 소개

Kubernetes 란? 컨테이너 관리 및 조정 솔루션(컨테이너 중심의 관리 환경)으로, Google에서 최초로 개발하여 오픈소스 커뮤니티에 제공한 Cloud Native Compting Foundation 프로젝트 컨테이너화된 애플리케이션의 배포, 확장, 부하 분산, 로깅, 모니터링, 기타 관리 기능 등을 자동화 한다. Paas(Platform as a Service) 솔루션의 특징 Iaas(Infrastructure as a Service) 기능도 지원 한다. 다양한 사용자 환경설정과 구성 유연성을 지원 Declarative configuration(선언적 구성)을 지원한다. '선언적'으로 관리하는 경우, 일련의 명령어를 실행하는 게 아니라 달성하려는 상태를 설명하여 원하는 상태를 달성한다. 배포된 ..

2주차 - 03. 실습 Cloud Build로 작업하기

코세라 내에서 진행하는 실습은 코세라에서 제공하는 구글 클라우드 실습 환경에서 진행 된다. Task 1. 필요한 API 'enabled' 상태인지 확인하기 이미 두 API 모두 enabled 상태이다. Task 2. Docker File 작성과 Cloud Build를 통해 컨테이너 빌드하기 Cloud Shell에 명령어를 입력해서 Docker File 작성과 gcloud를 통해 Cloud Build를 이요한 컨테이너 빌드 과정을 마쳤다. Task 3. configuration file과 Cloud Build를 통해 컨테이너 빌드하기 링크 주소로 가져온 (/a)'cloudbuild.yaml' 파일을 configuration file로 하여, gcloud를 통해 컨테이너를 빌드 했다. Task 4. buil..

2주차 - 02. 컨테이너 및 컨테이너 이미지

이미지 (Image) 애플리케이션과 종속항목을 '이미지' 라고 한다. 즉, 컨테이너는 실행 중인 '이미지 인스턴스' 이다. 소프트웨어를 컨테이너 이미지로 빌드하면 개발자는 손쉽게 애플리케이션을 패키징하고 제공할 수 있으며, 앱이 실행될 시스템에 대해서는 신경 쓰지 않아도 된다. 컨테이너 이미지를 빌드하고 실행하는데 필요한 소프트웨어 워크로드를 격리하는 기능을 제공한다. 대표적으로 Docker와 Kubernetes가 있다. 컨테이너는 다양한 리눅스 기술들을 이용한다. Process - Linux 프로세스마다 서로 분리된 고유의 가상 메모리 주소 공간이 있고, Linux 프로세스는 빠르게 생성하고 삭제할 수 있다. Linux namespaces - Linux 네임 스페이스를 사용하여 애플리케이션에 제공할 ..

2주차 - 01. 컨테이너 소개

가상화의 장점 가상화를 통해 여러 가상 서버와 운영체제를 동일한 물리적 컴퓨터에서 실행할 수 있다. 가상화를 통해 새 서버를 빠르게 배포할 수 있다. (배포 시간 단축) 물리적 자원 낭비를 줄이고, 이미지를 만들어 이동할 수 있게 된다. 하이퍼바이저는 소프트웨어 레이어로서, 기본 하드웨어에서 운영체제의 종속성을 해소하여 여러 가상 머신이 하드웨어 하나를 공유할 수 있도록 한다. 가상화의 한계 애플리케이션의 모든 종속 항목과 운영체제는 여전히 하나의 번들로 묶여 있어, VM을 하이퍼바이저 제품 간 이동하는 것은 쉽지 않으며, VM을 시작할 때마다 OS를 부팅하는 시간이 소요 된다. 단일 VM에서 여러 애플리케이션을 실행하면 종속 항목을 공유하는 애플리케이션이 서로 격리되지 않는 문제가 발생한다. -> 이를..