• 部署kubevirt教程


    前提条件

    已安装:kubernetes集群、kubectl、docker
    apt install -y qemu-kvm libvirt virt-install bridge-utils 【所有节点全部安装】

    virt-host-validate qemu
    
    • 1

    部署kubevirt

    下载kubevirt-cr.yaml和kubevirt-operator.yaml
    先执行:

    Kubectl apply -f kubevirt-operator.yaml
    
    • 1

    在执行

    Kubectl apply -f kubevirt-cr.yaml
    
    • 1

    查看是否部署成功

    Kubectl get pods -A
    
    • 1

    安装virtctl,virtctl是kubevirt一个命令行工具
    Github上搜索,进行下载【下载最新版本】:

    cp -p virtctl-v0.58.0-linux-amd64 /usr/bin/virtctl
    chmod +x /usr/bin/virtctl/
    virtctl --help
    
    • 1
    • 2
    • 3

    删除Kubectl

    kubectl delete -n kubevirt kubevirt kubevirt --wait=true   # --wait=true should anyway be default
    kubectl delete apiservices v1.subresources.kubevirt.io   # this needs to be deleted to avoid stuck terminating namespaces
    kubectl delete mutatingwebhookconfigurations virt-api-mutator   # not blocking but would be left over
    kubectl delete validatingwebhookconfigurations virt-operator-validator   # not blocking but would be left over
    kubectl delete validatingwebhookconfigurations virt-api-validator   # not blocking but would be left over
    kubectl delete -f kubevirt-operator.yaml --wait=false
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    注意:如果您错误地首先删除了运算符,KV自定义资源将卡在Terminating状态,要修复它,请从资源中手动删除终结器。

    运行kubevirt-operator.yaml会出现告警:Warning: Detected changes to resource kubevirts.kubevirt.io which is currently being deleted.
    在这里插入图片描述
    运行kubevirt-operator.yaml出现,链接不到kubevirt-operator-webhook。
    在这里插入图片描述
    注意:由于一个错误,需要手动删除apiservice和webhook配置。

    kubectl -n kubevirt patch kv kubevirt --type=json -p '[{ "op": "remove", "path": "/metadata/finalizers" }]'
    
    • 1

    测试

    curl https://kubevirt.io/labs/manifests/vm.yaml
    kubectl apply -f https://kubevirt.io/labs/manifests/vm.yaml
    kubectl get vm
    
    • 1
    • 2
    • 3

    启动虚拟机:

    virtctl start testvm 
    kubectl get vmi
    
    • 1
    • 2

    在这里插入图片描述

    进入虚拟机
    在这里插入图片描述
    对外发布端口

    virtctl expose virtualmachine testvm --name vmiservice --target-port 22 --port 8022 --type NodePort
    ssh -p30822 cirros@本地主机IP
    
    • 1
    • 2
  • 相关阅读:
    数据库概论 - MySQL的简单介绍
    Jenkins-jenkins凭证管理与代码拉取
    【网络篇】第十八篇——ping的工作原理
    Java发起Soap请求
    产品代码都给你看了,可别再说不会DDD(四):代码工程结构
    【深度学习】StabelDiffusion,Lora训练过程,秋叶包,Linux,SDXL Lora训练
    成功解决OSError: [WinError 1455] 页面文件太小,无法完成操作
    androidx和v4包资源冲突解决方法
    JVM Code Cache代码缓存简介
    聊聊Kafka的生产者消费者确认机制
  • 原文地址:https://blog.csdn.net/weixin_42478365/article/details/134251585