[K8S Deploy] Kubernets the Hard Way - Jumpbox 셋업

진웅·2026년 1월 9일

k8s deploy

목록 보기
1/20

Kubernetes The Hard Way의 두 번째 단계인 'Compute Resources (Jumpbox)' 파트 정리


02. 점프박스(Jumpbox)와 툴 셋업

이제 본격적인 실습의 시작이다. 클러스터를 구성할 서버들을 띄우기 전, 이 모든 작업을 지휘할 지휘소(Command Center) 역할을 하는 '점프박스(Jumpbox)'를 먼저 세팅해야 한다.

로컬 노트북에서 바로 쏘는 게 아니고, 격리된 환경에서 안전하게 접근하는 과정이다.
사실상 Bastion Host 구축 단계라고 보면 된다.


1. 왜 점프박스인가?

Kubernetes The Hard Way(이하 KTHW)는 말 그대로 '어렵게' 배우는 과정이다.
매니지드 서비스(EKS, GKE)가 다 해주던 걸 내가 직접 해야 한다.

앞으로 만들 컨트롤 플레인(Control Plane)과 워커 노드(Worker Node)들은 보안상 외부에서 함부로 접속하면 안 된다. 그래서 딱 하나의 구멍, 즉 점프박스를 통해서만 내부 노드들에 접근하고 명령을 내리도록 네트워크를 구성한다.

  • 나의 로컬 PC 점프박스 쿠버네티스 노드들

이 흐름을 기억하자. 오늘 할 일은 이 중간 다리를 튼튼하게 만드는 것이다.

2. 기본 컴퓨트 인스턴스 생성

일단 구글 클라우드(GCP)든 AWS든 기본 리눅스 머신(Ubuntu 추천) 하나가 필요하다. KTHW 가이드에서는 보통 gcloud 커맨드로 생성하지만, 핵심은 "외부에서 접속 가능한 공인 IP를 가진 리눅스 서버 한 대"를 띄우는 것이다.

Memo:
나중에 헷갈리지 않게 호스트네임은 jumpbox로 명확하게 지정해두자.

3. 필수 도구(Tools) 설치

점프박스에 접속 후 , 단순한 서버 접속 용도가 아니라, 여기서 인증서 생성, 설정 파일 배포, 클러스터 명령 수행을 위한 툴 설치한다.

설치해야 할 핵심 3대장:

① CFSSL & CFSSLJSON

쿠버네티스 보안의 핵심은 TLS 인증서다. KTHW의 꽃이자 가장 고통스러운 부분이기도 하다.
openssl은 너무 복잡하니까, Cloudflare에서 만든 PKI 툴인 cfssl을 깐다.

  • cfssl: 인증서 서명 요청(CSR) 생성 및 서명
  • cfssljson: 출력을 JSON에서 실제 인증서 파일(.pem 등)로 변환
# 대략 이런 느낌으로 설치 (버전 확인 필수)
wget -q --show-progress --https-only --timestamping \
  https://storage.googleapis.com/kubernetes-the-hard-way/cfssl/1.4.1/linux/cfssl \
  https://storage.googleapis.com/kubernetes-the-hard-way/cfssl/1.4.1/linux/cfssljson

chmod +x cfssl cfssljson
sudo mv cfssl cfssljson /usr/local/bin/

② Kubectl

설명이 필요 없는 쿠버네티스 CLI. 아직 클러스터는 없지만, 나중에 설정 파일(kubeconfig)을 만들거나 상태를 확인할 때 필요하므로 미리 깔아둔다.

# 최신 버전 혹은 실습하려는 k8s 버전과 맞춰서 다운로드
wget https://storage.googleapis.com/kubernetes-release/release/v1.21.0/bin/linux/amd64/kubectl
chmod +x kubectl
sudo mv kubectl /usr/local/bin/

4. SSH 접속 환경 구성 (핵심)

점프박스에서 다른 노드(server, worker)들에 접속할 때 매번 비밀번호를 칠 수는 없다. 자동화를 위해 SSH Key 기반 인증을 구성해야 한다.

  1. 키 페어 생성: 점프박스 내부(혹은 로컬)에서 SSH 키를 생성한다.
  2. 공개키 배포: 앞으로 생성될 모든 노드에 이 점프박스의 Public Key가 등록되어 있어야 한다. (클라우드 메타데이터 등을 이용해 자동화하는 편)

이 부분이 꼬이면 나중에 노드 세팅할 때 Permission denied를 발생하니 확실하게 체크해야 함.


정리

  • 점프박스는 나의 작전 지휘소다.
  • 인증서(PKI) 작업을 위해 cfssl 툴을 미리 세팅.
  • kubectl도 준비 완료.

다음 단계부터는 인증서 생성(Certificate Authority) 작업을 진행한다.


profile
bytebliss

0개의 댓글