설치¶
AWS EC2 한 대를 띄우고 그 위에 K8s + OpenStack-Helm 2026.1.0을 설치해 CirrOS VM 부팅까지 도달하는 전체 사이클이다.
로컬 도구 (macOS Apple Silicon 기준)¶
brew install awscli terraform jq make
session-manager-plugin은 별도 — macOS pkg installer라 sudo 비밀번호가 필요하다:
# 옵션 A: brew cask (sudo 프롬프트 뜸)
brew install --cask session-manager-plugin
# 옵션 B: sudo 없이 zip bundle을 brew bin에 풀기
TMP=$(mktemp -d) && cd "$TMP"
curl -fsSL -o sm.zip https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac_arm64/sessionmanager-bundle.zip
unzip -q sm.zip
cp sessionmanager-bundle/bin/session-manager-plugin /opt/homebrew/bin/
chmod +x /opt/homebrew/bin/session-manager-plugin
검증:
terraform version # >= 1.5
aws --version # v2.x
session-manager-plugin --version
AWS 자격증명¶
가장 빠른 길:
aws configure # access key + secret + region (ap-northeast-2 권장)
aws sts get-caller-identity # 누구로 인증됐는지 확인
⚠️ AWS root 계정 일상 사용 비권장. 처음 실습엔 root여도 작동은 하지만, IAM 사용자(또는 IAM Identity Center)를 만들어
AdministratorAccess(실습용 한정) + MFA 부여한 자격증명을 쓰는 게 안전하다.
한 줄 사이클¶
단계 |
명령 |
소요 |
검증 포인트 |
|---|---|---|---|
0. terraform 초기화 |
|
10초 |
처음 한 번 / 새 머신에서만. |
1. EC2 + VPC 생성 |
|
~2분 |
|
2. K8s 부트스트랩 대기 |
|
~3분 |
|
3. K8s 상태 검증 |
|
10초 |
Node |
4. OSH 풀스택 배포 |
|
~20분 |
마지막에 |
5. CirrOS VM 부팅 검증 |
|
~3분 |
|
6. 정리 |
|
~3분 |
|
각 단계에서 일어나는 일¶
make up: VPC/IGW/Subnet/SG/IAM 9개 + EC2 1개 = 10개 리소스 생성. EC2가 부팅되자마자 user_data.sh가 노드 안에서:
containerd, kubeadm/kubelet/kubectl 1.34 설치
kubeadm init
Calico CNI apply (server-side, tigera-operator + custom-resources)
control-plane taint 제거 (단일 노드라 워크로드 받게)
helm v3 설치 (공식
get-helm-3스크립트)노드 Ready까지 대기 후
/var/log/user-data-complete생성
make osh-deploy: 노드의 osh/deploy.sh가 SSM으로 실행된다. 진행 중 SSM 명령이 InProgress → Success로 가는 동안 30초마다 status 를 폴링한다.
make osh-vm: 임시 openstack-client 파드를 openstack ns에 띄우고 CirrOS 이미지 업로드 → m1.tiny flavor → demo-net 네트워크 → openstack server create. ACTIVE 될 때까지 5초마다 폴링.
끝났을 때 무엇을 기대해야 하나¶
# make osh-deploy 끝났을 때:
kubectl -n openstack get pods --no-headers | wc -l # ~60개
helm -n openstack list # 10개 release (keystone/glance/...)
# make osh-vm 끝났을 때:
openstack server list # test-vm ACTIVE
openstack hypervisor list # ip-10-0-1-XX QEMU up
⚠️ 반드시 끝나면
make down. m5.2xlarge는 시간당 ≈$0.49 (EBS 포함). 잊고 24시간 두면 ~$12. 비용은 비용 참조.