1. Cree un desarrollador de espacio de nombres personalizado:
kubectl create ns dev
2. Implemente una implementación a través del archivo yaml en el espacio de nombres dev. El contenido de la implementación es el siguiente:
a. Use nginx mirror;
b. El número de copias es 3;
c. La estrategia de actualización es la actualización continua;
d. Configure la sonda de preparación y sonda de supervivencia,
e. Establecer el método de persistencia de datos en HostPath;
nginxpod.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: pc-deployment
namespace: dev
labels:
app: nginx
spec:
replicas: 3
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.19.1
imagePullPolicy: IfNotPresent
ports:
- name: http
protocol: TCP
containerPort: 80
livenessProbe:
tcpSocket:
port: 80
initialDelaySeconds: 45
periodSeconds: 15
readinessProbe:
failureThreshold: 3
tcpSocket:
port: 80
initialDelaySeconds: 20
periodSeconds: 3
successThreshold: 1
timeoutSeconds: 2
resources:
limits:
cpu: "1.0"
memory: 512Mi
requests:
cpu: "0.5"
memory: 128Mi
volumeMounts:
- mountPath: /usr/share/nginx/html
name: html
volumes:
- name: html
hostPath:
path: /html
type: DirectoryOrCreate
kubectl create -f nginxpod.yaml
kubectl get pod -A
F. Modificar la página de inicio de nginx;
3. Acceda a la página de inicio de k8s a través de acceso externo;
kubectl expose deploy pc-deployment --name=svc-nginx --type=NodePort --port=80 --target-port=80 -n dev
kubectl get svc svc-nginx -n dev -o wide
4. Expanda y reduzca la implementación creada, reiníciela, cambie la versión de la imagen y revierta la versión;
Expansión:
kubectl scale deploy pc-deployment --replicas=5 -n dev
Encoger:
kubectl edit deploy pc-deployment -n dev
kubectl get deploy pc-deployment -n dev
Reanudar:
kubectl rollout restart deployment pc-deployment -n dev
Cambiar versión de la imagen:
kubectl set image deployment pc-deployment nginx=nginx:1.17.2 -n dev
Reversión de versión:
kubectl rollout undo deployment pc-deployment --to-revision=1 -n dev