Search

Lv 100: 라즈베리파이 OS 설치하기

생성일
2024/09/03 13:09
최종 편집 일시
2024/10/31 13:41
카테고리
Dev/Ops
태그
Raspbery Pi (라즈베리파이)
Cloud-Native (클라우드 네이티브)
Kubernetes (쿠버네티스)
환경
Debian (데비안)
요약
라즈베리파이 OS 설치 및 초기화 방법 안내.
2 more properties

여는 말

안녕하세요. 라즈베리파이를 설치하고 초기화 하는 방법을 공유드립니다. 공식 문서나 여러 블로그에 설치법이 있지만 저 만의 설치법을 기록하고자 블로그로 작성합니다. 그리고 Microk8s 설치를 위한 세부설정도 함께합니다.
목차는 다음과 같습니다:
1.
라즈베리파이 이미저 설치: SD 카드에 OS 이미지를 세팅하는 도구 준비
2.
라즈베리파이 디스크 만들기: SD 카드에 OS 이미지를 세팅
3.
라즈베리파이 실행 및 테스트: SSH 접속하여 제어하기

1. 라즈베리파이 이미저 설치

윈도우 포맷 디스크를 만드는 것 처럼, 라즈베리파이도 디스크를 만들 수 있습니다. 보통 디스크를 굽는다고 하죠. 마이크로 SD를 구워서 부팅 디스크를 만들어 봅시다.
저는 지금 맥 환경이라 brew를 이용해 설치하겠습니다.
brew install --cask raspberry-pi-imager
Bash
복사
윈도우 사용자는 공식 홈페이지에서 Download for Windows (imager_latest.exe)를 받으시면 됩니다.
이미저를 실행하면 이런 화면을 볼 수 있습니다
이미 라즈베리파이 이미저가 설치되어 있다면, 최신버전인지 확인하시면 됩니다. 버그나 보안을 생각하신다면, 최신 버전의 이미저로 설치해주세요.

2. 라즈베리파이 디스크 만들기

이미저를 설치하셨다면, 마이크로 SD 카드를 연결하고, 이미저를 실행합니다.
그리고 다음 화면처럼 설정합니다. 운영체제를 RASPBERRY PI OS LITE (64-BIT)으로 설정하고 마이크로 SD 카드를 선택합니다.
데비안 계열의 64비트 최신 라즈비안 OS입니다. GUI나 바탕화면이 없는 대신 CLI로 커멘드로 제어할 수 있습니다. ubuntu server와 비슷한 환경을 제공합니다. 라즈베리파이 4세대 이상에서 권장합니다.
다음을 누르면 OS 커스터마이징을 물어볼 수 있습니다. 설정을 편집하는 것이 좋습니다.
일반탭에서 다음과 같이 모든 설정을 입력합니다.
무선 LAN 설정은 옵션입니다. 테스트를 위해서 설정하시고, 실제사용은 권장하지 않습니다. 테스트할 때는 정말 편해요!
OS 커스터마이징에서 hostname 설정은 원하시는 고유한 이름으로 선택해주세요. 라즈베리파이가 여러 대라면 서로 겹치지 않게 설정해야합니다.
서비스 탭은 SSH 사용을 선택하고 인증은 원하시는 대로 설정하시면 됩니다. 옵션탭은 원하시는 대로 설정하시면 됩니다. 커스터마이징을 완료했다면 저장합니다.
를 선택하고 기다립니다.
정상적으로 디스크가 구워지면 다음과 같이 나옵니다.
MicroK8s로 쿠버네티스를 설치한다면
라즈베리파이를 쿠버네티스 사용을 위해 세팅하고 있다면 cgroup (control groups) 설정을 확인해야 합니다. cgroup은 CPU 및 메모리 리소스 관리를 위한 설정으로 라즈베리파이에서는 기본적으로 비활성 상태입니다. 마이크로 SD 카드를 그대로 연결한 상태에서 다음 경로를 확인합니다:
세팅 컴퓨터 기준 (bootfs 드라이버): /cmdline.txt
이 파일의 끝에 다음 내용을 추가합니다:
cgroup_memory=1 cgroup_enable=cpuset cgroup_enable=memory
Bash
복사
이미 라즈베리파이에 연결하여 실행하였다면, 라즈베리파이 기준으로 /boot/cmdline.txt 파일에 동일하게 cgroup을 설정한 뒤 재부팅하시면 됩니다.
라즈베리파이가 여러 개라면 각각 구워주면서 hostname만 변경하시면 됩니다. 예시) 저는 hostnameraspi-40, raspi-41, raspi-50, raspi-51 로 설정했습니다.
안내대로 마이크로 SD 카드를 제거합니다. (가능하면 마운트 해제를 한 뒤 안전하게 제거합니다)

3. 라즈베리파이 실행 및 테스트

라즈베리파이를 실행하고, 접속하여, 사용할 준비를 마쳐보겠습니다.
이제 파이에 SD카드를 끼우고 전원을 켭니다. 그리고 ping 명령으로 파이가 준비되길 기다립니다. 접속 IP 찾기는 두 가지 방법으로 해결합니다
IP 주소: 홈 네트워크의 DHCP 서버에서 파이의 hostname에 해당하는 IP 찾기
호스트네임 주소: IP를 찾지 않고, 라즈베리파이의 키워드인 {hostname}.local 주소를 사용하기
저는 호스트네임 주소를 사용하여 테스트하였습니다. 호스트네임이 낯설다면 실제 IP 주소로 하셔도 됩니다!
ping raspi-40.local # 주소는 'hostname'.local 입니다
Bash
복사
응답이 있다면 잘 실행된겁니다. 이제 SSH로 접속해보겠습니다.
ssh r4iny@raspi-40.local # 경로는 'username'@'hostname'.local 입니다
Bash
복사
접속이 되어서 콘솔이 보이면 성공입니다. 매 번 비밀번호를 입력하는 게 번거롭다면 ssh-copy-id 로 SSH 공개키를 등록해 두는 것도 좋습니다.
ssh-copy-id r4iny@raspi-40.local # 경로는 'username'@'hostname'.local 입니다
Bash
복사
설치가 잘 되었는지 확인해봅시다
간단한 운영체제 정보를 보여주는 neofetch를 설치하고 실행해 보겠습니다.
sudo apt update sudo apt install -y neofetch neofetch
Bash
복사
라즈베리파이는 데비안 계열이라 기본적으로 소용돌이 모양이 나옵니다
데비안 대신 라즈베리파이 로고를 보고 싶으면 다음과 같이 입력해보세요.
neofetch --ascii_distro Raspbian
Bash
복사
이제 라즈베리 파이를 사용할 준비가 끝났습니다!
읽어주셔서 감사합니다.
아, 한 가지 더 있었네요

4. 쿠버네티스를 위한 사전 앱 설치

쿠버네티스를 위해 라즈베리파이를 설정하였다면, 마지막으로 이 앱들을 설치해주세요.
sudo apt update sudo apt install -y \ openssh-server \ open-iscsi \ nfs-common
Bash
복사
openssh-server: SSH 연결을 위한 서버
open-iscsi: longhorn, ceph 등 스토리지 설정을 위한 패키지
nfs-common: NFS 유형의 스토리지 연결을 위한 패키지
고생하셨습니다. 클러스터 설치는 Lv 200: MicroK8s 클러스터 만들기 with 라즈베리파이 를 읽어주세요!