Open initmumu opened 1 year ago
1.1 컨테이너
1.2 컨테이너 오케스트레이션 시스템
1.4 쿠버네티스의 특징
구글 클라우드 플랫폼, 마이크로소프트 애저, AWS에서 Kubernetes 지원.
1.4.1 선언적 API
1.4.2 워크로드 분리
1.4.3 어디서나 실행 가능
1.4.4 커뮤니티
2.1 설치 없이 쿠버네티스 사용하기
2.1.1 카타코다 쿠버네티스 플레이그라운드: kubectl 관련 명령 실행 가능
2.1.2 Play with Kubernetes
2.2 도커 데스크톱을 이용한 쿠버네티스 설치
2.3 클라우드 서비스에서 제공하는 쿠버네티스 도구: 실제 상용 서비스에 쿠버네티스 클러스터를 구성하고 관리 가장 간단한 방법
2.3.1 구글 쿠버네티스 엔진(GKE)
2.3.2 아마존 쿠버네티스 일래스틱 컨테이너 서비스(Amazon EKS)
2.3.3 애저 쿠버네티스 서비스(AKS)
2.4 쿠버네티스 클러스터를 직접 구성하는 도구: 규칙준수 이슈를 해결할 때 활용
2.4.1 Kubeadm
2.4.2 Kubespray
선언적 api 쿠버네티스는 선언적 api를 이용해 자신의 상태를 변경하고, 지속한다. 만약 사용자가 k8s api를 통해 특정 앱을 10개의 컨테이너를 사용하여 실행하겠다고 명령하면 k8s는 스스로 컨테이너의 개수를 10개로 유지한다. 물론, k8s가 직접적으로 관리하는 부분은 k8s controller의 기능으로써 encapsulation 되기때문에 개발자가 직접 신경쓸 필요가 없으며, 신경 쓸수도 없다. (이 과정에서 앱 재시작과 같은 일부 기능들은 필요에 의해 k8s object의 기능으로 추가되기도 한다.)
워크로드 분리 다양한 서버에 분산되어 있는 앱의 프로세스들을 k8s가 관리해주고, 개발자는 k8s controller에게 api로 특정 명령을 내리기만 하면 되므로 분산시스템 관리에 대한 개발자의 고민을 덜어준다.
k8s 클러스터의 구성을 위해 azure, aws eks, gcp 등의 서비스를 사용할수도 있지만, 다음의 도구들을 통해 직접 커스텀 할수도 있다.
여기서 잠깐!!
etcd란, cp node가 가지고 있는 control plane components 중 하나이다. 쿠버네티스 클러스터에서 노드는 두가지 분류로 구분되는데, worker node와 control plane (master) node가 그것이다. Worker node는 실제 앱을 실행시키는 역할이며, control plane 노드는 클러스터의 상태를 관리해주는 역할을 수행한다. 그리고 control plane node는 control plane object로 구성되는데, 그 종류는 다음과 같다.