kubevirtVirtualMachineInstanceReplicaSet(vmis)-擴縮容-彈性伸縮

      網友投稿 804 2022-05-29

      @[TOC](文章目錄)

      ## 概述/理解

      VirtualMachineInstanceReplicaSet(vmis)確保指定數量的 VirtualMachineInstance(vmi) 副本在任何時候都在運行。

      我們可以這樣理解,vmis就是kubernetes(k8s)里面的控制器(DeployMent,ReplicaSet)管理我們pod的副本數,實現擴縮容、回滾等。也可以借助HorizontalPodAutoscaler(hpa)實現彈性伸縮。這里我們就說vmis控制器,在這里的vmis控制器,管理我們vmi虛擬機實例的副本數,也可以實現擴縮容,借助hpa實現彈性伸縮。所有我們的yaml文件寫法原理都類似。

      ## 使用場景

      當需要許多相同的虛擬機,并且不關心在虛擬機終止后任何磁盤狀態時。


      ## 創建vmis

      1. 編寫vmis的yaml文件

      ```bash

      [root@master vm]# cat vmis.yaml

      apiVersion: kubevirt.io/v1alpha3

      kind: VirtualMachineInstanceReplicaSet

      metadata:

      name: testreplicaset

      spec:

      replicas: 2

      selector:

      matchLabels:

      myvmi: myvmi ?# 保持一致,選擇

      template:

      metadata:

      labels:

      myvmi: myvmi # 保持一致,匹配

      spec:

      domain:

      devices:

      disks:

      - name: containerdisk

      disk:

      bus: virtio

      resources:

      requests:

      memory: 1024M

      volumes:

      - name: containerdisk

      containerDisk:

      image: centos7

      imagePullPolicy: IfNotPresent

      ```

      2. 使用kubectl命令創建vmis

      ```bash

      [root@master vm]# kubectl apply -f vmis.yaml

      virtualmachineinstancereplicaset.kubevirt.io/testreplicaset created

      ```

      3. 查看運行狀態

      ```bash

      [root@master vm]# kubectl get vmis

      NAME ? ? ? ? ? ? ? ? ?AGE ? PHASE ? ? ? ?IP ? ? ? ? ? ? NODENAME ? READY

      testreplicaset6vm9s ? 42s ? Running ? ? ?10.244.0.139 ? master ? ? False

      testreplicaset8dshm ? 22s ? Scheduling ? ? ? ? ? ? ? ? ? ? ? ? ? ? False

      testreplicasetbqxnb ? 22s ? Scheduling ? ? ? ? ? ? ? ? ? ? ? ? ? ? False

      [root@master vm]# kubectl get vmis

      NAME ? ? ? ? ? ? ? ? ?AGE ? PHASE ? ? IP ? ? ? ? ? ? NODENAME ? READY

      testreplicaset8dshm ? 46s ? Running ? 10.244.0.141 ? master ? ? False

      testreplicasetbqxnb ? 46s ? Running ? 10.244.0.140 ? master ? ? False

      [root@master vm]# kubectl get pod

      NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?READY ? STATUS ? ?RESTARTS ? AGE

      virt-launcher-testreplicaset8dshm-nz7x2 ? 2/2 ? ? Running ? 0 ? ? ? ? ?69s

      virt-launcher-testreplicasetbqxnb-ljp2f ? 2/2 ? ? Running ? 0 ? ? ? ? ?70s

      ```

      4. describe 查看詳細信息

      ```bash

      [root@master vm]# kubectl describe vmirs testreplicaset

      Name: ? ? ? ? testreplicaset

      Namespace: ? ?default

      Labels: ? ? ?

      Annotations: ?kubevirt.io/latest-observed-api-version: v1

      kubevirt.io/storage-observed-api-version: v1alpha3

      API Version: ?kubevirt.io/v1

      Kind: ? ? ? ? VirtualMachineInstanceReplicaSet

      Metadata:

      Creation Timestamp: ?2022-05-02T13:50:05Z

      Generation: ? ? ? ? ?2

      Managed Fields:

      API Version: ?kubevirt.io/v1alpha3

      Fields Type: ?FieldsV1

      fieldsV1:

      f:metadata:

      f:annotations:

      f:kubevirt.io/latest-observed-api-version:

      f:kubevirt.io/storage-observed-api-version:

      f:spec:

      f:template:

      f:metadata:

      f:creationTimestamp:

      f:status:

      .:

      f:labelSelector:

      f:replicas:

      Manager: ? ? ?Go-http-client

      Operation: ? ?Update

      Time: ? ? ? ? 2022-05-02T13:50:05Z

      API Version: ?kubevirt.io/v1alpha3

      Fields Type: ?FieldsV1

      fieldsV1:

      f:metadata:

      f:annotations:

      ...

      ...

      .:

      f:memory:

      f:volumes:

      Manager: ? ? ? ? kubectl

      Operation: ? ? ? Update

      Time: ? ? ? ? ? ?2022-05-02T13:50:05Z

      Resource Version: ?267261

      Self Link: ? ? ? ? /apis/kubevirt.io/v1/namespaces/default/virtualmachineinstancereplicasets/testreplicaset

      UID: ? ? ? ? ? ? ? 96d17d12-17b5-4df7-940a-fac7c6b820d2

      Spec:

      【kubevirt】VirtualMachineInstanceReplicaSet(vmis)-擴縮容-彈性伸縮

      Replicas: ?2

      Selector:

      Match Labels:

      Myvmi: ?myvmi

      Template:

      Metadata:

      Creation Timestamp: ?

      Labels:

      Myvmi: ?myvmi

      Spec:

      Domain:

      Devices:

      Disks:

      Disk:

      Bus: ?virtio

      Name: ? containerdisk

      Resources:

      Requests:

      Memory: ?1024M

      Volumes:

      Container Disk:

      Image: ? ? ? ? ? ? ?kubevirt/cirros-container-disk-demo

      Image Pull Policy: ?IfNotPresent

      Name: ? ? ? ? ? ? ? ? containerdisk

      Status:

      Label Selector: ?myvmi=myvmi

      Replicas: ? ? ? ?2

      Events:

      Type ? ?Reason ? ? ? ? ? ?Age ? ?From ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Message

      ---- ? ?------ ? ? ? ? ? ?---- ? ---- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -------

      Normal ?SuccessfulCreate ?5m21s ?virtualmachinereplicaset-controller ?Started the virtual machine by creating the new virtual machine instance testreplicaseth6zsl

      Normal ?SuccessfulCreate ?5m21s ?virtualmachinereplicaset-controller ?Started the virtual machine by creating the new virtual machine instance testreplicasetw75s4

      ```

      ### 擴縮容

      1. 查看vmis

      ```bash

      [root@master vm]# kubectl get -f vmis.yaml

      NAME ? ? ? ? ? ? DESIRED ? CURRENT ? READY ? AGE

      testreplicaset ? 3 ? ? ? ? 3 ? ? ? ? ? ? ? ? 2m52s

      ```

      2. 使用scale命令,設置副本數為5

      ```bash

      [root@master vm]# kubectl scale vmirs testreplicaset --replicas 5

      virtualmachineinstancereplicaset.kubevirt.io/testreplicaset scaled

      ```

      3. 查看效果

      ```bash

      [root@master vm]# kubectl get vmis

      NAME ? ? ? ? ? ? ? ? ?AGE ? ? PHASE ? ? IP ? ? ? ? ? ? NODENAME ? READY

      testreplicaset98x8d ? 5m29s ? Running ? 10.244.0.146 ? master ? ? False

      testreplicasetddqc9 ? 2m24s ? Running ? 10.244.0.148 ? master ? ? False

      testreplicasetdss8l ? 5m29s ? Running ? 10.244.0.144 ? master ? ? False

      testreplicasetmhm6x ? 5m29s ? Running ? 10.244.0.145 ? master ? ? False

      testreplicasetv4dzs ? 2m24s ? Running ? 10.244.0.147 ? master ? ? False

      [root@master vm]# kubectl get pod

      NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?READY ? STATUS ? ?RESTARTS ? AGE

      virt-launcher-testreplicaset98x8d-5p99p ? 2/2 ? ? Running ? 0 ? ? ? ? ?3m15s

      virt-launcher-testreplicasetddqc9-6c2m4 ? 2/2 ? ? Running ? 0 ? ? ? ? ?10s

      virt-launcher-testreplicasetdss8l-9mv56 ? 2/2 ? ? Running ? 0 ? ? ? ? ?3m15s

      virt-launcher-testreplicasetmhm6x-r76wt ? 2/2 ? ? Running ? 0 ? ? ? ? ?3m15s

      virt-launcher-testreplicasetv4dzs-bm4s8 ? 2/2 ? ? Running ? 0 ? ? ? ? ?10s

      ```

      ### 彈性伸縮

      #### 方法1

      1. 使用Horizo ntal Pod Autoscaler(hpa),創建yaml文件

      ```bash

      [root@master vm]# cat vmis-hpa.yaml

      apiVersion: autoscaling/v1

      kind: HorizontalPodAutoscaler

      metadata:

      creationTimestamp: null

      name: testreplicaset

      spec:

      maxReplicas: 5

      minReplicas: 2

      scaleTargetRef:

      apiVersion: kubevirt.io/v1

      kind: VirtualMachineInstanceReplicaSet

      name: testreplicaset

      ```

      2. 創建vmis-hpa

      ```bash

      [root@master vm]# kubectl apply -f vmis-hpa.yaml

      horizontalpodautoscaler.autoscaling/testreplicaset created

      ```

      3. 查看狀態

      ```bash

      [root@master vm]# kubectl get hpa

      NAME ? ? ? ? ? ? REFERENCE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TARGETS ? ? ? ? MINPODS ? MAXPODS ? REPLICAS ? AGE

      testreplicaset ? VirtualMachineInstanceReplicaSet/testreplicaset ? /80% ? 2 ? ? ? ? 5 ? ? ? ? 0 ? ? ? ? ?7s

      ```

      #### 方法2

      1. 使用`kubectl autoscale`命令

      ```bash

      [root@master vm]# kubectl autoscale vmirs testreplicaset --min=2 --max=5

      ```

      Kubernetes Linux 容器 彈性伸縮 AS

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:JAVA流程控制語句
      下一篇:兩個程序員老友的會面
      相關文章
      亚洲综合av永久无码精品一区二区| 亚洲一区综合在线播放| 久久亚洲综合色一区二区三区| 亚洲国产成人久久综合碰| 亚洲综合小说另类图片动图| 亚洲图片激情小说| 亚洲国产精品久久久久久| 久久综合日韩亚洲精品色| 77777亚洲午夜久久多人| 国产亚洲精品自在线观看| 最新精品亚洲成a人在线观看| 亚洲一区二区三区在线视频| 亚洲精品一级无码鲁丝片| 国产啪亚洲国产精品无码| 亚洲最大激情中文字幕| 在线观看午夜亚洲一区| 亚洲AV综合色区无码一区爱AV| 亚洲国产精品一区二区第一页| 亚洲VA中文字幕无码毛片| 亚洲成熟xxxxx电影| 亚洲美女视频一区二区三区| 亚洲明星合成图综合区在线| 亚洲国产成人精品电影| 亚洲成a人片在线观看精品| 亚洲一区二区观看播放| 亚洲1区2区3区精华液| 亚洲国产av一区二区三区| 在线观看亚洲av每日更新 | 亚洲va无码专区国产乱码| 亚洲AV无码久久寂寞少妇| 久久精品国产亚洲AV嫖农村妇女 | 亚洲av日韩aⅴ无码色老头| 亚洲国产V高清在线观看| 国产亚洲精品精品国产亚洲综合| 国产亚洲精AA在线观看SEE| 日韩精品亚洲人成在线观看| 亚洲国色天香视频| 亚洲最大的黄色网| 国产成人综合亚洲| 亚洲精品午夜国产VA久久成人| 亚洲av午夜福利精品一区|