פריסת האפליקציה הראשונה שלך
1. מבוא לפריסת יישומים ב-Kubernetes
Kubernetes מפשט את הפריסה, ההרחבה והניהול של יישומים מרוכבים. מדריך זה ידריך אותך בפריסת האפליקציה הראשונה שלך.
2. מיכלול האפליקציה שלך
יסודות מיכלול: מיכלים מארזים יישום ואת התלות שלו יחד. הם מבטיחים שהיישום פועל בצורה חלקה בכל סביבה.
יצירת תמונת Docker:
- התקן את Docker.
- צור
Dockerfileשמפרט את התמונה הבסיסית ואת השלבים לבניית האפליקציה שלך. דוגמה לאפליקציית Node.js פשוטה:
FROM node:14
WORKDIR /app
COPY . .
RUN npm install
CMD ["node", "app.js"]
- בנה את תמונת Docker:
docker build -t my-node-app . - העלה את התמונה לרישום מיכלים (כמו Docker Hub).
3. כתיבת קובץ YAML לפריסה
הבנת אובייקט הפריסה: פריסה מנהלת קבוצה של Pods זהים. זה מבטיח שהם מתעדכנים ומוסדרים.
יצירת קובץ ה-YAML:
deployment.yamlלדוגמה לאפליקציית Node.js:apiVersion: apps/v1
kind: Deployment
metadata:
name: my-node-app
spec:
replicas: 2
selector:
matchLabels:
app: my-node-app
template:
metadata:
labels:
app: my-node-app
spec:
containers:
- name: my-node-app
image: [Your Docker Hub username]/my-node-app
ports:
- containerPort: 80
4. פריסת היישום
שימוש ב-kubectl:
- החל את הפריסה:
kubectl apply -f deployment.yaml. - וודא את הפריסה:
kubectl get deployments.
5. גישה לאפליקציה
חשיפת האפליקציה:
- צור שירות כדי לחשוף את האפליקציה.
service.yamlלדוגמה:apiVersion: v1
kind: Service
metadata:
name: my-node-app-service
spec:
type: NodePort
selector:
app: my-node-app
ports:
- protocol: TCP
port: 80
nodePort: 30007- החל את השירות:
kubectl apply -f service.yaml.
סוגי שירותים:
- ClusterIP: ברירת מחדל, תקשורת פנימית.
- NodePort: חושף את האפליקציה מחוץ ל-cluster על ידי הוספת פורט בכל צומת.
- LoadBalancer: משתלב עם מאזני עומס מבוססי ענן.