awctl CLI
Awanio は、Awanio Cloud Platform のセットアップと管理を支援するために awctl CLI を提供しています。現時点では Debian 11 以上および Ubuntu 20.04 以上のみをサポートしています。次のマイルストーンで RedHat 9 のサポートを予定しています。
awctl CLI のインストール
以降の操作を実行する前に、Awanio のパブリックリポジトリから awctl CLI をダウンロードする必要があります。
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
Cluster Configuration File Generator
CLI でインストールするには、クラスタ構成ファイルを準備する必要があります。このファイルには新しいクラスターを作成するために必要な情報が含まれます。テンプレートを作成するには、次のコマンドを実行します。
sudo awctl generate-conf-file
新しいファイルが作成されます。このファイルの使い方の詳細は、クラスタ構成ファイルのスキーマ セクションを参照してください。
All In One Bundled Solution
必要なパッケージと CRD をすべて含めて直接インストールするには、次のコマンドを使用します。
sudo awctl init -f cluster-config.yaml
Step by Step Installation
段階的にインストールするには、次のコマンドを使用します。
必要な Linux パッケージ(containerd など)のみをインストールします。
sudo awctl init -f cluster-config.yaml --package-onlySDN と SDS をインストールせずに、すべてのノードでクラスターを初期化します。
sudo awctl init -f cluster-config.yaml --cluster-onlySDN をベース Kubernetes クラスターにインストールします。
sudo awctl init -f cluster-config.yaml --sdn-onlySDS をベースクラスターにインストールします。
sudo awctl init -f cluster-config.yaml --sds-only必要な外部コンポーネントをすべてインストールします。
sudo awctl init -f cluster-config.yaml --module-onlyすべての Awanio コンポーネントをインストールします。
sudo awctl install -f cluster-config.yaml
Web Interface Installation
Web インターフェースでインストールするには次のコマンドを実行します。
sudo awctl webui --port 8081
その後、http://IP-NODE:8081 でインストール Web ページを開きます。IP-NODE の情報は、インストールに使用するサーバーの IP に置き換えてください。
Join New Node to Existing Cluster
既存の control-plane ノードで join token を生成します。
sudo awctl join-token生成した token を使用してノードをクラスターに参加させます。
sudo awctl join \ --token=xxxxx \ --endpoint=192.168.1.10:3774 \ --role=worker \ --node-ip=192.168.1.11
| Parameter | Description | 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 |
Update Awanio
次のコマンドは API、cronjob、UI コンポーネントを更新します。
sudo awctl update
Check Version
現在のバージョンを確認するには次を実行します。
sudo awctl version
最新バージョンを含む一覧を確認するには次を実行します。
sudo awctl version --all
Update awctl Binary
awctl バイナリを更新するには次のコマンドを実行します。
sudo awctl self-update
Patch Cluster Issue
以前の awctl バージョンが原因で発生したクラスタ問題を修正(patch)するには次のコマンドを実行します。
sudo awctl patch
Show Deployed Cluster URL
既存クラスターの URL を表示するには次のコマンドを実行します。
sudo awctl cluster-access -f cluster-config.yaml
Uninstall Existing Awanio Components
クラスター内の Awanio コンポーネントのみをアンインストールするには次のコマンドを実行します。
sudo awctl uninstall -f cluster-config.yaml
Destroy Existing Cluster
既存クラスターを破棄(destroy)するには次のコマンドを実行します。
sudo awctl destroy -f cluster-config.yaml
Cluster Configuration File Scheme
クラスタ構成ファイルは eksctl の ClusterConfig ファイルに着想を得ています。
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
| Property | Data type | Description | Default value |
| apiVersion | string | - | awanio.io/v1alpha1 |
| kind | string | - | ClusterConfig |
| metadata | object | - | - |
| metadata.license | string | - | - |
| metadata.features | string | - | computes,object-storage,kubernetes,support |