Docker를 사용한 표준 Rocket Pool 노드 만들기

이 섹션에서는 표준 Docker 기반 설정을 사용하여 Rocket Pool Smartnode 스택을 설치하는 프로세스를 안내합니다. 다음을 포함하여 전체 노드를 실행하는 데 필요한 모든 것을 설치하고 구성합니다:

  • Rocket Pool Smartnode 소프트웨어
  • 선택한 Execution (이전 ETH1) 클라이언트 또는 이미 관리하고 있는 기존 클라이언트에 대한 연결
  • 선택한 Consensus (이전 ETH2) 클라이언트 또는 이미 관리하고 있는 기존 클라이언트에 대한 연결
  • Beacon Chain validation 의무를 처리하는 Validator 클라이언트
  • (선택 사항) 성능 및 상태 메트릭을 캡처하기 위한 monitoring stack

실행하려는 항목을 알려주기만 하면 됩니다!

NOTE

아래 지침을 따르려면 시스템의 terminal을 사용하여 명령을 입력하고 실행해야 합니다. SSH를 통해 노드 머신에 연결된 경우 이미 이 작업을 수행하고 있는 것입니다. 노드 머신에서 Desktop UI를 사용하는 경우 다음 명령을 실행하려면 터미널 창을 열어야 합니다. 익숙하지 않은 경우 OS의 지침을 참조하여 이를 수행하는 방법을 알아보십시오.

프로세스 개요

높은 수준에서 Rocket Pool 설치와 관련된 내용은 다음과 같습니다:

  1. Rocket Pool command-line interface (CLI) 다운로드
  2. CLI를 사용하여 Smartnode 스택 설치
  3. 터미널에서 사용하기 쉬운 UI로 Smartnode 스택 구성
  4. 완료!

시작하기 전에

Warning

Ubuntu를 사용하는 경우 Rocket Pool을 설치하기 전에 운영 체제와 함께 docker가 설치되지 않았는지 다시 확인하는 것이 좋습니다.

Ubuntu 설치 프로그램은 snap 패키지 관리자에서 docker를 가져오는데, 이는 Smartnode가 설치하는 docker 버전과 충돌합니다.

snap list를 실행하고 docker가 설치되지 않았는지 확인하십시오.

예를 들어 docker가 설치되지 않은 머신의 출력은 다음과 같습니다:

Name    Version        Rev    Tracking       Publisher   Notes
core20  20230308       1852   latest/stable  canonical✓  base
lxd     5.0.2-838e1b2  24322  5.0/stable/…   canonical✓  -
snapd   2.59.1         18933  latest/stable  canonical✓  snapd

다음은 설치된 경우의 출력입니다:

Name    Version        Rev    Tracking       Publisher   Notes
core20  20230308       1852   latest/stable  canonical✓  base
docker  20.10.17       2746   latest/stable  canonical✓  -
lxd     5.0.2-838e1b2  24322  5.0/stable/…   canonical✓  -
snapd   2.59.1         18933  latest/stable  canonical✓  snapd

snap list 출력에 표시되면 다음을 사용하여 제거하십시오:

sudo systemctl stop snap.docker.dockerd.service

sudo snap remove --purge docker

그 후 머신을 재부팅하는 것이 좋습니다 (sudo systemctl reboot)

Rocket Pool CLI 다운로드

CLI 다운로드 지침은 운영 체제에 따라 다릅니다.

NOTE

Rocket Pool 노드에 사용할 머신에서 다음 지침을 수행해야 합니다. 노드 머신에 직접 연결된 키보드와 모니터를 사용하지 않는 경우 원격으로 (예: SSH를 통해) 액세스하고 해당 원격 연결을 통해 이러한 명령을 실행해야 합니다.

Linux
MacOS

Linux에서는 CLI 애플리케이션을 보유할 새 폴더를 만드는 것부터 시작하십시오:

mkdir -p ~/bin

다음으로 CLI를 다운로드하십시오. 이는 시스템이 사용하는 아키텍처에 따라 다릅니다.

TIP

CPU 아키텍처를 모르는 경우 다음 명령을 실행하여 찾을 수 있습니다:

uname -m

이 명령의 출력은 아키텍처를 인쇄합니다. x86_64x64amd64와 동일합니다. aarch64arm64와 동일합니다.

x64 시스템의 경우 (대부분의 일반 컴퓨터):

wget https://github.com/rocket-pool/smartnode/releases/latest/download/rocketpool-cli-linux-amd64 -O ~/bin/rocketpool

arm64 시스템의 경우:

wget https://github.com/rocket-pool/smartnode/releases/latest/download/rocketpool-cli-linux-arm64 -O ~/bin/rocketpool

실행 권한을 부여하기 위해 실행 가능하도록 표시하십시오:

chmod +x ~/bin/rocketpool

다음으로 로그아웃했다가 다시 로그인 (또는 SSH를 닫고 다시 연결)하거나 간단히 재시작하십시오. CLI를 저장한 경로 (~/bin)가 아직 시스템의 PATH 변수 (시스템이 실행 파일을 검색하는 위치 목록)에 없을 수 있기 때문입니다. 로그아웃했다가 다시 로그인하면 거기에 추가됩니다.

이제 --version 플래그를 사용하여 실행을 테스트하십시오. 다음과 같은 출력이 표시되어야 합니다:

rocketpool --version
rocketpool version 1.18.10

TIP

다음과 같은 오류 메시지가 표시되면

-bash: /home/user/rocketpool: cannot execute binary file: Exec format error

위에서 잘못된 버전을 다운로드했음을 의미합니다. 위의 팁에 있는 명령을 사용하여 시스템이 x64인지 arm64인지 확인하고 적절한 버전을 다운로드하십시오. 시스템이 둘 다 아닌 경우 Rocket Pool을 실행할 수 없습니다.

Smartnode 스택 설치

이제 CLI가 설치되었으므로 Smartnode 스택을 배포할 수 있습니다. 이렇게 하면 Docker, docker-compose로 시스템을 준비하고 Smartnode 파일을 로드하여 준비가 됩니다. 실제로는 아직 아무것도 실행하지 않습니다. 나중에 실행됩니다.

Smartnode 스택을 배포하려면 노드 머신에서 다음 명령을 실행해야 합니다 (로컬로 로그인하거나 SSH를 통해 원격으로 연결):

rocketpool service install

최신 버전의 Smartnode 스택을 가져와서 설정합니다. 다음과 같은 출력이 표시되어야 합니다 (끝에 인쇄될 최신 버전의 릴리스 노트 위에):

오류 메시지가 없으면 설치가 성공한 것입니다. 기본적으로 사용자 계정의 홈 폴더 내부 ~/.rocketpool 디렉토리에 배치됩니다.

NOTE

Smartnode 설치 프로그램은 모든 플랫폼에서 dockerdocker-compose를 자동으로 설치할 수 없습니다. 설치 중 다음과 같은 오류 메시지가 표시되면:

Automatic dependency installation for the Mint operating system is not supported.
Please install docker and docker-compose manually, then try again with the '-d' flag to skip OS dependency installation.
Be sure to add yourself to the docker group with 'sudo usermod -aG docker $USER' after installing docker.
Log out and back in, or restart your system after you run this command.

그러면 두 가지를 수동으로 설치하기만 하면 됩니다.

Docker는 일반적인 설치 지침을 여기에서 제공합니다.

Docker-compose는 일반적인 설치 지침을 여기에서 제공합니다.

둘 다 설치되면 사용자 계정에 Docker 사용 권한을 부여하십시오:

sudo usermod -aG docker $USER

마지막으로 -d 플래그를 사용하여 Docker 설치를 건너뛰고 설치 프로그램을 다시 실행하십시오:

rocketpool service install -d

이 후 설정이 적용되도록 로그아웃했다가 다시 로그인하거나 SSH 세션을 다시 시작하십시오.

이 작업이 완료되면 Smartnode 스택이 실행할 준비가 됩니다.

Docker의 저장소 위치 구성

기본적으로 Docker는 모든 컨테이너 데이터를 운영 체제의 드라이브에 저장합니다. 경우에 따라 이것이 원하는 것이 아닐 수 있습니다.

NOTE

이 기본 동작이 괜찮으면 다음 섹션으로 건너뛰십시오.

이렇게 하려면 root 사용자로 /etc/docker/daemon.json이라는 새 파일을 만드십시오:

sudo nano /etc/docker/daemon.json

처음에는 비어 있을 것이며 괜찮습니다. 다음을 내용으로 추가하십시오:

{
  "data-root": "<your external mount point>/docker"
}

여기서 <your external mount point>는 다른 드라이브가 마운트된 디렉토리입니다.

Ctrl+O, Enter를 눌러 파일을 저장하고 Ctrl+X, Enter를 눌러 편집기를 종료하십시오.

다음으로 폴더를 만드십시오:

sudo mkdir -p <your external mount point>/docker

이제 docker 데몬을 다시 시작하여 변경 사항을 적용하십시오:

sudo systemctl restart docker

그 후 Docker는 원하는 디스크에 데이터를 저장합니다.

Smartnode 스택 구성

설치 프로세스의 다음 단계는 노드의 초기 구성을 수행하는 것입니다. 이 프로세스의 안내는 Rocketpool 구성 섹션으로 이동하십시오.