awctl CLI
يوفر Awanio أداة awctl cli للمساعدة في إعداد وإدارة منصة Awanio السحابية. يدعم هذا الأمر التشغيل على Debian 11 فما فوق، وUbuntu 20.04 فما فوق فقط في الوقت الحالي. نخطط لدعم RedHat 9 في المرحلة القادمة.
تثبيت awctl CLI
قبل تنفيذ أي عملية من العمليات التالية، يجب تنزيل أداة awctl cli من المستودع العام لـ 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مولّد ملف تهيئة الكتلة
لإجراء التثبيت عبر واجهة سطر الأوامر، يجب إعداد ملف تهيئة الكتلة. يحتوي هذا الملف على المعلومات اللازمة لإنشاء كتلة جديدة. لإنشاء القالب، نفّذ الأمر التالي:
sudo awctl generate-conf-fileسيتم إنشاء ملف جديد. للاطلاع على مزيد من التفاصيل حول كيفية استخدام هذا الملف، يرجى مراجعة صفحة مخطط ملف تهيئة الكتلة.
الحل الشامل المُدمج
لتثبيت جميع الحزم المطلوبة وـ CRDs مباشرةً، استخدم هذا الأمر:
sudo awctl init -f cluster-config.yamlالتثبيت خطوة بخطوة
لإجراء التثبيت خطوة بخطوة، استخدم هذه الأوامر:
- يقتصر هذا على تثبيت حزم Linux المطلوبة مثل containerd وغيرها. ```bash sudo awctl init -f cluster-config.yaml --package-only ```
- يقوم هذا الخيار بتهيئة الكتلة على جميع العقد دون أي SDN أو SDS. ```bash sudo awctl init -f cluster-config.yaml --cluster-only ```
- يقوم هذا الخيار بتثبيت SDN في كتلة Kubernetes الأساسية. ```bash sudo awctl init -f cluster-config.yaml --sdn-only ```
- يقوم هذا الخيار بتثبيت SDS في الكتلة الأساسية. ```bash sudo awctl init -f cluster-config.yaml --sds-only ```
- يُستخدم هذا لتثبيت جميع المكونات الخارجية المطلوبة. ```bash sudo awctl init -f cluster-config.yaml --module-only ```
- سيقوم هذا بتثبيت جميع مكونات Awanio. ```bash sudo awctl install -f cluster-config.yaml ```
تثبيت الواجهة الويب
لإجراء التثبيت عبر الواجهة الويب، نفّذ هذا الأمر:
sudo awctl webui --port 8081ثم افتح صفحة التثبيت على الويب عبر الرابط http://IP-NODE:8081. عدّل معلومات IP-NODE وفقاً لعنوان IP الخادم الذي سيُستخدم للتثبيت.
ضم عقدة جديدة إلى كتلة موجودة
- قم بإنشاء رمز الانضمام في عقدة control-plane الموجودة. ```bash sudo awctl join-token ```
- استخدم الرمز المُنشأ لضم عقدة إلى الكتلة. ```bash sudo awctl join \ --token=xxxxx \ --endpoint=192.168.1.10:3774 \ --role=worker \ --node-ip=192.168.1.11 ```
| المعامل | الوصف | الإلزامية |
| token | الرمز المستخدم للانضمام إلى كتلة موجودة، يتم إنشاؤه عبر الأمر `sudo awctl join-token`. | مطلوب |
| endpoint | نقطة نهاية عقدة الإدارة في الكتلة الموجودة. | مطلوب |
| role | دور العقدة في الكتلة. الخيارات هي: `control-plane-worker`، و`control-plane`، و`worker`. | مطلوب |
| node-ip | عنوان IP لهذه العقدة المستخدم للتواصل مع عقدة الإدارة. | مطلوب |
| exclude-package | استثناء تثبيت حزم نظام التشغيل إذا كانت العقدة الجديدة تمتلك الحزم المطلوبة بالفعل. | مطلوب |
تحديث Awanio
سيقوم الأمر التالي بتحديث مكونات api وcronjob والواجهة الأمامية.
sudo awctl updateالتحقق من الإصدار
للتحقق من الإصدار الحالي، نفّذ:
sudo awctl versionللتحقق من أحدث إصدار، نفّذ:
sudo awctl version --allتحديث ملف awctl الثنائي
نفّذ الأمر التالي لتحديث الملف الثنائي لـ awctl.
sudo awctl self-updateإصلاح مشكلة في الكتلة
نفّذ الأمر التالي لإصلاح مشكلة في الكتلة ناجمة عن إصدار سابق من awctl.
sudo awctl patchعرض عنوان URL للكتلة المنشورة
لعرض عنوان URL للكتلة الموجودة، نفّذ الأمر التالي:
sudo awctl cluster-access -f cluster-config.yamlإلغاء تثبيت مكونات Awanio الموجودة
لإلغاء تثبيت مكونات Awanio فقط في كتلة، نفّذ الأمر التالي:
sudo awctl uninstall -f cluster-config.yamlتدمير كتلة موجودة
لتدمير كتلة موجودة، نفّذ الأمر التالي:
sudo awctl destroy -f cluster-config.yamlمخطط ملف تهيئة الكتلة
ملف تهيئة الكتلة مستوحى من ملف 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الخصائص
| الخاصية | نوع البيانات | الوصف | القيمة الافتراضية |
| apiVersion | string | - | awanio.io/v1alpha1 |
| kind | string | - | ClusterConfig |
| metadata | object | - | - |
| metadata.license | string | - | - |
| metadata.features | string | - | computes,object-storage,kubernetes,support |