k8s で遊ぶ: k8s の練習

1. カスタム名前空間 dev を作成します。

kubectl create ns dev

2. dev 名前空間の yaml ファイルを介してデプロイメントをデプロイします。デプロイメントの内容は次のとおりです:
a. nginx ミラーを使用します。
b. コピーの数は 3 です。
c. アップグレード戦略はローリング アップグレードです。
d. readiness プローブを構成します。
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. 作成した展開を展開および縮小し、再起動し、イメージのバージョンを変更し、バージョンをロールバックします。

拡大:

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