CKA

    (TIL) Kube-API Server

    kube-apiserver란kube-apiserver는 Kubernetes의 중앙 관리 허브이다.모든 요청과 변경 사항은 kube-apiserver를 통해 이루어지게된다.kubectl get pods위와 같이 kubectl 명령어를 실행하면 kubectl은 kube-apiserver에 요청을 보낸다.kube-apiserver는 요청을 인증(authentication) 및 검증(valication)하며, 요청된 데이터를 ETCD에서 조회하며 응답을 반환한다.Kube-api server가 pod를 생성하는 과정사용자가 Pod을 생성하는 요청을 보낸 경우, 아래와 같은 Flow를 통해 사용자의 요청을 처리하게 된다.1) 사용자가 kubectl apply -f pod.yaml 실행2) kubectl이 kube-..

    (TIL) Kubernetes의 ETCD

    ETCDETCD는 Kubernetes의 Master Node에서 사용하는 Key-Value Store이다ETCD의 설치 및 실행MySQL, MongoDB 같은 고도화된 DB와 달리 바이너리 파일을 다운로드하고 실행하면 바로 사용 가능하다.운영 체제에 맞는 ETCD 바이너리 파일을 다운받고 (https://github.com/etcd-io/etcd/releases) ./etcd 명령어를 실행하면 포트 2379에서 서비스가 실행된다.etcdctletcd에는 etcdctl이라는 기본적인 클라이언트 도구가 포함되어있다.key-value 데이터 저장시에는 아래와 같은 명령어를 수행하면된다../etcdctl put key1 value1이 외에 사용 가능한 명령어 목록을 보려면 아래와 같이 입력한다./etcdctlE..

    (TIL) ctr, cri, nerd-control

    CRI의 도입컨테이너 기술이 처음 등장했을 때의 대표적인 기술로 Docker를 뽑을 수 있다.Kubernetes는 Docker를 Ochestration(배포, 스케일링, 관리)하는 역할을 맡게 되었는데, 따라서 Docker 스펙과 매우 긴밀한 Dependency를 가지는 방향으로 설계되었다.그러나 이후 Kubernetes가 점차 인기를 끌게되면서 rkt와 같은 다른 컨테이너 런타임들도 kubernetes에서 사용할 수 있도록 지원할 필요성이 생겼고, 이를 해결하기 위해 CRI, 즉 Container Runtime Interface라는 개념을 도입하게 되었다.CRI란CRI란 Kubernetes가 컨테이너 런타임과 상호작용하는 표준 인터페이스이다.해당 표준을 통해 Docker 이외의 런타임도 Kubernet..

    (TIL) Cluster Archiectuer

    Kubernetes의 노드Master Node와 Worker Nodes로 이루어져 있음Master Node쿠버네티스 클러스터를 관리하는 역할을 한다.어떤 container가 어디에 배치되어야 하는지 계획하고, 노드와 컨테이너 상태를 모니터링한다. etcdMaster Node에서 사용하는 key-value storekube-scheduler컨테이너가 배치되어야하는 알맞은 노드를 식별한다.Controller-ManagerNode-Controller + Replicaion-Controllerkube-apiservercluster 내부의 operation을 orchestrating하는 역할primary management component of KubernetesWorker NodekubeletKube API..