当前位置: 首页 > news >正文

kubevirt v1.1.0-alpha.0 offline deploy on kubernetes v1.23.17

文章目录

    • 准备条件
    • 下载介质
    • 部署
    • 查看
    • 安装 virtctl

前天,kubevirt 更新了,尝鲜。

准备条件

  • 二进制 Deploy Kubernetes v1.23.17

下载介质

export VERSION=$(curl -s https://api.github.com/repos/kubevirt/kubevirt/releases | grep tag_name | grep -v -- '-rc' | sort -r | head -1 | awk -F': ' '{print $2}' | sed 's/,//' | xargs)
echo $VERSION
wget  https://github.com/kubevirt/kubevirt/releases/download/${VERSION}/kubevirt-operator.yaml
wget https://github.com/kubevirt/kubevirt/releases/download/${VERSION}/kubevirt-cr.yaml

下载镜像入库

#!/bin/bash

# kubevirt组件版本
version='v1.1.0-alpha.0'

# 私有镜像仓库
registry='harbor.ghostwritten.com'

# 私有镜像仓库的namespace
namespace=kubevirt

kubevirtRegistry="quay.io/kubevirt"

readonly APPLIST=(
    virt-operator
    virt-api
    virt-controller
    virt-launcher
    virt-handler
)

for app in "${APPLIST[@]}"; do
    # 拉取镜像
    docker pull ${kubevirtRegistry}/${app}:${version}
    # 重命名
    docker tag ${kubevirtRegistry}/${app}:${version} ${registry}/${namespace}/${app}:${version}
    # 推送镜像
    docker push ${registry}/${namespace}/${app}:${version}
done

##. 修改 kubevirt-operator.yaml

        env:
        - name: VIRT_OPERATOR_IMAGE
          value: harbor.ghostwritten.com/kubevirt/virt-operator:v1.1.0-alpha.0
        - name: WATCH_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.annotations['olm.targetNamespaces']
        - name: KUBEVIRT_VERSION
          value: v1.1.0-alpha.0
        image: harbor.ghostwritten.com/kubevirt/virt-operator:v1.1.0-alpha.0

部署

kubectl apply -f kubevirt-operator.yaml
kubectl -n kubevirt patch kubevirt kubevirt --type=merge --patch '{"spec":{"configuration":{"developerConfiguration":{"useEmulation":true}}}}'
kubectl apply -f kubevirt-cr.yaml

查看

$ kubectl get all  -n kubevirt
Warning: kubevirt.io/v1 VirtualMachineInstancePresets is now deprecated and will be removed in v2.
NAME                                   READY   STATUS    RESTARTS   AGE
pod/virt-api-6bfc8548cf-tvb88          1/1     Running   0          9m24s
pod/virt-api-6bfc8548cf-w7bsd          1/1     Running   0          9m24s
pod/virt-controller-864d658788-6fsm4   1/1     Running   0          8m53s
pod/virt-controller-864d658788-h8n9j   1/1     Running   0          8m53s
pod/virt-handler-7gkwm                 1/1     Running   0          8m52s
pod/virt-handler-ptzzs                 1/1     Running   0          8m52s
pod/virt-handler-zwqsf                 1/1     Running   0          8m52s
pod/virt-operator-56bfbd6756-d9jww     1/1     Running   0          12m
pod/virt-operator-56bfbd6756-kf852     1/1     Running   0          12m

NAME                                  TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE
service/kubevirt-operator-webhook     ClusterIP   10.255.26.53     <none>        443/TCP   9m28s
service/kubevirt-prometheus-metrics   ClusterIP   None             <none>        443/TCP   9m28s
service/virt-api                      ClusterIP   10.255.48.169    <none>        443/TCP   9m28s
service/virt-exportproxy              ClusterIP   10.255.100.157   <none>        443/TCP   9m28s

NAME                          DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
daemonset.apps/virt-handler   3         3         3       3            3           kubernetes.io/os=linux   8m53s

NAME                              READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/virt-api          2/2     2            2           9m25s
deployment.apps/virt-controller   2/2     2            2           8m53s
deployment.apps/virt-operator     2/2     2            2           12m

NAME                                         DESIRED   CURRENT   READY   AGE
replicaset.apps/virt-api-6bfc8548cf          2         2         2       9m25s
replicaset.apps/virt-controller-864d658788   2         2         2       8m53s
replicaset.apps/virt-operator-56bfbd6756     2         2         2       12m

NAME                            AGE   PHASE
kubevirt.kubevirt.io/kubevirt   10m   Deployed

安装 virtctl

下载 virctl

VERSION=$(kubectl get kubevirt.kubevirt.io/kubevirt -n kubevirt -o=jsonpath="{.status.observedKubeVirtVersion}")
ARCH=$(uname -s | tr A-Z a-z)-$(uname -m | sed 's/x86_64/amd64/') || windows-amd64.exe
echo ${ARCH}
wget https://github.com/kubevirt/kubevirt/releases/download/${VERSION}/virtctl-${VERSION}-${ARCH}

chmod +x virtctl
sudo install virtctl /usr/local/bin
  • 安装为 Krew 插件
kubectl krew install virt

输出:

Updated the local copy of plugin index.
Installing plugin: virt


Installed plugin: virt
\
 | Use this plugin:
 | 	kubectl virt
 | Documentation:
 | 	https://github.com/kubevirt/kubectl-virt-plugin
 | Caveats:
 | \
 |  | virt plugin is a wrapper for virtctl originating from the KubeVirt project. In order to use virtctl you will
 |  | need to have KubeVirt installed on your Kubernetes cluster to use it. See https://kubevirt.io/ for details
 |  |
 |  | See
 |  |
 |  |   https://kubevirt.io/user-guide/docs/latest/using-virtual-machines/graphical-and-console-access.html
 |  |
 |  | for a usage example
 | /
/
WARNING: You installed plugin "virt" from the krew-index plugin repository.
   These plugins are not audited for security by the Krew maintainers.
   Run them at your own risk.

相关文章:

  • python多进程multiprocessing
  • nodejs 如何在npm发布自己的包 <记录>
  • JavaScript 期约与异步函数的学习笔记
  • 自定义事件的使用
  • 【FAQ】安防监控系统/视频云存储/监控平台EasyCVR服务器解释器出现变更该如何修改?
  • 代理IP与Socks5代理:跨界电商时代的网络安全与数据引擎
  • 测试与FastAPI应用数据之间的差异
  • Spring Boot虚拟线程与Webflux在JWT验证和MySQL查询上的性能比较
  • arcgis拓扑检查实现多个矢量数据之间消除重叠区域
  • 小程序自定义tabbar
  • Activiti回退与跳转节点
  • python基础语法(四)
  • 什么是HTTP状态码?常见的HTTP状态码有哪些?
  • 下载HTMLTestRunner并修改
  • java.math.BigDecimal常用操作
  • Docker命令
  • ES6-解构赋值
  • python爬虫爬取电影数据并做可视化
  • ip地址怎么改网速快
  • Mac 安装软件各种报错解决方案
  • 山西公布商标侵权典型案例:一工厂生产价值三百多万假“维达”纸被查
  • 体坛联播|利兹联、伯恩利重返英超,北京淘汰北控队晋级四强
  • 马文化体验展商圈启动,环球马术冠军赛的能量不止在赛场
  • “解压方程式”主题沙龙:用艺术、精油与自然的力量,寻找自我疗愈的方式
  • 商务部新闻发言人就美国以关税手段胁迫其他国家限制对华经贸合作事答记者问
  • 视觉周刊|第五届中国国际消费品博览会展现全球合作新格局