Chạy Skywire trong Docker container
Docker cho phép chúng ta triển khai nhanh một ứng dụng, dễ cài đặt và bảo trì nên nó là một ưu thế để triển khai Skywire một cách nhanh chóng. Các bước để cài đặt có thể tóm tắt như sau:
- Flash file ảnh (image) lên bo SBC chạy skywire và cập nhật
- Thêm SSH keys để bảo mật SSH(tùy chọn - có thể bỏ qua)
- Cài đặt Docker cho bo SBC
- Chạy lệnh Docker để cài đặt Skywire
- Cấu hình Skywire
Cài đặt Docker
Để chạy Skywire trong Docker container thì bạn phải có Docker được cài đặt sẵn. Nếu chưa cài đặt Docker, bạn thực hiện lệnh sau để cài đặt Docker.
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
Câu lệnh đầu tiên thực hiện tải một script ở trang chủ Docker và câu lệnh thứ 2 thực thi script để cài đặt Docker trên bo của bạn
Xem thêm cài đặt Docker ở link sau https://docs.docker.com/engine/install/
Cài đặt Skywire sử dụng docker
Hiện tại, file ảnh docker hỗ trợ những kiến trúc sau:
Kiến trúc | tag |
---|---|
aarch64 | v0.4.2-aarch64 |
armhf | v0.4.2-armhfv7 |
x86_64 | v0.4.2-x86_64 |
Chi tiết các tag có thể tham khảo ở link sau:
https://hub.docker.com/r/skywirex/skywire
Skywire bao gồm hai thành phần chính là Visor và Hypervisor.
- Visor: tương tự như một nút (node), là thành phần cơ bản tạo nên mạng skywire
- Hypervisor: trình quản lý visor, thông qua giao diện của trình quản lý ta có thể tương tác với visor
Cài đặt skywire nghĩa là bạn cần cài đặt Visor và Hypervisor lên bo mạch. Bạn chỉ cần cài một Hypervisor để điều khiển nhiều visor khác nhau thông qua HypervisorUI
Kể từ phiên bản v0.4, mạng skywire đã tích hợp chung cả visor
và hypervisor
. Qui định bo mạch nào đóng vai trò là hypervisor
bạn chỉ cần chỉ định nó ở trong file cấu hình.
Cài đặt skywire
docker create \
--name=visor \
--net=host \
-v ~/.config/skywire:/opt/skywire \
--restart=unless-stopped \
skywirex/skywire:<tag> skywire-visor
Thay thế tương ứng với kiến trúc hệ điều hành được hỗ trợ ở bảng trên.
Ví dụ:
docker create \
--name=visor \
--net=host \
-v ~/.config/skywire:/opt/skywire \
--restart=unless-stopped \
skywirex/skywire:v0.4.2-aarch64 skywire-visor
Câu lệnh Docker trên được giải thích chi tiết như sau:
docker create
gọi docker tạo một container--restart=unless-stopped
khởi động lại nếu không gọi lệnh dừng-v ~/.config/skywire
lưu file cấu hình ở thư mục~/.config/skywire
bo mạch
Sau khi container được tạo tiến hành chạy container đó bằng câu lệnh sau:
# docker start visor
Sau khi thực thi câu lệnh này container tên hypervisor sẽ thực hiện kiểm tra file cấu hình đã tồn tại hay chưa. Nếu chưa tồn tại file cấu hình, nó sẽ tạo một file cấu hình và lưu ở thư mục ~/.config/skywire
. Nếu đã tồn tại file cấu hình thì sẽ dùng file cấu hình đó để chạy container hypervisor.
Kiểm tra trạng thái của container visor ta có thể thực hiện lệnh sau:
# docker ps -a
Lúc này bạn sẽ truy cập được vào UI của hypervisor qua địa chỉ <Địa chỉ IP cài Hypervisor>:8000
, ví dụ 192.168.1.11:8000, mặc định sẽ không có password để login UI, hypervisorUI sẽ trông như sau:
Sao lưu và phục hồi skywire
Sao lưu
Việc sao lưu skywire chỉ cần thực hiện sao lưu private key
và public key
nằm ở file cấu hình (file json). Để tiện cho việc sao lưu, câu lệnh dưới đây sao lưu cả file cấu hình.
Nén thư mục skywire sử dụng câu lệnh sau
tar zcvf skywire-backup.tgz ~/.config/skywire
Copy và lưu ở một nơi an toàn để có thể phục hồi lại nút khi cần.
Phục hồi
Copy file cấu hình lại thư mục home và thực hiện giải nén
tar zxvf skywire-backup.tgz