openshift-3.11-kubevirt从v0.19.0升级到v0.27.0

参考:https://kubevirt.io/user-guide/#/installation/updating-and-deleting-installsarrow-up-right

升级前检查各服务是否正常

oc get pod -n kube-system
oc get pod -n cdi
oc get pod -n kubevirt
oc get pod -n kubevirt-web-ui

异常则处理异常,正常情况下向下操作(必须,处理异常,否则以下更新会失败)

尝试使用第一种更新

这种方法升级小版本有效,跨大版本升级有可能因为virt-opertor 使用了新 RBAC规则而失败,所以升级大版本建议第二种方法更新

修改 kubevirt-config index.docker.io 替换为 dockerhub.azk8s.cn

oc edit cm kubevirt-config
kubectl patch kv kubevirt -n kubevirt --type=json -p '[{ "op": "add", "path": "/spec/imageTag", "value": "v0.27.0" }]'

尝试第二种更新方式

# 添加 kubevirt-operator 特权
oc adm policy add-scc-to-user privileged -n kubevirt -z kubevirt-operator
export RELEASE=v0.27.0
wget https://github.com/kubevirt/kubevirt/releases/download/${RELEASE}/kubevirt-operator.yaml
# 修改为国内源
sed -i 's/index.docker.io/dockerhub.azk8s.cn/g' kubevirt-operator.yaml
# 跨版本升级有可能需要新的RBAC权限 ,所以删除旧的创建新的
oc delete ClusterRoleBinding kubevirt-operator 
# 跨版本升级有可能 virt-operator 部分字段不能修改,所以删除重建
oc delete deployment virt-operator -n kubevirt
kubectl apply -f kubevirt-operator.yaml

限制 kubevrit virt-handler 发布主机

发布vm测试

vm pod logs 报错

v0.21.0 之后,kubevirt 关闭了 virt-launcher 容器特权 privileged=true,但openshift环境pod 会提示 operation not permitted, 所有需要在vm 发布主机禁用selinux

禁用selinix 之后,vm 启动成功

清理Terminating 状态project

参考:https://github.com/kubernetes/kubernetes/issues/60807arrow-up-right

kubevirt web ui

升级到 v2.0.1

kubevrit web ui 新版本已经弃用直接部署,建议使用openshift console 包括kubevirt 管理,所以quay.io 的目前最新版本就只是到v2.0.1

Last updated

Was this helpful?