Kubernetes(9)
-
Docker 최신버전 설치
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo yum install -y docker-ce systemctl start docker systemctl enable docker systemct..
2020.10.04 -
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 -
Docker Volume
Docker는 하나의 이미지로부터 여러 컨테이너를 만들기 위해서 Union File system 을 사용합니다. Union File system은 원본 이미지에 변경된 내용을 추가하는 방식으로, 다른 컨테이너에서 사용할 수 없습니다. 따라서 다른 컨테이너, 혹은 호스트와 데이터를 공유하기 위해 데이터 볼륨을 사용합니다. docker를 생성하며 -v 옵션으로 호스트OS의 디렉토리를 컨테이너에 마운트할 수 있습니다. 컨테이너가 삭제되어도 호스트OS의 디렉토리에 데이터가 남아있습니다. --privileged 옵션으로 컨테이너에게 host의 접근 권한을 주어야 쓰기가 가능합니다. -v {호스트 절대경로}:{컨테이너 절대경로} --volumes-from 옵션을 사용하면 -v 옵션이 적용된 컨테이너와 같은 볼륨 디..
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