클라우드 AWS과정
-
Kubernetes - ServiceDocker & Kubernetes 2019. 10. 9. 18:00
Service란 쿠버네티스 외부 또는 내부에서 Pod에 접근할 때 사용하는 기능이다. service를 사용하는 이유는 Pod는 서버와 같이 영구적인 것이 아니라 일회적인 것이기 때문이다. 서버는 문제가 생기면 서버를 재 시작하고 서비스를 재 시작 하지만 Pod는 문제가 생기면 문제가 생긴 Pod를 삭제한 뒤 새로운 Pod를 생성한다. 그렇기 때문에 Pod의 IP는 고정적이지 않고 가변적이다. 사용자가 Pod에 접근을 할 때 가변적인 IP를 가진 Pod에 접근하기 위해 Pod의 IP가 바뀔 때 마다 IP를 수정하는 것은 비효율적이며 매우 귀찮고 번거로운 일이 될 것이다. 그렇기 때문에 Service를 사용하면 사용자는 End Point로 Service를 지정하면 Service는 해당 Label Select..
-
kubernetes - 명령어 정리 및 사용법Docker & Kubernetes 2019. 10. 3. 22:16
사용자가 쿠버네티스를 사용할때는 명령어를 입력하고 이 명령어를 입력받은 apiserver가 해당 명령어를 수행한다. 기본적인 명령어 형식은 kubectl [COMMAND] [TYPE] {NAME] {FLAGS] 이다. - COMMAND : create, get, describe 와 같은 operation 종류 - TYPE : pods, nodes 등의 타입 ( https://kubernetes.io/docs/reference/kubectl/overview/#resource-types 참고 ) - NAME : 특정 리소스의 이름 선언 - FLAGS : 추가적인 옵션 선언 자주 사용하는 command : get, describe, edit, create, delete, top get : 리소스 리스트를 출력..
-
kubernetes - namespace란 ?Docker & Kubernetes 2019. 10. 3. 22:05
네임스페이스란 쿠버네티스 클러스터 내의 논리적인 분리 단위이다. 쿠버네티스 클러스터 내의 대부분의 리소스들은 네임스페이스로 논리적인 분리가 가능하다. 예를 들어 하나의 클러스터에 개발/운영/테스트 환경이 있다. 하나의 클러스터 환경에서 위의 세 환경을 모두 운영하면 분리가 되어있지 않기 때문에 혼란이 생길 수 있다. 이럴 때 네임스페이스를 사용하여 각각의 환경마다 논리적인 분리를 통한 구분이 가능하다. 또한 ResourceQuota를 사용하여 네임스페이스마다 CPU, MEMORY등의 개별적인 리소스 할당이 가능하다. 주의할 점은 네임스페이스는 논리적으로 분리된 것이지 물리적으로 분리된 것은 아니다. 네임스페이스를 생성하는 yaml 파일 형식 1. Test-namespace.yaml file 2. vi T..
-
kubernetes - apiVersion 종류Docker & Kubernetes 2019. 10. 3. 20:55
apiVersion 설명 v1 쿠버네티스에서 발행한 첫 stable release API (대부분의 api가 포함되어 있음) apps/v1 쿠버네티스의 common API 모음, Deployment, RollingUpdate, ReplicaSet을 포함 autoscaling/v1 pod의 autoscale 기능을 포함하는 API, 현재는 CPU metric을 사용한 scaling만 가능 (추후에 alpha, beta version에서 memory, custom metric으로 scaling 기능 추가예정) batch/v1 배치 프로세스, job-like task를 위한 배포 api batch/v1beta1 batch/v1에서 cronJob으로 job을 돌리는 api가 추가 certivicates.k8s...
-
Kubernetes - Pod란?Docker & Kubernetes 2019. 10. 3. 20:51
Pod란 무엇인가 ? Pod란 쿠버네티스에서 최소 배포 단위로 하나 이상의 컨테이너를 포함한다. Docker를 사용해본 사용자라면 알듯 Docker에서는 최소의 배포 단위가 컨테이너이다. 하지만 쿠버네티스는 하나의 컨테이너가 아닌 컨테이너 및 네트워크, 스토리지가 포함된 Pod로 배포한다. 기본적으로 하나의 Pod에는 1개의 컨테이너를 올리지만 두 개의 컨테이너가 밀접한 관계를 가지고 있을 때에는 하나의 Pod에 하나 이상의 컨테이너를 배포하기도 한다. 아래는 간단한 Pod 배포 yaml 파일이다. Test-pod.yaml apiVersion: v1 kind: Pod metadata: name: Test-Pod spec: containers: - name: nginx image: nginx:latest ..
-
CentOS 7 - 쿠버네티스 설치Docker & Kubernetes 2019. 6. 9. 21:41
쿠버네티스를 설치하기 전에 도커를 먼저 설치한다. (도커 설치 방법 아래의 링크 참조) https://honggg0801.tistory.com/20?category=819666 Docker란 Docker란? 도커란 컨테이너 기반의 오픈소스 가상화 플랫폼이다. 다양한 프로그램, 실행 환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 쉽고 단순하게 해준다 컨테이너(.. honggg0801.tistory.com Kubernetes 설치 - 호스트 구성 ( /etc/hosts ) 각 노드에 호스트 목록 입력 - Selinux 비활성화 ( /etc/sysconfig/selinux ) SELINUX = permissive로 변경한다. 그 후 setenforce 0 입력 - br_n..
-
Kubernetes란?Docker & Kubernetes 2019. 6. 9. 20:09
쿠버네티스란? 쿠버네티스란 여러 개의 호스트(pod- 쿠버네티스의 최소 배포 단위)를 하나로 묶어 관리하기 위한 오케스트레이션 툴이다. 아래에서 얘기하는 Pod는 쿠버네티스의 최소 배포 단위로 1개 이상의 컨테이너, 네트워크, 스토리지 등이 포함된다. 공식 사이트의 정의로는 어플리케이션 컨테이너의 배포 자동화, 스케일링, 운영을 위해 설계된 오픈소스 플랫폼이다. 분산 환경에서 여러 대의 컴퓨팅 자원을 한 대의 컴퓨터처럼 운영할 수 있다. 하드웨어 밴더 및 플랫폼에 종속되지 않아 Public Cloud(AWS, Azure,GCP)에도 사용이 가능하며 Private Cloud, 베어메탈에도 배포가 가능하기 때문에 하이브리드 클라우드 솔루션으로 각광 쿠버네티스의 주요 기능 - 여러 서버에 동작하는 Pod 관리..
-
Hypervisor란Virtualization 2019. 3. 22. 17:35
Hypervisor란? 가상화 환경을 제공하기 위해 호스트 컴퓨터에서 다수의 운영체제를 동시에 실행하기 위한 논리적 플랫폼.가상화 머신 모니터 또는 가상화 머신 매니저, VMM이라고도 부른다. 하이퍼바이저는 일반적으로 2가지 타입으로 나뉜다. 타입1 (Native or Bare-Metal) 운영체제가 프로그램을 제어하듯 하이퍼바이저가 해당 하드웨어에서 직접 실행되며 게스트 운영체제는하드웨어 위에서 2번째 수준으로 실행된다. 대표적인 제품으로는 Citrix의 XenServerVMware의 ESX ServerMicrosoft의 Hyper-V등이 있다. 타입2 (Hosted) 하이퍼바이저가 일반 프로그램과 같이 호스트 운영체제에서 실행되며 VM 내부에서 동작되는게스트 운영체제는 하드웨어에서 3번째 수준으로 실..