k8s(6)
-
Kubernetes 구축
쿠버네티스는 도커의 오케스트레이션 툴입니다. 도커 컨테이너의 집합인 Pod를 알아서 노드에 스캐줄링하여 배치시키고 노드가 죽더라도 알아서 failover를 해줍니다. 먼저 전 가상머신을 3개 사용했습니다. k8s-master-01 : 192.168.0.10 k8s-worker-01 : 192.168.0.11 k8s-worker-02 : 192.168.0.12 두 개의 워커노드와 한 개의 마스터노드로 구성하겠습니다. 각 가상머신의 호스트 이름을 수정해줍니다. # hostnamectl set-hostname {호스트 이름} 각 가상머신의 hosts 파일에 서로의 정보를 추가해줍니다. # /etc/hosts k8s-master-01 192.168.0.10 k8s-worker-01 192.168.0.11 k8s..
2020.04.27 -
Kubernetes Service
쿠버네티스에서 서비스는 L4 계층의 부하분산 오브젝트이다.
2020.04.24 -
Kubernetes Volume
쿠버네티스의 볼륨은 다양한 디스크 볼륨을 지원한다. empryDir emptyDir은 Pod이 생생될 때 생성되고 삭제될 떄 삭제되는 임시 볼륨이다. 단위가 컨테이너가 아니라 Pod 단위이기 때문에 컨테이너가 재시작이 되어도 emptyDir은 Pod 이 삭제되기 전에는 삭제되지 않는다. 생성 당시에는 디스크에 아무 내용이 없기 때문에 emptyDir이라고 부른다. emptyDir은 물리적으로 노드에서 할당해주는 디스크에 저장. emptyDir.medium 필드에 “memory”라고 지정해주면 물리디스크가아닌 메모리에 저장. 두 컨테이너 간 공유 디스크를 통해 데이터 공유가 가능하다. hostPath 로컬 디스크의 경로를 Pod에서 마운트 해서 사용한다. Pod이 삭제 되더라도 파일들은 유지가 되며 다른 ..
2020.04.24 -
Kubernetes Controller
컨트롤러는 기본 오브젝트들을 생성하고 관리하는 역할을 한다. Replication Controller(RC) 지정된 숫자로 Pod을 기동 및 관리하는 역할. Replication Set(RS) 셀렉터의 종류가 RC(Equaility based)와 다르게 Set based 셀렉터이다. Deployment RC, RS보다 좀더 추상화 개념이다. 업데이트 자동화 기능도 있기 때문에 대부분 Deployment를 사용한다. Daemon Set 각 노드에 한 개씩 배포할 경우 사용한다. 보통 로깅, 모니터링 용도로 사용. Statefull Set DB와 같이 상태를 가지고 있는 Pod을 관리하게 된다.
2020.04.24 -
Kubernetes 오브젝트
오브젝트는 쿠버네티스의 가장 기본적인 구성단위이다. 오브젝트는 크게 기본 오브젝트와 추가 기능을 가진 컨트롤러가 있다. Pod 쿠버네티스에서 가장 기본적인 배포 단위이며 컨테이너를 포함하는 단위이다. 한 개의 Pod 안에 여러개의 컨테이너가 들어갈 수 있다. Pod 내의 컨테이너들은 IP와 port번호를 공유하기 때문에 localhost:port# 형태로 호출이 가능하다. 또한 디스크 볼륨을 공유한다. Volume Pod이 기동할 때 기본적으로 컨테이너마다 로컬 디스크를 생성해서 기동. 해당 디스크는 컨테이너가 재시작되거나 재배포될 때 유실된다. 따라서 영구적으로 파일을 저장해야하는 경우 스토리지 볼륨을 이용한다. Service L4 계층의 부하분산을 담당한다. 라벨과 라벨 셀렉터를 이용해 유연하게 선택..
2020.04.24 -
Kubernetes 와 Docker에 대한 이해
Docker 개념 Docker는 컨테이너 기반 오픈소스 가상화 플랫폼 입니다. 기존에는 호스트OS위에 게스트OS를 올리는 방식이라 오버헤드가 컸으나 컨테이너 기반의 가상화를 하게되면 프로세스만 격리하여 오버헤드가 줄어들게 됩니다. 컨테이너 형식으로 제작 및 배포를 하게 되면 언제 어디서든 똑같은 서비스를 배포할 수 있다. 하지만 운영체제를 가상화 하지 않기 때문에 centOS를 컨테이너로 만들게 되면 hostOS의 cgroup 폴더를 마운트 해주고 호스트에 대한 privileged를 명시해 주어야지 정상 사용이 가능합니다. Kubernetes 개념 Docker 컨테이너의 Ochestration Tool 많은 양의 서비스와 컨테이너를 적절한 위치에 배치하여 자원을 효율적으로 관리해주고 컨테이너를 종합 관리..
2020.04.24