KubeVirt — 安装KubeVirt及启动VM


kubernetes version: v1.18.8

kubevirt version: v0.35.0

安装KubeVirt

  • 验证硬件是否支持虚拟化

    $ virt-host-validate qemu
      QEMU: Checking for hardware virtualization                                 : PASS
      QEMU: Checking if device /dev/kvm exists                                   : PASS
      QEMU: Checking if device /dev/kvm is accessible                            : PASS
      QEMU: Checking if device /dev/vhost-net exists                             : PASS
      QEMU: Checking if device /dev/net/tun exists                               : PASS
    
  • 安装KubeVirt

    # Pick an upstream version of KubeVirt to install
    $ export RELEASE=v0.35.0
    # Deploy the KubeVirt operator
    $ kubectl apply -f https://github.com/kubevirt/kubevirt/releases/download/${RELEASE}/kubevirt-operator.yaml
    # Create the KubeVirt CR (instance deployment request) which triggers the actual installation
    $ kubectl apply -f https://github.com/kubevirt/kubevirt/releases/download/${RELEASE}/kubevirt-cr.yaml
    # wait until all KubeVirt components are up
    $ kubectl -n kubevirt wait kv kubevirt --for condition=Available
    

    如果硬件不支持虚拟化,可以通过以下方法开启软件仿真:

    • 编辑kubevirt配置
    $ kubectl edit -n kubevirt kubevirt kubevirt
    
    • 添加以下内容:
    spec:
      ...
      configuration:
        developerConfiguration:
          useEmulation: true
    
  • 查看kubevirt组件

    $ kubectl get pod -n kubevirt

    NAME                               READY   STATUS    RESTARTS   AGE
    virt-api-64999f7bf5-85dgb          1/1     Running   0          1m
    virt-api-64999f7bf5-vh98w          1/1     Running   0          1m
    virt-controller-8696ccdf44-8rrqs   1/1     Running   0          1m
    virt-controller-8696ccdf44-qq7tb   1/1     Running   0          1m
    virt-handler-dv2zb                 1/1     Running   0          1m
    virt-handler-hz9k8                 1/1     Running   0          1m
    virt-handler-zlnzs                 1/1     Running   0          1m
    virt-operator-78fbcdfdf4-jlv58     1/1     Running   0          1m
    virt-operator-78fbcdfdf4-rbkww     1/1     Running   0          1m
    

启动虚拟机

  • 部署VirtualMachineInstance

    kubectl apply -f vmi.yaml

    # $ cat vmi.yaml
    apiVersion: kubevirt.io/v1alpha3
    kind: VirtualMachineInstance
    metadata:
      name: testvmi-nocloud
    spec:
      terminationGracePeriodSeconds: 30
      domain:
        resources:
          requests:
            memory: 1024M
        devices:
          disks:
          - name: containerdisk
            disk:
              bus: virtio
          - name: emptydisk
            disk:
              bus: virtio
          - disk:
              bus: virtio
            name: cloudinitdisk
      volumes:
      - name: containerdisk
        containerDisk:
          image: kubevirt/fedora-cloud-container-disk-demo:latest
      - name: emptydisk
        emptyDisk:
          capacity: "2Gi"
      - name: cloudinitdisk
        cloudInitNoCloud:
          userData: |-
            #cloud-config
            password: fedora
            chpasswd: {
          
           expire: False }
    
  • kubectl get pod

    NAME                                      READY   STATUS    RESTARTS   AGE
    virt-launcher-testvmi-nocloud-2gg8h       2/2     Running   0          5m
    
  • kubectl get vmi

    NAME              AGE   PHASE     IP               NODENAME
    testvmi-nocloud   19h   Running   172.16.154.205   k8s-node-01
    
  • 通过console访问vmi
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45804031/article/details/124783723
今日推荐