ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1. Docker, Kubernetes(K8s), K3s, K9s, kubectl, Terraform ๊ฐœ๋… ์ •๋ฆฌ
    DevOps 2026. 7. 21. 15:55

     

    ๐Ÿ“š Docker & Kubernetes ์‹œ๋ฆฌ์ฆˆ

    ์ตœ๊ทผ Docker์™€ Kubernetes๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ด๋ฆ„๋„ ๋น„์Šทํ•˜๊ณ  ์—ญํ• ๋„ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๊ธฐ์ˆ ๋“ค์ด ๋งŽ์•„ ๊ฐœ๋…์„ ์ •๋ฆฌํ•ด๋ดค๋‹ค.

    ์ฒ˜์Œ์—๋Š” "Docker๋ž‘ Kubernetes๋Š” ๋ญ๊ฐ€ ๋‹ค๋ฅด์ง€?", "Terraform์€ ๋˜ ์–ด๋””์— ์“ฐ๋Š” ๊ฑฐ์ง€?"๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋Š”๋ฐ, ํ•˜๋‚˜์”ฉ ์—ญํ• ์„ ์ดํ•ดํ•˜๊ณ  ๋‚˜๋‹ˆ ๊ฐ ๊ธฐ์ˆ ์ด ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐ๋˜๋Š”์ง€ ์กฐ๊ธˆ์”ฉ ๋ณด์ด๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค.

    ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Docker, Kubernetes(K8s), K3s, K9s, kubectl, Terraform์˜ ์—ญํ• ๊ณผ ์ฐจ์ด์ ์„ ์ •๋ฆฌํ•ด๋ณธ๋‹ค.

     


    Docker - ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋งŒ๋“œ๋Š” ๊ธฐ์ˆ 

    Docker๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ™˜๊ฒฝ์„ ํ•˜๋‚˜์˜ ์ปจํ…Œ์ด๋„ˆ(Container) ๋กœ ํŒจํ‚ค์ง•ํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค.

    ์˜ˆ๋ฅผ ๋“ค์–ด Spring Boot ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋ผ๋ฉด

    • Java
    • Spring Boot
    • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
    • ํ™˜๊ฒฝ์„ค์ •

    ๋“ฑ ์‹คํ–‰์— ํ•„์š”ํ•œ ๋ชจ๋“  ์š”์†Œ๋ฅผ ํ•˜๋‚˜์˜ ์ปจํ…Œ์ด๋„ˆ์— ๋‹ด์•„ ์–ด๋””์„œ๋“  ๋™์ผํ•œ ํ™˜๊ฒฝ์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

    ๊ฐœ๋ฐœ์ž์˜ PC์—์„œ ์‹คํ–‰ํ•œ ํ”„๋กœ๊ทธ๋žจ์ด ์šด์˜ ์„œ๋ฒ„์—์„œ๋„ ๋™์ผํ•˜๊ฒŒ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์ด์œ ๊ฐ€ ๋ฐ”๋กœ Docker ๋•๋ถ„์ด๋‹ค.

    ์ฆ‰,

    Docker = ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ปจํ…Œ์ด๋„ˆ๋กœ ํŒจํ‚ค์ง•ํ•˜๋Š” ๊ธฐ์ˆ 

     

     


    Kubernetes(K8s) - ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํ”Œ๋žซํผ

    Docker๋ฅผ ์ด์šฉํ•˜๋ฉด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์„œ๋น„์Šค ๊ทœ๋ชจ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ๊ด€๋ฆฌ๊ฐ€ ์–ด๋ ค์›Œ์ง„๋‹ค.

    ์˜ˆ๋ฅผ ๋“ค์–ด

    • Spring Boot ์„œ๋ฒ„ ์—ฌ๋Ÿฌ ๋Œ€
    • Redis
    • Kafka
    • MySQL

    ๋“ฑ ์ˆ˜์‹ญ ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์šด์˜ํ•œ๋‹ค๋ฉด

    • ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ž๋™ ๋ณต๊ตฌ
    • ํŠธ๋ž˜ํ”ฝ ์ฆ๊ฐ€ ์‹œ ์ž๋™ ํ™•์žฅ
    • ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ
    • ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ์ปจํ…Œ์ด๋„ˆ ๋ถ„์‚ฐ ๋ฐฐ์น˜

    ๋“ฑ์˜ ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•˜๋‹ค.

    ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ํ”Œ๋žซํผ์ด Kubernetes(K8s) ์ด๋‹ค.

    Kubernetes = ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐฐํฌ·ํ™•์žฅ·๋ณต๊ตฌํ•˜๋ฉฐ ๊ด€๋ฆฌํ•˜๋Š” ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ”Œ๋žซํผ


    ์ฐธ๊ณ ๋กœ Kubernetes์˜ ์•ฝ์–ด์ธ K8s๋Š”

    K + 8๊ธ€์ž + s
    
    K ubernete s
     

    ์ฒ˜๋Ÿผ K์™€ s ์‚ฌ์ด์— 8๊ฐœ์˜ ๋ฌธ์ž๊ฐ€ ์žˆ์–ด์„œ ๋ถ™์—ฌ์ง„ ์ด๋ฆ„์ด๋‹ค.

     

     


    kubectl - Kubernetes๋ฅผ ์ œ์–ดํ•˜๋Š” CLI

    Kubernetes๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ํด๋Ÿฌ์Šคํ„ฐ์— ๋ช…๋ น์„ ๋‚ด๋ ค์•ผ ํ•œ๋‹ค.

    ์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ณต์‹ CLI(Command Line Interface)๊ฐ€ kubectl์ด๋‹ค.

    ์˜ˆ๋ฅผ ๋“ค์–ด

    kubectl get pods
    kubectl logs <pod-name>
    kubectl delete pod <pod-name>
     

    ์ฒ˜๋Ÿผ Pod ์กฐํšŒ, ๋กœ๊ทธ ํ™•์ธ, ์‚ญ์ œ ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

     

    kubectl์€

    kube + ctl(control)
     

    ์˜ ์กฐํ•ฉ์ด๋ฉฐ ๋ณดํ†ต

    • ํ๋ธŒ ์ปจํŠธ๋กค
    • ํ๋ธŒ ์”จํ‹ฐ์—˜

    ์ด๋ผ๊ณ  ์ฝ๋Š”๋‹ค.

    kubectl = Kubernetes๋ฅผ ์ œ์–ดํ•˜๋Š” ๊ณต์‹ CLI

     

     


    K9s - Kubernetes ๊ด€๋ฆฌ ๋„๊ตฌ

    kubectl๋งŒ์œผ๋กœ๋„ Kubernetes๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ช…๋ น์–ด๋ฅผ ๊ณ„์† ์ž…๋ ฅํ•ด์•ผ ํ•˜๋Š” ๋ถˆํŽธํ•จ์ด ์žˆ๋‹ค.

    K9s๋Š” Kubernetes๋ฅผ ํ„ฐ๋ฏธ๋„ ๊ธฐ๋ฐ˜ UI๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“  ๋„๊ตฌ์ด๋‹ค.

    Pod, Deployment, Service ๋“ฑ์„ ํ™”๋ฉด์—์„œ ์‰ฝ๊ฒŒ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๊ณ  ๋กœ๊ทธ ํ™•์ธ์ด๋‚˜ ์‚ญ์ œ ๊ฐ™์€ ์ž‘์—…๋„ ๋น ๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

    K9s = Kubernetes๋ฅผ ํŽธํ•˜๊ฒŒ ๊ด€๋ฆฌํ•˜๋Š” ํ„ฐ๋ฏธ๋„ UI

     

     

    ์ฐธ๊ณ ๋กœ K9s๋Š” K8s์ฒ˜๋Ÿผ ์•ฝ์–ด๊ฐ€ ์•„๋‹ˆ๋ผ K9(๊ฒฝ์ฐฐ๊ฒฌ, ๊ตฐ๊ฒฌ) ์—์„œ ๋”ฐ์˜จ ์ด๋ฆ„์ด๋‹ค.

     

     


    K3s - ๊ฒฝ๋Ÿ‰ Kubernetes

    ์ผ๋ฐ˜ Kubernetes๋Š” ๊ธฐ๋Šฅ์ด ๋งŽ๊ณ  ๊ตฌ์„ฑ ์š”์†Œ๋„ ๋งŽ์•„ ๋น„๊ต์  ๋ฌด๊ฒ๋‹ค.

    K3s๋Š” Kubernetes๋ฅผ ๊ฒฝ๋Ÿ‰ํ™”ํ•œ ๋ฐฐํฌํŒ์œผ๋กœ

    • ๊ฐœ๋ฐœ ํ™˜๊ฒฝ
    • ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ
    • Edge Computing
    • IoT

    ๋“ฑ ๋ฆฌ์†Œ์Šค๊ฐ€ ์ œํ•œ๋œ ํ™˜๊ฒฝ์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.

    K3s = Lightweight Kubernetes(๊ฒฝ๋Ÿ‰ Kubernetes)

     

     


    Terraform - ์ธํ”„๋ผ๋ฅผ ์ฝ”๋“œ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋„๊ตฌ

    Terraform์€ Docker๋‚˜ Kubernetes์™€๋Š” ์—ญํ• ์ด ์กฐ๊ธˆ ๋‹ค๋ฅด๋‹ค.

    Terraform์€ AWS, GCP, Azure์™€ ๊ฐ™์€ ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ๋ฅผ ์ฝ”๋“œ๋กœ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋„๊ตฌ์ด๋‹ค.

    ์˜ˆ๋ฅผ ๋“ค์–ด

    • EC2
    • VPC
    • RDS
    • Load Balancer
    • Subnet

    ๋“ฑ์„ ์ฝ”๋“œ๋กœ ์ •์˜ํ•œ ๋’ค

     
    terraform apply
     

    ๋ช…๋ น ํ•œ ๋ฒˆ์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

    ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์„ IaC(Infrastructure as Code) ๋ผ๊ณ  ํ•œ๋‹ค.

    ์ฆ‰,

    Terraform = ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ๋ฅผ ์ฝ”๋“œ๋กœ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋„๊ตฌ

     

     


    ์ „์ฒด ํ๋ฆ„

    ์ด ๊ธฐ์ˆ ๋“ค์€ ์„œ๋กœ ๊ฒฝ์Ÿํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ฐ์ž ์—ญํ• ์ด ๋‹ค๋ฅด๋‹ค.

    ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•˜๋Š” ๊ณผ์ •์„ ์ˆœ์„œ๋Œ€๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

    Terraform
            โ”‚
            โ–ผ
    ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ ์ƒ์„ฑ
    (AWS, GCP, Azure)
    
            โ”‚
            โ–ผ
    Kubernetes ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ
    
            โ”‚
            โ–ผ
    Docker ์ปจํ…Œ์ด๋„ˆ ๋ฐฐํฌ ๋ฐ ์šด์˜
    
            โ”‚
            โ–ผ
    Spring Boot / React
    Redis / Kafka / MySQL
     

    ๊ฐœ๋ฐœ์ž์˜ ๊ด€์ ์—์„œ ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.

                  ๊ฐœ๋ฐœ์ž
                     โ”‚
          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
          โ”‚                     โ”‚
       kubectl                K9s
          โ”‚                     โ”‚
          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                     โ”‚
                     โ–ผ
              Kubernetes(K8s)
                     โ”‚
                     โ–ผ
          Docker Container
                     โ”‚
                     โ–ผ
     Spring Boot / React / Redis
                     โ”‚
                     โ–ผ
    Terraform๊ฐ€ ์ƒ์„ฑํ•œ AWS/GCP ๋“ฑ์˜ ์ธํ”„๋ผ ์œ„์—์„œ ์‹คํ–‰

     

     


    ํ•œ ์ค„ ์š”์•ฝ

    ๊ธฐ์ˆ  ์—ญํ• 
    Docker ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ปจํ…Œ์ด๋„ˆ๋กœ ํŒจํ‚ค์ง•ํ•œ๋‹ค.
    Kubernetes(K8s) ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ž๋™์œผ๋กœ ๋ฐฐํฌ·ํ™•์žฅ·๋ณต๊ตฌํ•˜๋ฉฐ ๊ด€๋ฆฌํ•œ๋‹ค.
    kubectl Kubernetes๋ฅผ ์ œ์–ดํ•˜๋Š” ๊ณต์‹ CLI์ด๋‹ค.
    K9s Kubernetes๋ฅผ ํŽธํ•˜๊ฒŒ ๊ด€๋ฆฌํ•˜๋Š” ํ„ฐ๋ฏธ๋„ UI์ด๋‹ค.
    K3s Kubernetes๋ฅผ ๊ฒฝ๋Ÿ‰ํ™”ํ•œ ๋ฐฐํฌํŒ์ด๋‹ค.
    Terraform ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ๋ฅผ ์ฝ”๋“œ๋กœ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•œ๋‹ค.

     

     


    ๋‹ค์Œ ๊ธ€

    ์ฒ˜์Œ์—๋Š” Docker, Kubernetes, Terraform์ด ๋น„์Šทํ•œ ์—ญํ• ์„ ํ•˜๋Š” ๊ธฐ์ˆ ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์ง€๋งŒ, ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๊ฐ ๊ธฐ์ˆ ์ด ๋‹ด๋‹นํ•˜๋Š” ์˜์—ญ์ด ์™„์ „ํžˆ ๋‹ค๋ฅด๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

     

    ์ •๋ฆฌํ•˜๋ฉด,

    • Docker๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ปจํ…Œ์ด๋„ˆ๋กœ ๋งŒ๋“ค๊ณ ,
    • Kubernetes๋Š” ๊ทธ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์šด์˜ํ•˜๋ฉฐ,
    • Terraform์€ ๊ทธ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹คํ–‰๋  ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ๋ฅผ ์ฝ”๋“œ๋กœ ์ƒ์„ฑํ•œ๋‹ค.

     

    ์•ž์œผ๋กœ๋Š” Docker์™€ Kubernetes์˜ ํ•ต์‹ฌ ๊ฐœ๋…์ธ Pod, Deployment, Service, Ingress ๋“ฑ์„ ํ•˜๋‚˜์”ฉ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

    ๋Œ“๊ธ€

Designed by Tistory.