إنشاء ملفات تعريف YAML لـ Kubernetes لعمليات النشر والخدمات و ConfigMaps وقواعد الدخول و HPAs.
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
namespace: default
labels:
app: my-app
spec:
replicas: 2
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: myapp:latest
ports:
- containerPort: 3000
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi
env:
- name: NODE_ENV
value: "production"
livenessProbe:
httpGet:
path: /healthz
port: 3000
initialDelaySeconds: 15
periodSeconds: 20
readinessProbe:
httpGet:
path: /ready
port: 3000
initialDelaySeconds: 5
periodSeconds: 10تُعرَّف موارد Kubernetes كملفات YAML ويتم تطبيقها باستخدام الأمر <code>kubectl apply -f</code>. يدير Deployment مجموعة من وحدات Pod المتماثلة. تعرض الخدمة هذه الوحدات على عنوان IP ثابت أو اسم DNS. يخزن ConfigMap بيانات التكوين غير السرية. يوجه Ingress حركة مرور HTTP الخارجية إلى الخدمات الداخلية. يقوم HPA تلقائيًا بتوسيع نطاق نسخ Deployment بناءً على استخدام وحدة المعالجة المركزية أو الذاكرة.
اختر نوع المورد من علامات التبويب في الأعلى. املأ الحقول الخاصة بهذا المورد، ثم انسخ ملف YAML المُنشأ. استخدم علامة تبويب "جميع الموارد" لإنشاء جميع البيانات الوصفية الخمسة دفعة واحدة كملف YAML واحد متعدد المستندات مفصول بعلامات <code>---</code>.
تحدد طلبات الموارد الحد الأدنى من وحدة المعالجة المركزية والذاكرة التي يحتاجها الحاوية للجدولة. وتحدد الحدود الحد الأقصى لما يمكن أن تستهلكه الحاوية. يُعدّ تحديد الطلبات بدون حدود النمط الأكثر شيوعًا في بيئات الإنتاج، حيث يضمن هامشًا كافيًا للجدولة مع السماح بالتوسع المفاجئ. يتطلب نظام إدارة الأداء العالي (HPA) تثبيت خادم المقاييس في المجموعة. تتطلب قواعد الدخول وحدة تحكم دخول مثل nginx-ingress أو Traefik.