Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 1차원 DP
- 2차원 dp
- 99클럽
- @BeforeAll
- @BeforeEach
- @Builder
- @Entity
- @GeneratedValue
- @GenericGenerator
- @NoargsConstructor
- @Query
- @Table
- @Transactional
- Actions
- Amazon EFS
- amazon fsx
- Android Studio
- ANSI SQL
- api gateway 설계
- api gateway 필터
- ApplicationEvent
- argocd
- assertThat
- async/await
- AVG
- AWS
- aws autoscaling
- aws eks
- aws iam role
- AWS KMS
Archives
- Today
- Total
기록
K3s 기반 멀티 노드 클러스터 구축기 (2) - dev 계정에서 워커 노드 연결하기 본문
시작하면서
이번 글에서는 K3s 마스터 노드가 구성된 상태에서, dev 계정에 위치한 EC2 인스턴스를 워커 노드(Agent)로 연결하는 방법을 설명한다. 이 과정은 클러스터 확장과 cross-account 구조를 이해하는 데 매우 유용하며, 프리티어 환경에서 실습하는 데 최적화되어 있다.
이전글
목표
- dev 계정에서 EC2 인스턴스를 생성하고 swap, timezone 설정을 마친다.
- EC2를 K3s agent 모드로 실행하여 master 노드와 연결한다.
- kubectl get nodes 명령어로 클러스터 확장 여부를 확인한다.
CloudFormation 템플릿 요약
dev 계정에서는 다음 리소스를 CloudFormation 템플릿으로 생성한다:
- VPC (CIDR: 10.10.0.0/16)
- 퍼블릭 서브넷 2개 (AZ 2a, 2c)
- EC2 Launch Template (UserData 포함)
- Auto Scaling Group (1개 인스턴스 유지)
- 보안 그룹 (22, 6443 허용)
사용자 데이터(UserData) 예시 (Agent 전용)
deploy된 EC2 인스턴스는 다음과 같은 설정을 자동으로 수행한다:
#!/bin/bash
set -ex
# swap 및 timezone 설정
fallocate -l 1G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
timedatectl set-timezone Asia/Seoul
# K3s Agent 설치
MASTER_PUBLIC_IP=""
K3S_TOKEN=""
curl -sfL https://get.k3s.io | K3S_URL=https://$MASTER_PUBLIC_IP:6443 K3S_TOKEN=$K3S_TOKEN sh -
※ <MASTER_PUBLIC_IP>와 <NODE_TOKEN>은 마스터 노드에서 다음 명령으로 확인 가능:
curl ifconfig.me
sudo cat /var/lib/rancher/k3s/server/node-token
연결 확인 (마스터 노드 측)
마스터 노드에서 다음 명령어를 실행하여 agent 노드가 정상적으로 연결되었는지 확인한다:
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
kubectl get nodes -o wide
정상적으로 연결되면 아래와 같은 출력이 나타난다:
NAME STATUS ROLES AGE VERSION
ip-10-30-1-10.ap-northeast-2.compute.internal Ready control-plane,master 30m v1.32.3+k3s1
ip-10-10-1-20.ap-northeast-2.compute.internal Ready <none> 2m v1.32.3+k3s1
'DevOps' 카테고리의 다른 글
AWS KMS로 민감 정보 암호화: 콘솔 키 생성부터 CLI 실습까지 (0) | 2025.05.01 |
---|---|
K3s 기반 멀티 노드 클러스터 구축기 (3) - kube-ops-view로 노드/파드 상태 시각화하기 (0) | 2025.04.15 |
Docker Compose로 MySQL 개발 환경 구성하기 + 초기 설정 자동화 (0) | 2025.04.14 |
K3s 기반 멀티 노드 클러스터 구축기 (1) - 컨트롤 플레인 자동화와 Helm 설치까지 (0) | 2025.04.14 |
K3s 기반 멀티 계정 클라우드 인프라 설계 (AWS Free Tier 최적화) (0) | 2025.04.14 |
Comments