Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 파일코인플러스
- Q-code
- 데이터캡
- nft
- 민팅
- 알위브
- 레이어2
- 공증인
- 채산성
- 투자
- Arweave
- 코로나
- datacap
- 비트코인
- 스토리지코인
- 채굴
- FILECOIN
- Mining
- 파일코인
- 바이낸스
- 스토리지
- 암호화폐
- BTC
- 이더리움
- nft민팅
- filfox
- 가상자산
- 코인
- MATIC
- FIL
- Today
- 96
- Total
- 125,460
Blockchain & Devops, bitetiger
Ansible으로 Klaytn node 환경 구성해보기 본문
반응형
이전 EC2 Dynamic Inventory를 생성하는 테라폼 코드를 활용해서 그 위에 Ansible로 환경설정하는 과정을 진행해보려 한다.
Terraform은 Klaytn node의 전체적인 아키텍처의 인프라 리소스를 생성하는 역할, Ansible은 생성된 리소스에 필요한 패키지 설치와 node의 환경설정을 하는 용도로 사용한다.
테스트 용도기 때문에 아래와 같이 간단한 아키텍처로 구성.
- Controll node로 사용할 EC2 1개
- Managed node로 사용할 EC 2개 (Endpoint node, Service chain node)
Ansible node
EC2에 접근하기 위한 kay-pair, aws dynamic inventory를 구성할 yml을 provisioner로 할당하고, EC2fullAccess 권한을 지정했다.
Service chain node
1개의 서비스 체인으로 구축한다. 테라폼으로 구성된 node은 기본적인 Python3는 설치되어 있다.
진행해야하는 환경 구성
1) 노드에 SCN 설치 (kscn)
2) homi로 genesis.json과 nodekey 생성
3) static-nodes.json 수정
4) kscn을 이용하여 노드 초기화
5) nodekey와 static-nodes.json 설치
6) 노드 설정
7) 노드 시작
playbook
---
- name: install Service node
hosts: _managed_server_2
become: yes
gather_facts: no
tasks:
- name: kscn download
get_url:
url: https://packages.klaytn.net/klaytn/v1.9.0/kscn-v1.9.0-0-linux-amd64.tar.gz dest: /home/ubuntu/kscn-v1.9.0-0-linux-amd64.tar.gz
- name: homi download
get_url:
url: https://packages.klaytn.net/klaytn/v1.9.0/homi-v1.9.0-0-linux-amd64.tar.gz dest: /home/ubuntu/homi-v1.9.0-0-linux-amd64.tar.gz
- name: unarchive kscn
unarchive:
remote_src: yes
src: "/home/ubuntu/kscn-v1.9.0-0-linux-amd64.tar.gz"
dest: "/home/ubuntu/"
- name: unarchive homi
unarchive:
remote_src: yes
src: "/home/ubuntu/homi-v1.9.0-0-linux-amd64.tar.gz"
dest: "/home/ubuntu/"
* 8) main-bridges.json 생성 후 kscn 편집하여 재시작
Endpoint node
1) EN 설치
2) genesis.json 다운로드
3) EN 노드 초기화
4) EN 노드 설정
5) EN 노드 시작
6) EN 노드 KNI 확인하여 SCN에 main-bridge.json 생성
playbook
---
- name: install Endpoint node
hosts: _managed_server_1
become: yes
gather_facts: no
tasks:
- name: ken download
get_url:
url: https://packages.klaytn.net/klaytn/v1.9.0/ken-baobab-v1.9.0-0-linux-amd64.tar.gz
dest: /home/ubuntu/ken-baobab-v1.9.0-0-linux-amd64.tar.gz
- name: install ken.tar.gz
ansible.builtin.unarchive:
src: /home/ubuntu/ken-baobab-v1.9.0-0-linux-amd64.tar.gz
dest: /home/ubuntu/
remote_src: yes
- name: genesis.json download
get_url:
url: https://packages.klaytn.net/baobab/genesis.json
dest: /home/ubuntu/genesis.json
- name: initialize ken
become: yes
shell:
"/home/ubuntu/ken-linux-amd64/bin/ken --datadir ~/data init /home/ubuntu/genesis.json"
- name: rename kend.conf
ansible.builtin.copy:
remote_src: yes
src: /home/ubuntu/ken-linux-amd64/conf/kend_baobab.conf
dest: /home/ubuntu/ken-linux-amd64/conf/kend.conf
- name: modify kend.conf(SC_MAIN_BRIDGE)
lineinfile:
path: /home/ubuntu/ken-linux-amd64/conf/kend.conf
regexp: '^SC_MAIN_BRIDGE='
line: 'SC_MAIN_BRIDGE=1'
- name: modify kend.conf(DATA_DIR)
lineinfile:
path: /home/ubuntu/ken-linux-amd64/conf/kend.conf
regexp: '^DATA_DIR='
line: 'DATA_DIR=~/data'
아직 수정 중..
반응형
'DevOps > Ansible' 카테고리의 다른 글
Ansible UNREACHABLE! Failed to connect to the host via ssh Load key Permission denied (publickey) 오류 (0) | 2023.02.01 |
---|---|
Ansible 유용한 명령어 정리 (1) | 2022.10.06 |
Terraform으로 Ansible의 AWS EC2 다이나믹 인벤토리 구성하기 (0) | 2022.09.27 |
Ansible 앤서블의 기본 개념과 Role, Task, Handler 예시 (0) | 2022.09.27 |
0 Comments