새벽을 밝히는 붉은 달

[Rpi] 라즈베리파이 멀티클러스터에서 쿠버네티스 사용하기 (1) 본문

Develop

[Rpi] 라즈베리파이 멀티클러스터에서 쿠버네티스 사용하기 (1)

자윰 2022. 6. 10. 22:44

이번에 진행하게 된 프로젝트에서 쿠버네티스 환경 기반 라즈베리파이 멀티클러스터를 만들어야 하는데,

그 과정을 한 번 기록해보고자 한다.

 

먼저, 이번에는 라즈베리파이 멀티클러스터를 구성할 것이다.


📚 준비물

  • 라즈베리파이4 4GB 4개
  • microSD card 16GB 4개
  • microSD card 리더기
  • 아크릴 케이스
  • 5포트 멀티충전기
  • Type C - USB 케이블 4개
  • 5포트 스위칭 허브 1개
  • CAT6 랜 케이블 4개

1. 라즈베리파이에 Ubuntu 20.04 굽기

현재 목표는 라즈베리파이에 우분투 + K8S를 올리고자 하기 때문에, 라즈베리파이에 우분투를 구울 것이다.

 

1. 다음 사이트에서 Raspberry Pi Imager를 다운 받는다. (호스트 OS에 맞는 OS로 다운 받는다)

https://www.raspberrypi.com/software/

 

Raspberry Pi OS – Raspberry Pi

From industries large and small, to the kitchen table tinkerer, to the classroom coder, we make computing accessible and affordable for everybody.

www.raspberrypi.com

2. 다운받은 Raspberry Pi Imager를 설치한다.

3. 만약 microSD card가 기존에 사용 중이었던 거라면, 포맷한다.

4. Raspberry Pi Imager를 실행시킨다.

5. CHOOSE OS > Other general-purpose OS > Ubuntu Server 20.04.4 LTS 64-bit 를 선택한다.

6. CHOOSE SD CARD 에서 삽입한 microSD 카드를 선택한다.

7. 설정창을 눌러 SSH 사용을 누르고, 사용할 비밀번호를 입력한다.

8. 라즈베리파이가 접속할 와이파이의 이름과 비밀번호를 입력한다.

9. 쓰기 버튼을 누른다.

 

OS 굽기가 완료된 모습

 

이렇게 총 4개를 구워주었다.


2. 라즈베리파이 ssh 접속 확인

라즈베리파이에 ssh로 접속이 가능한지 확인해보자.

 

1. 공유기와 스위칭 허브를 랜선으로 연결한다.

2. 라즈베리파이와 스위칭 허브를 랜선으로 연결한다.

3. 라즈베리파이에 microSd 카드를 넣고, 전원을 공급한다.

4. 사용하고 있는 공유기 관리자 페이지에 접속하여 라즈베리파이에 할당된 IP 주소를 확인한다.

공유기 관리자 페이지에 접속하여 확인한 라즈베리파이에 할당된 IP 주소

5. 터미널을 열어 ssh 접속을 한다.

$ ssh <username>@<ip addr.> -p 22

후 비밀번호 입력

 

여기서 이름과 비밀번호는 처음에 OS를 굽기 전 설정에서 ssh 접속에 쓰기로 설정한 이름과 비밀번호를 입력하면 된다.나의 경우에는 다음과 같이 입력해주었다.


3. 라즈베리파이 네트워크 설정

ssh 접속이 정상적으로 되는 것을 확인하였으니 외부에서 접속할 수 있도록 DHCP 고정할당을 하고, 포트포워딩을 한다.DHCP 고정할당을 해주지 않으면 라즈베리파이에 할당되는 IP 주소가 바뀌기 때문에, 꼭 해준다.

 

나는 U+ 공유기를 사용하기 때문에, U+ 공유기를 기준으로 설명한다.사용하는 공유기가 다를 경우, 구글링을 하면 금방 찾을 수 있다.

 

1. 공유기 관리자 페이지에 접속한다.

2. 공유기를 누르고 패스워드와 보안코드를 입력한 후 로그인한다.

3. 상태정보 > DHCP 할당 정보에 들어가서 라즈베리파이의 MAC 주소를 확인한다.

4. 라즈베리파이의 MAC 주소를 입력하고, IP 주소를 할당한다.

MAC 주소를 입력하고 IP 주소를 할당하면 된다.

5. 설정 적용 후 공유기가 재부팅될 때까지 기다린다.

 

다시 공유기에 접속하면 아래와 같이 라즈베리파이에 내가 지정한 IP로 고정 할당된 것을 확인할 수 있다.

 

이제 포트포워딩을 설정한다.

 

6. 네트워크 설정 > NAT 설정에 들어가서 열어줄 포트를 입력한다.

 

나의 경우, 20000번 포트로 들어오는 요청은 라즈베리파이로 연결되도록 하였고, ssh 로 접속하도록 할 것이기 때문에 내부 포트는 22번으로 하였다. IP 주소는 이전에 라즈베리파이에 고정할당했던 IP 주소를 사용하면 된다.

다음과 같이 적어서 추가 후 설정을 적용하면 된다.

이렇게 하면 외부에서 접속이 가능해진다. 외부에서 접근하는 방법은 다음과 같다.

 

$ ssh pi@<공유기 ip addr.> -p 20000

 

참고로 공유기의 IP 주소는 U+ 공유기의 경우, 관리자 페이지 첫 화면에서 확인이 가능하다.

 

이렇게 4개 모두 설정을 해주면 된다.

 

라즈베리파이별로 DHCP 고정할당 받은 모습
라즈베리파이별로 포트포워딩을 해준 모습


4. ssh key로 쉽게 접속하기

접속을 할 때마다 비밀번호를 치고 들어가는 것은 귀찮다. 호스트의 ssh 키를 라즈베리파이에 복사해두어 다음부터는 비밀번호를 입력하지 않아도 쉽게 들어갈 수 있도록 한다.

 

1. 호스트에 ssh 키가 없다면, ssh 키를 생성한다. 생성하는 명령어는 다음과 같다.

$ ssh-keygen -t rsa

 

2. key를 생성했다면, 라즈베리파이에 생성한 ssh key를 복사한다. 키 복사는 ssh-copy-id 를 사용하면 쉽게 복사할 수 있다.

$ ssh-copy-id  -p <port num.> <username>@<공유기 ip addr.> 

 

나의 경우, ssh-copy-id -p 20000(20001/20002/20003) pi@<공유기 ip addr.>  을 입력해주었다.

입력하면 비밀번호를 입력받는데, 비밀번호가 맞을 경우, 다음부터는 ssh key를 통해 비밀번호 입력 없이도 ssh 접속이 가능해진다.

그렇게 4개의 라즈베리파이에 접속한 모습은 다음과 같다.

 

이렇게 설정을 모두 해주었으니 다음엔 쿠버네티스를 깔아볼 것이다!

질문과 지적은 언제든지 환영합니다 😉

Comments