تخطَّ إلى المحتوى

Project 1: Static Nginx Site

تشغيل موقع static بسيط باستخدام Nginx، مع Deployment بثلاث نسخ، Service داخلي، resources، وport-forward للاختبار المحلي.

  • Deployment باسم static-site.
  • Service باسم static-site.
  • replicas: 3.
  • readinessProbe.
  • resources.requests و resources.limits.

static-site.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
name: static-site
labels:
app: static-site
spec:
replicas: 3
selector:
matchLabels:
app: static-site
template:
metadata:
labels:
app: static-site
spec:
containers:
- name: nginx
image: nginx:1.27
ports:
- name: http
containerPort: 80
readinessProbe:
httpGet:
path: /
port: http
resources:
requests:
cpu: "100m"
memory: "128Mi"
limits:
cpu: "500m"
memory: "256Mi"
---
apiVersion: v1
kind: Service
metadata:
name: static-site
labels:
app: static-site
spec:
type: ClusterIP
selector:
app: static-site
ports:
- name: http
port: 80
targetPort: http

Lab: تشغيل موقع Nginx

المستوى: مبتدئ الوقت: 30 دقيقة الأدوات: kubectl

الهدف: تطبيق manifest واختبار الموقع محليا.

Terminal window
kubectl apply -f static-site.yaml
kubectl rollout status deployment/static-site
kubectl get deploy,pods,svc -l app=static-site
kubectl port-forward svc/static-site 8080:80

افتح:

http://127.0.0.1:8080
deployment "static-site" successfully rolled out
NAME READY STATUS
pod/static-site-... 1/1 Running
Terminal window
kubectl delete -f static-site.yaml
  • كل Pods بحالة Running.
  • Service يملك endpoints.
  • الموقع يفتح من port-forward.
  • تستطيع شرح لماذا لم نستخدم Pod مباشر.