본문 바로가기

라즈베리파이 5

라즈베리파이 클러스터, Kubernetes 사용하기

반응형

 

라즈베리 파이에서 쿠버네티스 사용하기: 무엇이 가능하며 어떻게 시작해야 할까요?

 

요즘 서버 관련 분야에 가면 쿠버네티스(Kubernetes)라는 말을 자주 듣게 됩니다. 그런데 쿠버네티스는 정확히 무엇에 사용되는 걸까요? 그리고 라즈베리 파이에도 설치할 수 있을까요? 이 글에서는 복잡한 기술 용어를 쉽게 풀어 설명드리겠습니다.

 

Kubernetes는 컨테이너를 관리하는 최고의 도구로, 컨테이너 위에 자리 잡고 컨테이너를 더욱 쉽게 다룰 수 있도록 해줍니다. 라즈베리 파이에서 Kubernetes를 실행하려면 먼저 파이 클러스터를 구성해야 합니다. 그런 다음 각 노드에 MicroK8s 또는 K3s와 같은 경량 Kubernetes 배포판을 설치합니다.

 

 

이미지 https://raspberrytips.com/kubernetes-raspberry-pi/

 

 

계속 읽어보시면 쿠버네티스가 무엇인지, 어떤 문제를 해결하는지, 그리고 라즈베리 파이에서 어떻게 사용하는지 알 수 있습니다. 또한, 쿠버네티스 클러스터를 직접 구축할 수 있도록 빠른 시작 가이드도 제공해 드리겠습니다.

 

목차

쿠버네티스란 무엇인가요?

라즈베리 파이에서 쿠버네티스가 제대로 작동할까요?

Raspberry Pi용 Kubernetes 사용 사례

라즈베리 파이로 쿠버네티스 클러스터 설정하는 방법

 

라즈베리 파이나 리눅스를 처음 사용하시는 분들을 위해 바로 도움이 될 만한 자료를 준비했습니다!

 

제가 무료로 제공하는 리눅스 명령어 치트 시트를 다운로드하세요 . 라즈베리 파이에서 필요한 모든 필수 명령어를 한눈에 볼 수 있는 간편한 참고 자료입니다. 여기를 클릭하시면 무료로 다운로드하실 수 있습니다!

 

쿠버네티스란 무엇인가요?

 

 

쿠버네티스 공식 로고

 

우선, 쿠버네티스(Kubernetease)를 어떻게 발음하는지 궁금하시죠? 쿠버네티스는 '쿠버넷이즈' 라고 발음합니다 . 줄여서 K8s라고 부르는 경우도 있습니다.

 

쿠버네티스는 구글이 개발한 소프트웨어로, 수십억 개의 컨테이너를 대규모로 실행하기 위해 만들어졌습니다. 2014년에 오픈소스로 공개된 쿠버네티스는 현재 컨테이너를 위한 최고의 오케스트레이션 계층으로 여겨지고 있습니다.

 

그렇다면 "오케스트레이션 레이어"라는 것은 실제로 무엇을 의미하는 걸까요?

 

쿠버네티스 초보자를 위한 설명

 

우선, 쿠버네티스가 무엇을 하는지 이해하려면 컨테이너가 무엇인지 알아야 합니다.

 

Docker와 같은 컨테이너 도구를 사용하면 앱을 컨테이너로 실행할 수 있습니다. 컨테이너는 앱을 실행하는 데 필요한 모든 것을 포함하는 앱 이미지입니다. 앱을 컨테이너화하면 모든 운영 체제에서 모든 프로그램을 실행할 수 있습니다. (컨테이너에 대한 자세한 내용은 Docker 가이드를 참조하세요 .)

 

저는 컨테이너 기술에 점차 익숙해져서 Plex, Nextcloud, Home Assistant 등을 실행하는 데 사용해 왔습니다. 컨테이너 덕분에 충돌하는 종속성 문제 없이 이러한 서버들을 쉽게 실행할 수 있게 되었습니다.

 

오늘날 대기업에서는 애플리케이션과 서비스를 관리하기 위해 컨테이너를 사용하는 것이 일반적입니다.

 

문제점: 컨테이너 배포를 시작하면 몇 가지 불편한 점들이 나타납니다.

 

컨테이너는 단일 애플리케이션에는 적합하지만, 여러 대의 머신에 분산된 여러 서비스를 호스팅하려면 어떻게 해야 할까요?

 

컨테이너들이 공유 네트워크를 통해 서로 통신할 수 있도록 하려면 어떻게 해야 할까요?

 

위와 같은 작업을 시도할 때마다 각 앱별로 방법을 찾아보는 데 몇 시간씩 허비합니다. 만약 회사에서 100개 또는 1,000개의 컨테이너를 운영한다면 얼마나 많은 시간이 걸릴지 상상해 보세요.

 

 

쿠버네티스 설명 구글 만화 (출처: 구글 클라우드 )

 

해결책: 쿠버네티스는 컨테이너 관리를 더 쉽게 만들어줍니다. 컨테이너가 여러 서버에서 리소스를 공유할 수 있도록 하고, 컨테이너에 문제가 발생할 경우 복구해 줍니다.

 

구글에서 제작한 이 만화는 쿠버네티스의 장점을 잘 보여줍니다.

 

쿠버네티스의 기술적 이점

 

이제 왜 쿠버네티스가 그토록 인기 있는지 감이 잡히기 시작하셨을 겁니다.

 

쿠버네티스는 컨테이너 자체에서 기본적으로 제공하지 않는 기능들을 제공합니다.

 

 

(출처: 구글 클라우드 )

 

Kubernetes가 컨테이너 관리를 더 쉽게 만들어주는 몇 가지 주요 방법은 다음과 같습니다.

 

  • 앱 및 서비스 자동 확장 : 각 서비스/앱의 사용량에 따라 어떤 컨테이너에 더 많은 리소스를 할당할지 자동으로 조정하며, 이러한 리소스를 여러 머신에 분산하여 할당할 수 있습니다.
  • 자가 복구 기능 : 컨테이너 충돌을 자동으로 감지하고 정상 작동하는 컨테이너로 교체하여 앱을 복구하므로 다운타임 없이 높은 가용성을 제공합니다.
  • 로드 밸런싱 : 네트워크 부하에 따라 사용자 트래픽을 서로 다른 서버의 여러 컨테이너로 자동으로 분산시킬 수 있습니다.
  • 자동 배포 및 롤백 : 컨테이너를 수동으로 종료하고 각 컨테이너를 업데이트할 필요 없이 새 앱 버전으로 천천히 전환할 수 있습니다. 최신 버전에서 문제가 발생하는 경우 이전 버전으로 점진적으로 롤백할 수 있습니다.
  • 네트워크 통신 : 모든 컨테이너가 동일한 네트워크를 사용하도록 지정할 수 있으므로 앱은 복잡한 YAML 구성을 작성하지 않고도 서로 통신할 수 있습니다 .

즉, 쿠버네티스는 컨테이너 기술 진화의 다음 단계입니다.

 

 

라즈베리 파이에서 쿠버네티스가 제대로 작동할까요?

 

 

쿠버네티스 파이 파드

 

네, 현실적인 목표를 가지고 접근한다면 라즈베리 파이에서도 쿠버네티스를 실행할 수 있습니다.

 

다음은 라즈베리 파이에서 쿠버네티스를 실행하기 위한 하드웨어 권장 사항입니다.

 

  • 클러스터 크기 : 최소 3대의 라즈베리 파이로 구성된 클러스터를 실행하는 것을 권장합니다. 물론 단일 라즈베리 파이에 Kubernetes를 설치할 수는 있지만 , 단일 노드로는 Kubernetes의 기능을 제대로 활용하기 어렵습니다.
  • 라즈베리 파이 : 더 강력한 연산 능력과 사용 편의성을 원한다면 최신 모델인 라즈베리 파이 5 또는 라즈베리 파이 4를 사용하는 것이 가장 좋습니다. 더 저렴한 구성을 원한다면 여러 대의 라즈베리 파이 3B를 사용할 수도 있지만, 쿠버네티스를 설치하려면 추가적인 작업이 필요하다는 점에 유의하세요.
  • 메모리 : 최소 4GB 메모리, 8GB 권장.
  • 저장 장치 : SD 카드는 속도가 느리고 지속적인 쓰기 작업으로 인해 용량이 빠르게 소모되므로 외장 드라이브 사용을 강력히 권장합니다 . 또한, 라즈베리 파이 5 또는 라즈베리 파이 4를 추천하는 이유 중 하나는 빠른 USB 포트 때문입니다.

 

다음은 라즈베리 파이에서 쿠버네티스를 실행하기 위한 소프트웨어 추천입니다.

 

  • 운영 체제 : Raspberry Pi OS Lite는 데스크톱 환경이 없으므로 리소스를 절약할 수 있습니다. Ubuntu Server 또는 Arch Linux를 사용할 수도 있습니다 .
  • Kubernetes 소프트웨어 : K8s는 모든 기능을 갖춘 엔터프라이즈급 소프트웨어이므로 라즈베리 파이에는 너무 무겁습니다. IoT 및 ARM 장치 에 적합한 경량 Kubernetes 배포판인 K3s를 사용하는 것이 좋습니다 . 라즈베리 파이 클러스터에는 K3s를 사용하는 것을 권장합니다.

 

물론, 할 수 있는 일에는 한계가 있을 겁니다. 오해하지 마세요. 라즈베리 파이 클러스터에서 쿠버네티스를 사용해서 단백질 접힘을 계산할 수는 있지만 , 그다지 실용적이지는 않습니다.

 

그렇다면 라즈베리 파이에서 쿠버네티스를 어떻게 활용할 수 있을까요 ? 몇 가지 사용 사례를 살펴보겠습니다.

 

Raspberry Pi용 Kubernetes 사용 사례

 

일반적으로 기업들은 쿠버네티스를 활용하여 애플리케이션용 마이크로서비스를 호스팅하거나, 데이터베이스 또는 웹 서버를 실행하거나 , 트래픽 부하 분산을 수행하거나, 테스트 환경과 프로덕션 환경을 분리할 수 있습니다.

 

그렇다면 가정이나 취미 환경에서는 어떨까요?

라즈베리 파이에서 쿠버네티스를 실행하는 몇 가지 사용 사례를 살펴보겠습니다.

 

쿠버네티스 학습하기

 

라즈베리 파이에서 쿠버네티스를 배우는 것은 수천 달러를 들이지 않고 기술을 향상시키는 좋은 방법입니다 .

 

터미널 사용법을 모르시겠나요? My Pi Cheat Sheet을 활용해 보세요!

 

쿠버네티스는 요즘 매우 인기 있는 기술이며, 기업들은 쿠버네티스에 정통한 시스템 관리자를 채용하고 있습니다. 집에서 라즈베리 파이 클러스터를 구축하는 것은 모든 작동 방식을 실험하고 배우는 데 저렴한 방법입니다. 회사에서 실수로 운영 서버를 망가뜨리는 것보다는 훨씬 안전하죠.

 

소규모 홈랩

 

 

초보자를 위한 라즈베리 파이 클러스터

 

라즈베리 파이 클러스터에서 Kubernetes를 사용하면 최고의 소형 홈랩을 구축할 수 있습니다.

 

쿠버네티스를 이용해 하드웨어 리소스를 지능적으로 분배하면 홈랩에서 다양한 가능성을 열 수 있습니다. 원하는 만큼 가상 머신을 호스팅하고 , 빅데이터에 대한 병렬 컴퓨팅을 실행하거나, 심지어는 직접 만든 노스트라다무스 모델로 미래를 예측할 수도 있습니다.

 

IoT 애플리케이션

 

 

스마트홈 기기

 

쿠버네티스는 스마트 홈이 24시간 365일 원활하게 작동하도록 보장합니다.

 

쿠버네티스는 IoT 기기들을 대규모로 배포하는 데 널리 사용됩니다. 집안 곳곳에 있는 라즈베리 파이 노드에서 쿠버네티스가 실행된다고 상상해 보세요. 자가 복구 기능을 활용하여 보안 시스템의 안정성을 유지하고, 센서들을 서로 연결하여 통신할 수 있도록 만들 수 있습니다.

 

게임 서버

 

 

마인크래프트 블록

 

Kubernetes는 여러 게임 서버에 자동으로 더 많은 리소스를 할당할 수 있습니다.

 

저는 마인크래프트 나 테라리아 같은 게임 서버를 호스팅하는 걸 좋아합니다 . 쿠버네티스는 플레이어가 게임에 접속할 때 서버 부하를 분산하고 확장할 수 있습니다. 자원이 제한적이라도 여러 게임 서버를 동시에 운영할 수 있죠.

 

이 개념은 자체 애플리케이션을 호스팅하는 프라이빗 클라우드와 같은 모든 서버에도 적용할 수 있습니다 . 이렇게 생각해보면 쿠버네티스의 강력함이 분명해집니다.

 

AI/머신러닝

 

 

텐서플로우 머신러닝

 

인공지능(AI)에 대한 이야기를 피할 수 있을 거라고 생각하셨나요? 죄송하지만, 쿠버네티스를 사용하면 값비싼 클라우드 서버 비용을 지불하지 않고도 AI 및 머신러닝 워크로드를 로컬에서 실행할 수 있습니다.

 

AI 프로젝트 나 머신러닝 작업 은 라즈베리 파이 클러스터에 너무 부담이 될 것 같지만, 의외로 가능할지도 모릅니다. 실제로 일부 사용자는 이미 라즈베리 파이 5에서 Deepseek LLM을 실행하는 데 성공했습니다 .

 

이 프로젝트가 여러분의 환경에서 예상대로 작동하지 않더라도 걱정하지 마세요. RaspberryTips 커뮤니티에서 저를 비롯한 다른 라즈베리 파이 사용자들에게 직접 도움을 받을 수 있습니다. 함께 참여해서 문제를 해결해 보세요.

 

 

라즈베리 파이로 쿠버네티스 클러스터 설정하는 방법

 

이제 쿠버네티스의 몇 가지 사용 사례를 이해했으니, 라즈베리 파이에서 쿠버네티스를 실행하는 방법을 알아보겠습니다.

 

이 다이어그램은 클러스터를 연결하는 방법의 예시를 보여줍니다.

 

 

라즈베리 파이 기반 쿠버네티스 클러스터 구성도 -- ThomasDyan / RaspberryTips

 

컨트롤 플레인 은 두뇌 역할을 하는 라즈베리 파이(마스터 노드)입니다. 워커 노드 는 메인 노드에 연결된 다른 라즈베리 파이들입니다. 워커 노드들은 파드를 실행합니다. 파드에는 실행하려는 앱이나 서비스( 컨테이너 )가 저장됩니다.

 

이 장치들을 연결했으면, 소프트웨어 설치 개요는 다음과 같습니다.

 

각 라즈베리 파이에 Raspberry Pi OS Lite 와 같은 운영 체제를 설치하십시오.

 

  • 컨트롤 플레인에 Kubernetes를 설치합니다 . 메인 Raspberry Pi에 K3s를 설치하고 실행하여 노드 토큰을 얻습니다.
  • 워커 노드에 Kubernetes를 설치합니다 . 클러스터의 다른 Raspberry Pi에도 K3s를 설치합니다. 위의 토큰을 사용하여 워커 노드가 메인 노드에 연결되도록 합니다.
  • 컨테이너 도구를 설치하세요 . K3s 에는 containerd가 기본적으로 포함되어 있어 컨테이너 사용이 더 간편합니다. 하지만 Docker와 같은 다른 도구를 사용하려면 모든 Raspberry Pi에 직접 설치해야 합니다.
  • 배포를 생성합니다 . 클러스터에서 실행할 컨테이너를 정의하는 YAML 파일을 작성합니다. 예를 들어 Nginx , Home Assistant , Plex 또는 Minecraft 서버 등이 있습니다.

 

더 자세한 지침은 Raspberry Pi용 K3 공식 문서를 참조하십시오 .

 

자, 여기까지입니다! 쿠버네티스에 대한 간단한 입문서를 제공해 드렸기를 바랍니다. 커뮤니티 독자분들의 관심이 더 많다면, 단계별 설명이 포함된 본격적인 기술 가이드를 작성하겠습니다. 다음에 또 뵙겠습니다!

 

 

본 글의 원문 튜토리얼을 참고하시려면 보고계신 이 링크를 따라가세요.

 

참고 문서: 라즈베리파이 클러스터를 처음으로 구축하는 방법 설명 

 

How To Build Your First Raspberry Pi Cluster?

Do you have two or more Raspberry Pi at home? Do you want to try putting them together to make a cluster? If so, you're at the right place. When I bought my second Raspberry

raspberrytips.com

 

 

 

반응형

캐어랩 고객 지원

취업, 창업의 막막함, 외주 관리, 제품 부재!

당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약, 아이디어는 있지만 구현할 기술이 없는 막막함.

우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.

이제 고민을 멈추고, 캐어랩을 만나세요!

코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.

제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!

귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.

지난 30년 여정, 캐어랩이 얻은 모든 것을 함께 나누고 싶습니다.

카카오 채널 추가하기

카톡 채팅방에서 무엇이든 물어보세요

당신의 성공을 위해 캐어랩과 함께 하세요.

캐어랩 온라인 채널 바로가기

캐어랩