Awanio menyediakan awctl cli untuk membantu seseorang mengatur dan mengelola Awanio Cloud Platform. Perintah ini hanya mendukung berjalan di Debian 11 di atas dan Ubuntu 20.04 di atas saat ini. Kami berencana untuk mendukung RedHat 9 pada milestone berikutnya.
Sebelum menjalankan operasi berikut, kita perlu mengunduh awctl CLI dari repositori publik Awanio.
curl -O https://storage.awan.io/assets/awctl-linux-amd64.tar.gz
tar -xvf awctl-linux-amd64.tar.gz
sudo chmod +x ./awctl
sudo mv ./awctl /usr/local/bin/
sudo awctl --version
Untuk melakukan instalasi melalui CLI, Anda perlu menyiapkan file konfigurasi cluster. File ini berisi informasi yang diperlukan untuk membuat cluster baru. Untuk membuat template, jalankan perintah berikut:
sudo awctl generate-conf-file
File baru akan dibuat. Untuk mendapatkan detail lebih lanjut tentang cara menggunakan file ini, silakan lihat halaman Skema File Konfigurasi Cluster.
Untuk menginstal secara langsung termasuk semua paket dan CRD yang diperlukan, gunakan perintah ini:
sudo awctl init -f cluster-config.yaml
Untuk menginstal Awanio secara bertahap, gunakan perintah berikut:
Hanya menginstal paket linux yang diperlukan seperti, containerd dll.
sudo awctl init -f cluster-config.yaml --package-only
Memulai cluster di semua node tanpa SDN dan SDS apa pun.
sudo awctl init -f cluster-config.yaml --cluster-only
Flag ini akan dipasang ke cluster dasar Kubernetes.
sudo awctl init -f cluster-config.yaml --sdn-only
Flag ini akan menginstal SDS ke cluster dasar.
sudo awctl init -f cluster-config.yaml --sds-only
Menginstal semua komponen eksternal yang diperlukan.
sudo awctl init -f cluster-config.yaml --module-only
Menginstal semua komponen awanio.
sudo awctl install -f cluster-config.yaml
Untuk melakukan instalasi melalui antarmuka web, jalankan perintah ini:
sudo awctl webui --port 8081
Kemudian buka halaman web instalasi di http://IP-NODE:8081. Sesuaikan informasi IP-NODE dengan IP server yang akan digunakan untuk instalasi.
Hasilkan token gabungan di node bidang kontrol yang ada.
sudo awctl join-token
Gunakan token yang dihasilkan untuk menggabungkan node ke cluster.
sudo awctl join \ --token=xxxxx \ --endpoint=192.168.1.10:3774 \ --role=worker \ --node-ip=192.168.1.11
Parameter | Deskripsi | Requirement |
token | Token for join to existing cluster generated by sudo awctl join-token command. | required |
endpoint | Endpoint management node existing cluster. | required |
role | Node role in cluster. The option is: control-plane-worker , control-plane and worker . | required |
node-ip | This node IP address that use to communicate with the management node. | required |
exclude-package | Exclude OS package install if the new node already has required packages. | required |
Perintah berikut akan memperbarui komponen API, cronjob, dan UI.
sudo awctl update
Untuk memeriksa versi saat ini, jalankan:
sudo awctl version
Untuk memeriksa versi terbaru, jalankan:
sudo awctl version --all
Jalankan perintah berikut untuk memperbarui file binary awctl.
sudo awctl awctl self-update
Jalankan perintah berikut untuk melakukan perbaikan masalah yang ada di clsuter yang disebabkan oleh awctl pada versi sebelumnya.
sudo awctl patch
Untuk menampilkan URL cluster, jalankan perintah berikut:
sudo awctl cluster-access -f cluster-config.yaml
Untuk menghapus komponen Awanio di cluster, gunakan perintah berikut:
sudo awctl uninstall -f cluster-config.yaml
Untuk men-destroy cluster yang ada, jalankan perintah berikut:
sudo awctl destroy -f cluster-config.yaml
File konfigurasi cluster terinspirasi dari file ClusterConfig dari eksctl.
apiVersion: awanio.io/v1alpha1
kind: ClusterConfig
metadata:
license: "GILF-ET4G-YD28-I4NK"
features: "computes,object-storage,kubernetes,support"
name: Cluster Name
spec:
rootUser:
name: Awanio
username: awanio
password: xxx-xxx-xxx
email: ask@awan.io
server:
managementFloatingIP: 172.31.31.20
ingressExternalIPs:
- 172.31.31.19
- 108.137.91.215
nics:
internal:
name: ens5
external:
name: eth1
ip: 103.179.254.253/24
mac: 16:52:f3:13:6a:25
gateway: 103.179.254.254/24
gatewayNodes: awid1
subnets:
workload: 10.0.0.0/16
workloadGateway: 10.0.0.1
service: 10.1.0.0/16
external: 103.179.255.0/24
nodes:
- name: awid1
role: control-plane-worker
user: ubuntu
sshPort: "22"
sshPrikeyFile: /home/ubuntu/.ssh/id_rsa
internalIP: 172.31.31.19/20
disk:
- /dev/nvme1n1
- name: awid3
# the option is: control-plane, worker and control-plane-worker
role: worker
# this user should sudoers and have the public ssh key in remote servers
user: ubuntu
sshPort: "22"
sshPrikeyFile: /home/ubuntu/.ssh/id_rsa
internalIP: 172.31.17.44/20
disk:
- /dev/nvme1n1
Properti | Tipe Data | Deskripsi | Nilai Default |
apiVersion | string | awanio.io/v1alpha1 | |
kind | string | - | ClusterConfig |
metadata | object | - | - |
metadata.license | string | - | - |
metadata.features | string | - | computes,object-storage,kubernetes,support |