Jugando con k8: práctica de k8

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

Supongo que te gusta

Origin blog.csdn.net/duansamve/article/details/129759671
Recomendado
Clasificación