K3s 치트시트: 설치부터 관리까지 필수 명령어 총정리 (2025년 최신)

1 min read

📌 1. K3s 설치 및 삭제: 시작과 끝

가장 기본적인 K3s 서버 설치와 삭제 명령어입니다.

기본 설치 (Traefik Ingress 포함)

# 스크립트를 다운로드하여 바로 실행합니다.
curl -sfL https://get.k3s.io | sh -

옵션과 함께 설치 (예: Traefik Ingress 비활성화)

다른 Ingress Controller(예: Nginx, Istio)를 사용하고 싶을 때 유용합니다.

curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--disable traefik" sh -

K3s 완전 삭제

모든 관련 컴포넌트와 데이터를 깨끗하게 삭제합니다.

/usr/local/bin/k3s-uninstall.sh

📌 2. 클러스터 상태 확인: 내장 kubectl 활용

K3s는 kubectl을 내장하고 있어 k3s kubectl 형태로 바로 사용할 수 있습니다. sudo가 필요할 수 있습니다.

ℹ️ k3s kubectl은 일반 kubectl과 사용법이 완전히 동일합니다.

클러스터 정보 확인

sudo k3s kubectl cluster-info

노드 목록 보기

sudo k3s kubectl get nodes -o wide

전체 파드/서비스 조회

# 모든 네임스페이스의 파드 조회
sudo k3s kubectl get pods -A

# kube-system 네임스페이스의 서비스 조회
sudo k3s kubectl get svc -n kube-system

📌 3. 서버 프로세스 관리: systemd

대부분의 리눅스 시스템에서 K3s는 systemd 서비스로 등록되어 실행됩니다.

서비스 상태 확인

sudo systemctl status k3s

서비스 재시작

설정 변경 후 적용할 때 사용합니다.

sudo systemctl restart k3s

실시간 로그 보기

클러스터의 문제를 디버깅할 때 가장 유용한 명령어입니다.

sudo journalctl -u k3s -f

📌 4. 원격/로컬 kubectl 연동: Kubeconfig 설정

매번 sudo k3s kubectl을 입력하는 것이 번거롭다면, 로컬 환경의 kubectl을 사용하도록 kubeconfig 파일을 설정할 수 있습니다.

Kubeconfig 경로 환경변수 등록

# 현재 세션에서만 적용
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml

# (팁) 터미널을 열 때마다 적용하려면 .bashrc 또는 .zshrc에 추가하세요.
echo "export KUBECONFIG=/etc/rancher/k3s/k3s.yaml" >> ~/.bashrc && source ~/.bashrc

이제 sudo k3s 접두사 없이 kubectl get nodes 명령을 바로 사용할 수 있습니다.


📌 5. 선언적 앱 배포: HelmChart 리소스 관리

K3s는 HelmChart CR(Custom Resource)을 통해 Helm 차트를 자동으로 배포합니다.

설치된 HelmChart CR 목록 보기

sudo k3s kubectl get helmchart -A

특정 HelmChart 상세 정보 및 상태 확인

배포가 실패했을 때 원인을 파악하는 데 유용합니다.

sudo k3s kubectl describe helmchart my-nginx -n kube-system

📌 6. 자동 배포: Static Manifests 활용

K3s의 강력한 기능 중 하나로, 특정 디렉터리에 YAML 파일을 넣으면 자동으로 클러스터에 배포됩니다.

  • 경로: /var/lib/rancher/k3s/server/manifests/
# 이 경로에 YAML 파일을 생성하거나 복사하면...
sudo vi /var/lib/rancher/k3s/server/manifests/my-app.yaml

# K3s가 자동으로 감지하여 kubectl apply 해줍니다.
# HelmChart CR을 여기에 작성하면 Helm 차트가 자동 설치됩니다.

📌 7. 클러스터 확장: 워커 노드 추가하기

K3s 클러스터에 새로운 워커 노드를 조인시키는 과정입니다.

1. 마스터 노드에서 클러스터 토큰 확인

sudo cat /var/lib/rancher/k3s/server/node-token

2. 마스터 노드의 IP 주소 확인

hostname -I | awk '{print $1}'

3. 워커 노드에서 조인 명령어 실행

<MASTER_IP><TOKEN>을 위에서 확인한 값으로 교체하세요.

curl -sfL https://get.k3s.io | K3S_URL=https://<MASTER_IP>:6443 K3S_TOKEN=<TOKEN> sh -

📌 8. K3s 버전 확인

설치된 K3s 버전 확인

k3s --version

🚀 K3s 핵심 명령어 요약표 (Cheat Sheet)

기능명령어
설치curl -sfL https://get.k3s.io | sh -
삭제/usr/local/bin/k3s-uninstall.sh
클러스터 정보sudo k3s kubectl cluster-info
노드 조회sudo k3s kubectl get nodes
전체 파드 조회sudo k3s kubectl get pods -A
서비스 재시작sudo systemctl restart k3s
실시간 로그journalctl -u k3s -f
클러스터 토큰sudo cat /var/lib/rancher/k3s/server/node-token
HelmChart 조회sudo k3s kubectl get helmchart -A

쿠버네티스 시크릿 관리, 어떤 방법이 최선일까? 4가지 방식 장단점…

쿠버네티스에서 애플리케이션을 운영할 때, DB 접속 정보나 API 키 같은 민감한 정보, 즉 ‘시크릿(Secret)’을 어떻게 관리해야 할지는 모두의 공통된 고민입니다. 관리 방식은 보안, 운영...
eve
13 sec read

[MSA] Spring Cloud Gateway VS Apache APISIX : 단계별…

마이크로서비스 아키텍처(MSA)에서 API 게이트웨이는 시스템의 관문 역할을 하는 핵심 컴포넌트입니다. 수많은 Java 개발팀이 Spring 생태계와의 완벽한 통합성을 자랑하는 Spring Cloud Gateway를 선택해왔습니다. 그러나 시스템이...
eve
1 min read

[Kafka] 카프카의 심장: 토픽, 파티션, 프로듀서, 컨슈머 완벽 해부

Apache Kafka가 어떻게 대용량 데이터를 실시간으로, 그리고 안정적으로 처리할 수 있는지 궁금하신가요? 그 비밀은 Kafka를 구성하는 핵심 요소들의 유기적인 협력에 있습니다. Kafka는 마치 잘...
eve
1 min read