역사 맨 처음에는 k8s가 컨테이너 런타임을 도커만 사용함 rkt같은 다른 컨테이너 런타임도 추가하고자 함 → 이러려면 필요한게 CRI였음 cri = container runtime interface cri 도입으로 oci 표준을 준수하는 다른 컨테이너 런타임을 지원할 수 있게 됨 oci = open container initiative 표...
what is etcd? 분산되고 신뢰할 수 있는 키-밸류 스토어 etcd에는 클러스터에 관한 정보를 저장 (nodes,pods,configs,secrets,accounts,roles,bindings, others) kubectl을 실행할
what is kube-api server kube-apiserver는 클러스터에서 변경을 위해 수행해야 하는 모든 작업의 중심에 있다. kubectl 명령어를 실행하면, 실제로 kubectl 유틸리티가 kube-apiserver에 접근한다. kube-apiserver는 etcd와 직접 상호작용하는 유일한 구성요소 api 서버의 역할 authentica...
what is Kube Controller Manager Kube Controller Manager는 Kubernetes에서 여러 컨트롤러를 관리 컨트롤러는 마스터 내의 사무실이나 부서와 같은 것 예를 들어, 선박에 대한 사무실은 선박의 모니터링 및 필요한 조치를 담당합니다. 새로운 선박이 도착하거나 선박이 떠나거나 파괴될 때마다 조치...
생성할 파드를 어느 노드에 배치시킬지 결정하는 결정자.
선박(노드)의 선장과 같은 역할
what is kube-proxy 요청 들어오면 포워딩 해주는 역할 docker-proxy와 동일한 역할 모든 노드에서 실행되는 프로세스 새로운 서비스를 찾아내고, 새로운 서비스가 생성될 때마다 각 노드에서 해당 서비스로 트래픽을 전달하기 위한 적절한 iptables 규칙을 생성 k8s 클러스터에서 각각의 파드는 서로 다른 모든 파드에 접근할 ...
k8s에서 생성할 수 있는 가장 작은 오브젝트
k8s는 pod, replicaset, deployment, service 같은 객체를 생성하기 위해 YAML 파일을 사용
1/2 : running container / total containers in pod webapp 파드에 2개의 컨테이너 존재하고 그 중 1개만 running 상태 파드 상세 확인 dry-run 클러스터에 명령 실행하기 전 명령의 유효성을 체크하기 위해 사용하는 옵션, 실제 반영 x, 예시) kubectl appl...
객체를 모니터링하고 지정된 수의 파드가 항상 실행되도록 보장하는 역할
dry-run으로 파일의 유효성 여부를 확인할 수는 없다..! 레플리카셋이 생성될 것이라고,, 이상이 없길래 실행시켰더니… 에러 발생 rs를 통해 배포할 파드의 라벨은 selector에 포함되어야 함 spec.selector.matchLabels >> spec.template.metadata.labels 이미 생성된 오브젝트 정보 확인 & y...
배포deploy를 위해 필요한 여러 기능을 지원함
시험 중에는 브라우저에서 YAML 파일을 복사하여 터미널에 붙여넣기 하는 것이 어려울 수 있습니다. kubectl run 명령을 사용하면 YAML 템플릿을 생성하는 데 도움이 될 수 있습니다. 때로는 YAML 파일을 생성하지 않고도 kubectl run 명령만으로 작업을 수행할 수도 있습니다. 예시 다음 조건에 부합하는 deployment 생성하기 ...
응용 프로그램 내부 및 외부의 다양한 구성 요소 간의 통신을 가능하게하는 객체
개발 환경과 운영 환경을 동일한 클러스터에서 사용하고자 하지만, 두 영역의 리소스를 각각 격리할 때 도입 가능한 개념
명령형 접근 vs 선언형
선언적 방식(imperative)으로 객체를 관리하는 명령어
객체를 그룹화해서 관리/사용하기 위한 방법
스케줄러가 파드를 특정 노드에 배치시키지 않도록 설정하는 것
노드에 라벨을 붙이고, 파드가 그 라벨이 붙은 노드에만 배포하는 것
특정 노드에 파드를 스케줄링하기 위함
스케줄러는 파드가 필요로 하는 리소스의 양과 노드에서 사용 가능한 리소스를 고려하여 파드를 배치할 가장 적합한 노드를 찾아낸다.
모든 노드마다 동일한 파드를 하나씩 띄워놓는 데몬
개념 참조 스태틱 파드 는 API 서버 없이 특정 노드에 있는 kubelet 데몬에 의해 직접 관리된다. 컨트롤 플레인에 의해 관리되는 파드(예를 들어 디플로이먼트(Deployment))와는 달리, kubelet 이 각각의 스태틱 파드를 감시한다. (