목록DevOps/쿠버네티스 (13)
내 잡다한 노트
helm 정의 : k8s 애플리케이션을 관리하고 배포하기 위한 패키지 매니저. # 주요 개념- chart차트는 k8s 리소스의 템플릿 파일들을 묶어둔 패키지. 모든 리소스(Deployment, service, configmap 등)를 포함하고 있으며, 이를 통해 특정 애플리케이션의 전체 스택을 하나의 패키지로 취급할 수 있다.yaml 파일을 통해 설정값을 관리하며, 설치 시점에 사용자 정의 설정을 쉽게 적용할 수 있다. - ReleaseHelm 차트의 실행된 인스턴스하나의 차트를 여러 번 릴리스하여 동일한 애플리케이션의 여러 인스턴스를 클러스터에 배포할 수 있다. - Repositoryhelm 차트는 레포지토리에서 호스팅되며, 차트를 다운로드하고 설치할 수 있는 장소를 제공한다. # 주요 기능- 애플리..
말그대로 여러 스케줄러를 배포하는 방법에 대한 글이다. 기본 스케줄러는 파드를 노드에 고르게 배분하는 알고리즘을 가지고 있으며 taints와 tolerations, node affinity 등을 고려한다. 하지만 이러한 것들을 사용해도 우리의 필요를 충족시키지 못한다면, 우리가 직접 스케줄러 프로그램을 작성하고, 추가 스케줄러로 배포할 수 있다. 이렇게 하면 다른 거는 기본 스케줄러로 처리될 수 있지만, 특정 애플리케이션은 우리가 만든 커스텀 스케줄러를 사용할 수 있다.따라서 클러스터에는 여러 스케줄러가 동시에 존재할 수 있다. 파드나 deployment를 생성할 때, 우리는 쿠버네티스에게 특정 스케줄러에 의해 파드가 스케줄링되도록 지시할 수 있다. 여러 스케줄러가 있을 때 구분하는 방법은 이름이다. 기..
kubelet은 kube-apiserver로부터 어떤 파드를 실행해야 하는지에 대한 지시를 받아 노드에서 파드를 실행한다.이때 kube-scheduler는 파드가 어떤 노드에 배치될지를 결정하고, 그 결과가 ETCD에 저장된다. Static Pods정의 : kubelet이 혼자서 관리할 수 있는 podk8s의 클러스터의 control plane 컴포넌트 없이도 kubelet이 독립적으로 관리할 수 있는 파드.이거는 다음과 같은 상황에서 사용된다. kube-apiserver, kube-scheduler, ETCD 등 클러스터의 다른 컴포넌트가 없는 경우.단독으로 노드를 운영해야 하거나, 클러스터의 control plane을 설정하기 위해 사용할 때 Static pods의 작동방식kubelet은 특정 디렉..
버추얼박스 같은 가상화 소프트웨어에 등록시키는 os를 편하게 만드는 프로그램이다. 도커파일의 경우 도커 이미지를 빌드해서 작은 용량으로 편하게 컨테이너를 배포할 수 있다. Vagrant도 비슷한 개념으로, 가상화 OS를 vagrantfile로 만들어서 셋팅된 os를 편하게 배포할 수 있다. 이를 통해, 버추얼박스에 OS를 까는게 번거롭고 귀찮은 과정을 거치는데 편하게 설치할 수 있다. 어려운 말로하면, 베이그런트는 시스템 자원을 할당, 배치, 배포해두었다가 필요할 때 시스템을 사용할 수 있는 상태로 만들어주는데 이걸 provisioning이라고 한다. 자주쓰는 vagrant 명령어 vagrant init // 프로비저닝을 위한 기초 파일을 생성 vagrant up vagrant halt vagrant d..