openshift-3.11-kubevirt从v0.19.0升级到v0.27.0
参考:https://kubevirt.io/user-guide/#/installation/updating-and-deleting-installs
升级前检查各服务是否正常
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-configkubectl 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/60807
kubevirt web ui
升级到 v2.0.1
kubevrit web ui 新版本已经弃用直接部署,建议使用openshift console 包括kubevirt 管理,所以quay.io 的目前最新版本就只是到v2.0.1
Last updated
Was this helpful?