kubeconfig, kubectl, eksctl

hoho·2025년 11월 27일

클라우드 & 인프라

목록 보기
4/4

1️⃣ kubeconfig

  • 정의: Kubernetes 클러스터 접속 정보와 인증 정보를 담고 있는 설정 파일

  • 위치: 기본적으로 ~/.kube/config

  • 내용 예시:

    • 어떤 클러스터에 접속할지(endpoint)
    • 어떤 사용자/역할(role)로 접속할지 인증 정보
    • context 이름 (여러 클러스터/사용자 전환 가능)
  • 역할:

    • kubectl이 “어떤 클러스터, 어떤 인증 정보로 접속해야 하는지”를 kubeconfig에서 읽음
    • 로컬 PC에서 kubectl로 EKS API 서버를 제어할 때 반드시 필요

비유: kubeconfig = “클러스터 주소록 + 열쇠 묶음”


2️⃣ kubectl

  • 정의: Kubernetes 클러스터를 조작하기 위한 명령줄 CLI

  • 주요 기능:

    • Pod/Service/Deployment 생성, 조회, 삭제
    • 리소스 상태 확인, 로그 확인, exec 접속 등
  • 작동 원리:

    1. kubeconfig를 읽어서 “어느 클러스터, 어떤 인증 정보”를 확인
    2. Kubernetes API 서버에 HTTPS 요청
    3. 결과를 CLI에 출력

비유: kubectl = “클러스터에 명령을 보내는 리모컨”


3️⃣ eksctl

  • 정의: AWS EKS 전용 CLI

  • 역할:

    • EKS 클러스터 생성/삭제/확장
    • NodeGroup 관리
    • kubeconfig 생성/병합
  • 차이점: kubectl과 비교

    항목kubectleksctl
    목적K8s 리소스 제어EKS 클러스터 관리
    범위모든 Kubernetes 클러스터AWS EKS 전용
    사용 예Pod 생성, 로그 확인클러스터 생성, kubeconfig 자동 생성, NodeGroup 추가
  • 즉, eksctl은 EKS를 쉽게 관리하기 위한 AWS 전용 CLI,
    kubectl은 어떤 K8s 클러스터든 제어 가능한 표준 CLI라고 보면 됨.


4️⃣ 정리 그림 (개념)

[ 로컬 PC ]
   |
   | kubeconfig (클러스터 주소+인증 정보)
   v
[ kubectl CLI ] -----> [ Kubernetes API Server (EKS) ]
                         |
                         | RBAC, Pod/Service/Deployment
                         v
                      [ Node (실제 워커) ]

[ eksctl CLI ] ---> AWS EKS 서비스 (클러스터 생성/삭제, kubeconfig 생성)
  • kubectl: 클러스터 내부 리소스 제어
  • eksctl: EKS 클러스터 관리 + kubeconfig 생성 보조
  • kubeconfig: kubectl이 클러스터를 찾고 인증하기 위한 정보 파일

원하면 제가 “kubeconfig + kubectl + eksctl 실제 연결 흐름”을 그림으로 그려서
“내 PC에서 EKS까지 요청이 어떻게 흐르는지” 시각적으로 보여줄 수도 있어요.

그거 만들어줄까?

0개의 댓글