• 部署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
  • 相关阅读:
    Web前端:JavaScript-->流程控制语句*笔记
    Node.js学习篇(四)express路由模块化
    Offset Explorer(Kafka消息可视化工具)报invalid hex digit ‘{‘错误解决方法
    [autojs]逍遥模拟器和vscode对接
    机器学习中的数学基础(二)
    【管理工具】CMAK安装和使用(kafka-manager)
    Elasticsearch节点及存储规划建议
    OpenCV PCA介绍
    jvm zgc使用的染色指针为什么比写屏障效率高,两者都是修改引用的时候触发
    法律战爆发:“币安退出俄罗斯引发冲击波“
  • 原文地址:https://blog.csdn.net/weixin_42478365/article/details/134251585