0%
أوامر Azure CLI للحاويات و Kubernetes

أوامر Azure CLI للحاويات و Kubernetes

تعرّف على أوامر Azure CLI لإدارة الحاويات و Kubernetes على Azure.

I

InSkillCoach

· دقيقة

أوامر Azure CLI للحاويات و Kubernetes

تعرّف على الأوامر الأساسية لإدارة الحاويات و Kubernetes على Azure.

Azure Container Registry (ACR)

الإنشاء والإعداد

# Créer un registre de conteneurs
az acr create \
    --resource-group mon-groupe \
    --name monregistre \
    --sku Basic \
    --admin-enabled true

# Se connecter au registre
az acr login --name monregistre

# Créer un secret pour AKS
az acr credential show --name monregistre

إدارة الصور

# Tagger une image
docker tag mon-app:latest monregistre.azurecr.io/mon-app:latest

# Pousser une image
docker push monregistre.azurecr.io/mon-app:latest

# Lister les images
az acr repository list --name monregistre

# Supprimer une image
az acr repository delete \
    --name monregistre \
    --image mon-app:latest

Azure Kubernetes Service (AKS)

إنشاء عنقود

# Créer un cluster AKS
az aks create \
    --resource-group mon-groupe \
    --name mon-cluster \
    --node-count 2 \
    --generate-ssh-keys \
    --attach-acr monregistre

# Obtenir les credentials
az aks get-credentials \
    --resource-group mon-groupe \
    --name mon-cluster

إدارة العنقود

# Mettre à l'échelle le cluster
az aks scale \
    --resource-group mon-groupe \
    --name mon-cluster \
    --node-count 3

# Mettre à jour le cluster
az aks upgrade \
    --resource-group mon-groupe \
    --name mon-cluster \
    --kubernetes-version 1.24.0

# Vérifier le statut
az aks show \
    --resource-group mon-groupe \
    --name mon-cluster

إدارة تطبيقات Kubernetes

نشر تطبيق

# Créer un déploiement
kubectl create deployment mon-app \
    --image=monregistre.azurecr.io/mon-app:latest \
    --replicas=3

# Exposer le service
kubectl expose deployment mon-app \
    --type=LoadBalancer \
    --port=80

# Vérifier le statut
kubectl get deployments
kubectl get pods
kubectl get services

إدارة الموارد

# Créer un namespace
kubectl create namespace mon-namespace

# Créer un secret
kubectl create secret generic mon-secret \
    --from-literal=username=admin \
    --from-literal=password=secret \
    --namespace mon-namespace

# Créer un configmap
kubectl create configmap mon-config \
    --from-literal=APP_ENV=production \
    --namespace mon-namespace

Azure Container Apps

إنشاء تطبيق في حاوية

# Créer un environnement
az containerapp env create \
    --name mon-env \
    --resource-group mon-groupe \
    --location westeurope

# Créer une application
az containerapp create \
    --name mon-app \
    --resource-group mon-groupe \
    --environment mon-env \
    --image monregistre.azurecr.io/mon-app:latest \
    --target-port 80 \
    --ingress external

إدارة التطبيقات

# Mettre à l'échelle
az containerapp replica scale \
    --name mon-app \
    --resource-group mon-groupe \
    --replicas 5

# Mettre à jour l'application
az containerapp update \
    --name mon-app \
    --resource-group mon-groupe \
    --image monregistre.azurecr.io/mon-app:v2

أفضل الممارسات

  1. الأمان

    • استخدام الأسرار (secrets)
    • فحص الصور
    • تقييد الوصول
    • التحديث بانتظام
  2. الأداء

    • تحسين الصور
    • ضبط الموارد
    • استخدام التخزين المؤقت
    • مراقبة المقاييس
  3. التكاليف

    • تنظيف الصور
    • تحسين العناقيد
    • استخدام الحجوزات
    • مراقبة الاستخدام

الخاتمة

النقاط الرئيسية التي ينبغي تذكّرها:

  • إدارة الحاويات
  • تنسيق الحاويات باستخدام Kubernetes
  • التطبيقات المعبّأة في حاويات
  • أفضل الممارسات

التوصيات:

  • ابدأ بـ ACR
  • تعلّم Kubernetes
  • أتمتة عمليات النشر
  • اتبع أفضل الممارسات
  • تدرّب عبر Microsoft Learn
InSkillCoach

نبذة عن InSkillCoach

خبير في التدريب والتقنيات

مدرّب متخصص في التقنيات المتقدمة والذكاء الاصطناعي، تدعمه شركة GNeurone Inc.

الشهادات:

  • AWS Certified Solutions Architect – Professional
  • شهادات Google Cloud
  • Microsoft Certified: DevOps Engineer Expert
  • Certified Kubernetes Administrator (CKA)
  • CompTIA Security+
1.6k
266

التعليقات

التعليقات مدعومة عبر GitHub Discussions

سجّل الدخول باستخدام GitHub للمشاركة في النقاش

تم نسخ الرابط!