亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

kubevirt虛機熱遷移

2023-10-27 06:59:07
236
0

一、應用場景

1:物理機器硬件系統的維護,故障修復和升級(upgrade),但其上的虛擬機不允許關機;

2:物理機器軟件或系統升級、patch,為了不影響虛機業務,在更新之前,把虛擬機遷移到別的物理機器上;

3:一個物理機器上的負載太重,需要減少一些虛擬機來釋放資源。

 

二、熱遷要求

1、kubevirt 需啟用熱遷移 feature gates;

2、kubevirt 增加 vimi crd,添加指定遷移節點的屬性;

3、虛機的系統盤和數據盤都要使用云盤,pvc 需要是 ReadWriteMany 模式;

4、虛機 virt-launcher 的默認 pod 網絡,需要保留給熱遷移的數據流量使用,因此不能把虛機的網卡橋接到 pod 網絡,需通過 multus-cni 為集群添加一個附加 cni 網絡,把這個網絡提供作為虛機的業務網絡,即把虛機的網絡和網卡都配置為此附加網絡;

5、端口 49152, 49153 需要保留給 virt-launcher pod 中可用,虛機配置中不能引用此端口;

6、虛機如果配置了直通主機設備,比如 pci 設備(GPU、NVME盤等)透傳,或網卡直通 PF、VF 等,則不支持遷移;

7、虛機的調度不能使用 nodeSelector,與熱遷移的檢查會沖突導致無法遷移;

8、宿主機間的 CPU 型號需保持一致,可修改虛機的 cpu.model 為以下三種模式:

host-passthrough,host-model(虛機會自動使用與宿主機盡可能相近的 cpu 類型),kvm64

三種 mode 的熱遷移通用性是: custom(kvm64) > host-model > host-passthrough

三種 mode 的性能排序是:host-passthrough > host-model > custom(kvm64)

9、kube-ovn 允許配置虛擬機默認路由。

 

三、創建附加網絡

每個 namespace 需要創建一個附加網絡,可以在創建 namespace 流程中同時創建附加網絡;

apiVersion: k8s.cni.cncf.io/v1
kind: NetworkAttachmentDefinition
metadata:
  name: vm-attach
  namespace: ns01
spec:
  config: >-
    {"cniVersion": "0.3.0", "type": "kube-ovn", "server_socket":
    "/run/openvswitch/kube-ovn-daemon.sock", "provider":
    "vm-attach.ns01.ovn"}

創建完成后可通過 kubectl get network-attachment-definitions -A 檢查。

 

四、虛機配置修改

如下添加,附加網絡的名字、以及 namespace 需要對應前面已創建的名字。

annotations:
  ovn.kubernetes.io/logical_switch: monitor
  ovn.kubernetes.io/default_route: 'false'
  vm-attach.ns01.ovn.kubernetes.io/allow_live_migration: 'true'
  vm-attach.ns01.ovn.kubernetes.io/default_route: 'true'
  vm-attach.ns01.ovn.kubernetes.io/ip_address: 172.16.0.100
  vm-attach.ns01.ovn.kubernetes.io/logical_switch: sn-10011711-530327087576252416
  vm-attach.ns01.ovn.kubernetes.io/mac_address: '00:00:00:28:28:40'
 
networks:
  - name: vm-attach
    multus:
      networkName: ns01/vm-attach
 
    interfaces:
      - bridge: {}
        name: vm-attach

 

五、執行熱遷移

創建 VirtualMachineInstanceMigration (VMIM) 對象,發起遷移。

apiVersion: kubevirt.io/v1
kind: VirtualMachineInstanceMigration
metadata:
  annotations:
    kubevirt.io/latest-observed-api-version: v1
    kubevirt.io/storage-observed-api-version: v1alpha3
  name: kubevirt-migrate-vm-01
  namespace: default
spec:
  vmiName: vm-01
  targetNode: node1

遷移過程,就是在保持原有虛機 launcher pod 正常運行情況下,同時在其他 node 節點啟動一個新的虛機 pod,成功后再刪除舊 pod,成功地將虛擬機內存頁和 pvc 掛載復制到新 node 上。

 

0條評論
作者已關閉評論
ldy
2文章數
0粉絲數
ldy
2 文章 | 0 粉絲
ldy
2文章數
0粉絲數
ldy
2 文章 | 0 粉絲
原創

kubevirt虛機熱遷移

2023-10-27 06:59:07
236
0

一、應用場景

1:物理機器硬件系統的維護,故障修復和升級(upgrade),但其上的虛擬機不允許關機;

2:物理機器軟件或系統升級、patch,為了不影響虛機業務,在更新之前,把虛擬機遷移到別的物理機器上;

3:一個物理機器上的負載太重,需要減少一些虛擬機來釋放資源。

 

二、熱遷要求

1、kubevirt 需啟用熱遷移 feature gates;

2、kubevirt 增加 vimi crd,添加指定遷移節點的屬性;

3、虛機的系統盤和數據盤都要使用云盤,pvc 需要是 ReadWriteMany 模式;

4、虛機 virt-launcher 的默認 pod 網絡,需要保留給熱遷移的數據流量使用,因此不能把虛機的網卡橋接到 pod 網絡,需通過 multus-cni 為集群添加一個附加 cni 網絡,把這個網絡提供作為虛機的業務網絡,即把虛機的網絡和網卡都配置為此附加網絡;

5、端口 49152, 49153 需要保留給 virt-launcher pod 中可用,虛機配置中不能引用此端口;

6、虛機如果配置了直通主機設備,比如 pci 設備(GPU、NVME盤等)透傳,或網卡直通 PF、VF 等,則不支持遷移;

7、虛機的調度不能使用 nodeSelector,與熱遷移的檢查會沖突導致無法遷移;

8、宿主機間的 CPU 型號需保持一致,可修改虛機的 cpu.model 為以下三種模式:

host-passthrough,host-model(虛機會自動使用與宿主機盡可能相近的 cpu 類型),kvm64

三種 mode 的熱遷移通用性是: custom(kvm64) > host-model > host-passthrough

三種 mode 的性能排序是:host-passthrough > host-model > custom(kvm64)

9、kube-ovn 允許配置虛擬機默認路由。

 

三、創建附加網絡

每個 namespace 需要創建一個附加網絡,可以在創建 namespace 流程中同時創建附加網絡;

apiVersion: k8s.cni.cncf.io/v1
kind: NetworkAttachmentDefinition
metadata:
  name: vm-attach
  namespace: ns01
spec:
  config: >-
    {"cniVersion": "0.3.0", "type": "kube-ovn", "server_socket":
    "/run/openvswitch/kube-ovn-daemon.sock", "provider":
    "vm-attach.ns01.ovn"}

創建完成后可通過 kubectl get network-attachment-definitions -A 檢查。

 

四、虛機配置修改

如下添加,附加網絡的名字、以及 namespace 需要對應前面已創建的名字。

annotations:
  ovn.kubernetes.io/logical_switch: monitor
  ovn.kubernetes.io/default_route: 'false'
  vm-attach.ns01.ovn.kubernetes.io/allow_live_migration: 'true'
  vm-attach.ns01.ovn.kubernetes.io/default_route: 'true'
  vm-attach.ns01.ovn.kubernetes.io/ip_address: 172.16.0.100
  vm-attach.ns01.ovn.kubernetes.io/logical_switch: sn-10011711-530327087576252416
  vm-attach.ns01.ovn.kubernetes.io/mac_address: '00:00:00:28:28:40'
 
networks:
  - name: vm-attach
    multus:
      networkName: ns01/vm-attach
 
    interfaces:
      - bridge: {}
        name: vm-attach

 

五、執行熱遷移

創建 VirtualMachineInstanceMigration (VMIM) 對象,發起遷移。

apiVersion: kubevirt.io/v1
kind: VirtualMachineInstanceMigration
metadata:
  annotations:
    kubevirt.io/latest-observed-api-version: v1
    kubevirt.io/storage-observed-api-version: v1alpha3
  name: kubevirt-migrate-vm-01
  namespace: default
spec:
  vmiName: vm-01
  targetNode: node1

遷移過程,就是在保持原有虛機 launcher pod 正常運行情況下,同時在其他 node 節點啟動一個新的虛機 pod,成功后再刪除舊 pod,成功地將虛擬機內存頁和 pvc 掛載復制到新 node 上。

 

文章來自個人專欄
文章 | 訂閱
0條評論
作者已關閉評論
作者已關閉評論
0
0