Ⅰ. kubeadm, kubectl, kubelet 이란?
ⅰ. kubeadm
: 쿠버네티스 클러스터를 생성하고 관리하는 데 사용되는 도구입니다. 클러스터 초기화와 노드 추가 등에 사용됩니다.
ⅱ. kubectl
: 쿠버네티스 클러스터에서 리소스를 관리하고 상태를 점검하는 데 사용되는 명령줄 도구입니다.
ⅲ. kubelet
: 각 노드에서 실행되는 데몬으로, 컨테이너의 라이프사이클을 관리하고 API 서버와 상호작용합니다.
Ⅱ. kubeadm 정의
쿠버네티스 클러스터를 쉽게 설정하고 관리할 수 있게 해주는 도구입니다. 클러스터 초기화, 노드 추가, 업그레이드 등의 작업을 간소화합니다.
Ⅲ. kubeadm 주요 기능 및 역할
ⅰ. 쿠버네티스 클러스터를 설치하고 초기화하는 데 사용
ⅱ. 마스터 노드와 워커 노드를 설정하는 과정에서 핵심적인 역할
ⅲ. 인증과 관련된 키, 토큰 등을 생성하고 네트워크 플러그인을 적용
Ⅳ. kubeadm 주요 명령어
ⅰ. 클러스터 초기화 (init)
마스터 노드를 설정하려면 다음 명령어를 사용합니다. --pod-network-cidr는 네트워크 플러그인 설정을 위한 CIDR(서브넷 범위)입니다.
kubeadm init --pod-network-cidr=10.244.0.0/16 |
실행하면, kubeadm이 필요한 구성 파일을 생성하고, 클러스터 마스터를 구성합니다.
ⅱ. 워커 노드 추가 (join)
마스터 노드에서 kubeadm init 명령을 실행하면, 워커 노드를 클러스터에 추가하는 kubeadm join 명령을 제공합니다. 이를 워커 노드에서 실행하여 클러스터에 합류시킵니다.
kubeadm join :6443 --token --discovery-token-ca-cert-hash sha256: |
ⅲ. 클러스터 업그레이드 (upgrade)
쿠버네티스 클러스터를 업그레이드하려면 다음 명령을 사용합니다.
kubeadm upgrade apply |
ⅳ. 클러스터 재설정 (reset)
클러스터 초기화 상태로 되돌리려면 이 명령어를 사용합니다.
kubeadm reset |
Ⅴ. kubectl 정의
쿠버네티스 클러스터를 제어하고, 클러스터 내에서 작업을 수행할 수 있게 해주는 명령줄 도구입니다. API 서버와 상호작용하며 클러스터의 리소스를 관리합니다.
Ⅵ. kubectl 주요 기능 및 역할
ⅰ. 쿠버네티스 클러스터에서 실행 중인 애플리케이션 관리
ⅱ. 클러스터 내의 리소스(pod, service, deployment 등)를 조회, 생성, 수정, 삭제
ⅲ. 클러스터의 상태를 점검하고 문제를 진단하는 도구
Ⅶ. kubectl 주요 명령어
ⅰ. 클러스터 정보 확인 (cluster-info)
현재 클러스터의 정보와 상태를 확인할 수 있습니다.
kubectl cluster-info |
ⅱ. 노드 목록 확인 (get nodes):
클러스터에 연결된 노드들의 상태를 확인합니다.
kubectl get nodes |
ⅲ. 파드(pod) 목록 확인 (get pods)
현재 클러스터에서 실행 중인 파드의 목록을 확인합니다.
kubectl get pods |
ⅳ. 리소스 생성 (apply)
Kubernetes 객체(Deployment, Service 등)를 YAML 파일로 정의한 후 이를 클러스터에 적용합니다.
kubectl apply -f |
ⅴ. 파드 삭제 (delete pod)
특정 파드를 삭제하려면 다음 명령을 사용합니다.
kubectl delete pod |
ⅵ. 로그 확인 (logs)
특정 파드나 컨테이너의 로그를 확인하려면 다음 명령을 사용합니다.
kubectl logs |
ⅶ. 파드 내부 접근 (exec)
실행 중인 파드 내에서 명령을 실행할 수 있습니다.
kubectl exec -it -- /bin/bash |
ⅷ. 전체 리소스 확인 (get all)
클러스터의 모든 리소스를 조회할 수 있습니다.
kubectl get all |
Ⅷ. kubelet 정의
쿠버네티스 노드에서 실행되는 주요 컴포넌트로, 각 노드에서 컨테이너를 관리하는 역할을 합니다. kubelet은 마스터 노드의 API 서버로부터 명령을 받아 워커 노드의 상태를 유지하고 컨테이너를 실행합니다.
설정 파일(/var/lib/kubelet/config.yaml)을 사용하여 동작을 제어합니다. 노드의 동작을 변경하고 싶다면 이 설정 파일을 수정해야 합니다
Ⅸ. kubelet 주요 기능 및 역할
ⅰ. 노드에서 실행 중인 모든 컨테이너를 관리
ⅱ. API 서버로부터 명령을 받아 해당 노드의 컨테이너를 생성, 업데이트, 삭제
ⅲ. 컨테이너 상태를 지속적으로 모니터링하고 보고
Ⅹ. kubelet 주요 명령어
직접적인 명령을 통해 사용되기보다는 시스템 서비스로 동작하는 것이 일반적입니다. 보통 systemctl 명령을 통해 관리됩니다.
ⅰ. kubelet 상태 확인
systemctl status kubelet |
ⅱ. kubelet 시작
systemctl start kubelet |
ⅲ. kubelet 중지
systemctl stop kubelet |
ⅳ. kubelet 재시작
systemctl restart kubelet |
'시스템(Linux)' 카테고리의 다른 글
RPC(Remote Procedure Call)에 대해 알아보곘습니다. (0) | 2024.10.16 |
---|---|
vi: command not found 오류 발생 시 조치 방법에 대해 알아보겠습니다. (3) | 2024.10.09 |
Docker 와 Kubernetes 비교 Ⅱ (1) | 2024.10.05 |
Docker 와 Kubernetes 비교 Ⅰ (1) | 2024.10.04 |
Docker 명령어에 대해 알아보겠습니다. (3) | 2024.10.04 |