玩转k8s:k8s实践

1、创建一个自定义的命名空间dev:

kubectl create ns dev

2、在dev命名空间下通过yaml文件部署一个deployment,deploy内容如下:
a、使用nginx镜像;
b、副本数为3;
c、升级策略为滚动升级;
d、配置就绪探针、存活探针;
e、设置数据持久化方式为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、修改nginx首页;

3、通过外部访问k8s的首页;

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、对创建好的deploy进行扩缩容、重启、更换镜像版本、版本回退;

扩容:

kubectl scale deploy pc-deployment --replicas=5  -n dev

缩容:

kubectl edit deploy pc-deployment -n dev
kubectl get deploy pc-deployment -n dev

重启:

kubectl rollout restart deployment pc-deployment -n dev

更换镜像版本:

kubectl set image deployment pc-deployment nginx=nginx:1.17.2 -n dev

版本回退:

kubectl rollout undo deployment pc-deployment --to-revision=1 -n dev

猜你喜欢

转载自blog.csdn.net/duansamve/article/details/129759671
k8s