BESPIN Tech Blog
  • Home
  • Tech
    • CSP

      AWS

      GCP

      NCP

      Cloud

      Migration

      LZ, Control Tower

      Backup

      Monitoring

      Container

      Infra

      OS

      Middleware

      Data

      RDB

      Big Data Platform

      Application

      CI/CD

      BESPICK 구독하기 ㅣ 1668-1280

  • Trend
  • IT
최신 리포트 다운로드 지금 바로 문의하기
BESPIN Tech Blog
  • Home
  • Tech
    • CSP

      AWS

      GCP

      NCP

      Cloud

      Migration

      LZ, Control Tower

      Backup

      Monitoring

      Container

      Infra

      OS

      Middleware

      Data

      RDB

      Big Data Platform

      Application

      CI/CD

      BESPICK 구독하기 ㅣ 1668-1280

  • Trend
  • IT
최신 리포트 다운로드 지금 바로 문의하기
BESPIN Tech Blog
BESPIN Tech Blog
  • Tech
    • CSP
      • AWS
      • GCP
      • NCP
    • Cloud
      • Migration
      • LZ, Control Tower
      • Backup
      • Monitoring
      • Container
    • Infra
      • OS
      • Middleware
    • Data
      • RDB
      • Big Data Platform
    • Application
      • CI/CD
  • Trend
  • IT
  • Contact US
Container

k3d(k3s distribution in docker)로 k8s 빠르게 구축하기

by 민우 서 2025년 05월 22일
2025년 05월 22일
42

안녕하세요 오늘은 BESPIN GLOBAL SRE실 이동열이 작성해주신 ‘k3d(k3s distribution in docker)로 k8s 빠르게 구축하기
‘ 대해 소개해드리도록 하겠습니다.

목차

  1. Download 하기(Script 방식)
  2. Quick Start 설치
  3. 그외 설치 방법
  4. Basic Test

k3d(k3s distribution in docker)로 k8s 빠르게 구축하기

Update:
-> According to k3d version v5.4.3, k3s version v1.23.6-k3s1 (default)
-> 3-2, 3-4 부분만 새로운 k3d에 맞게 우선 수정했습니다.

TL; DR

k3d(k3s distribution in docker)를 활용하여 단 몇 초, 길어야 5~10분 이내로 빠르게 만들어지는, 간편하고 신속한 k8s 개발/테스트 환경을 구축할 수 있습니다. (표준 k8s 규격 100% 만족, 일부 plugin, add-on 등은 제한적이거나 별도 작업 필요)

일종의 KIND(Kubernetes in Docker) 환경인데, Docker 내부의 k8s container는 containerd runtime이 기본으로 적용되며(containerd in docker), containerd 대신 docker 를 변경 적용 (docker in docker)하는 것도 가능합니다.

물론, docker host 내에 여러 개의 k3s cluster 를 동시에 구축하여 개발/테스트하는 것도 가능합니다. 경험에 의하면 사용하려는 docker host(Mac, Linux, Windows)의 리소스가 2CPU 이상, 2~4GB 이상의 memory 정도는 되어야 원활한 사용이 가능합니다.

1.Download 하기(Script 방식)

Script 방식 이외에도 homebrew, AUR, Chocolately, Github download, Go install 등 여러 방법이 있습니다. 아래 방법으로 version 업그레이드가 가능합니다.

아래 방법으로 version 업그레이드 가능함

2. Quick Start 설치

기본 설치는 Single node cluster(master=1, worker=0)를 생성합니다.

기본 설치는 Single node cluster(master=1, worker=0)를 생성한다

3. 그 외 설치 방법

Multi server cluster, 개발/테스트용 port forwarding LB 설정 등 다양한 설치 방법이 존재합니다.

  • 특정 k8s 버전 설치

특정 버전 즉, 예를 들어 v1.17.13 을 설치하려면 다음과 같이 진행합니다.

특정 버전 즉, 예를 들어 v1.17.13 을 설치하려면 다음과 같이 한다
특정 버전 즉, 예를 들어 v1.17.13 을 설치하려면 다음과 같이 한다

설치 가능한 k8s 버전 컨테이너 이미지 리스트는 K3s docker repo를 참조하시기 바랍니다.

3-1. 기본(Traefik_v1 ingress) 설치

기본 설치를 진행하면 Ingress controller 로 Traefik 이, CNI로 Flannel(Network Policy 사용 불가)가 적용됩니다.

기본 설치를 진행하면 Ingress controller 로 Traefik 이, CNI로 Flannel(Network Policy 사용 불
가) 가 적용된다

기본 설치를 진행하면 Ingress controller 로 Traefik 이, CNI로 Flannel(Network Policy 사용 불
가) 가 적용된다

3-2. Nginx Ingress controller 적용 설치

Traefik V1 을 설치하지 않고 Nginx ingress controller 를 별도로 설치합니다.

K3s의 Auto-Deploying Manifests 기능을 이용합니다.

  • Edit helm-ingress-nginx.yaml
    • Helm pod가 kube-system 에 실행되며, 이 pod(klipper-helm) 내부에서 helm chart를 통해 ingress-nginx 컨트롤러를 DaemonSet 형태로 deply 합니다.
    • Reference: https://www.suse.com/support/kb/doc/?id=000020082

Reference: https://www.suse.com/support/kb/doc/?id=000020082

Reference: https://www.suse.com/support/kb/doc/?id=000020082

Reference: https://www.suse.com/support/kb/doc/?id=000020082

3-3. Ingress Traefik_v2 controller

Traefik V1 대신 Traefik V2 ingress controller 를 적용합니다.

  • Edit helm-ingress-traefikv2.yaml

Edit helm-ingress-traefikv2.yaml

Edit helm-ingress-traefikv2.yaml

Edit helm-ingress-traefikv2.yaml

3-4. Nginx Ingress controller & Calico CNI

Traefik V1 -> Nginx ingress controller & Flannel -> Calico
v5.4.x 에는 자체 network policy 가 지원되나 Calico의 network policy 가 필요할 경우에 사용합니다.

(참고: https://k3d.io/v5.4.3/usage/advanced/calico/)

  • Edit helm-ingress-nginx.yaml

Edit helm-ingress-nginx.yaml

Edit helm-ingress-nginx.yaml

  • Download calico.yaml

Download calico.yaml

4. Basic Test

4-1. Simple nginx container application

  • Deploy it! (3-1 경우)

Deploy it! (3-1 경우)

  • Test it!

Test it!

4-2. Simple Network Policy test

3-4 의 경우와 같이 Calico 를 적용했을 때 테스트 해 볼 수 있습니다.

  • Normal test – No policy=allow all

Normal test - No policy=allow all

  • Network Policy – Deny-all to specific pod

Network Policy - Deny-all to specific pod

  • References
    • k3d
    • K3S + K3D = K8S : a new perfect match for dev and test

여기까지 ‘’k3d(k3s distribution in docker)로 k8s 빠르게 구축하기’에 대해 소개해드렸습니다. 유익한 정보가 되셨길 바랍니다. 감사합니다. 

Written by 이 동열 / SRE실

BESPIN GLOBAL

관련

K8Sk3ddistribution빠르게 구축

HOT Trend

Recent Posts

  • 딜로이트도, 맥킨지도, 베스핀글로벌도: AI 에이전트로 일 바꾸는 시대

    2025년 07월 04일 클라우드베스핀글로벌clouddata데이터AI인공지능HelpNow AIbespinglobalAI에이전트helpnow업무자동화딜로이트
  • ⚔️데이터센터에서 시작된 전쟁? 요즘 뜨는 AIDC 개념부터 트렌드까지!

    2025년 06월 27일 클라우드clouddata데이터AI데이터센터클라우드 데이터센터bespinglobalAIDCAI 인프라베스핀글로벌
  • 구글부터 엔비디아까지, 빅테크 기업들의 AI 전략 최신본📖

    2025년 06월 20일 cloud베스핀글로벌클라우드data데이터AI구글마이크로소프트엔비디아AI에이전트google I/ONVIDIA GTC 2025Microsoft build 2025
  • AI를 연결한다고? 업계가 주목하는 ‘MCP’ 알아보기🔍

    2025년 06월 13일 베스핀글로벌클라우드cloudAIMCP
  • [WhaTap] RDS Failover/Reboot 관제 2 – RDS Failover

    2025년 05월 30일 RDSRDS FailoverRebootFailoverbespin global

베스핀글로벌은 모든 기업의 AI 혁신을 실현하기 위해, 세상에서 가장 혁신적이고 자동화된 AI 서비스와 솔루션을 만들어갑니다.
상호 : 베스핀글로벌 주식회사 ㅣ 대표자명 : 김써니, 허양호 ㅣ 사업자등록증번호 : 638-87-00223 ㅣ 통신판매번호 : 2019-서울서초-0347 ㅣ 대표전화 : 1668-1280
사업장주소지 : 서울특별시 서초구 강남대로 327, 13,14,15,16층(서초동,대륭서초타워) ㅣ 이메일 : info@bespinglobal.com ㅣ 개인정보 처리방침 ㅣ 개인정보 처리방침 안내

© 2026 BESPIN GLOBAL, All Rights Reserved.

BESPINGLOBAL
패밀리 사이트
China MEA SEA US

BESPIN Tech Blog
  • Home
  • Tech
    • CSP

      AWS

      GCP

      NCP

      Cloud

      Migration

      LZ, Control Tower

      Backup

      Monitoring

      Container

      Infra

      OS

      Middleware

      Data

      RDB

      Big Data Platform

      Application

      CI/CD

      BESPICK 구독하기 ㅣ 1668-1280

  • Trend
  • IT