2021年6月

FCC 制定新政策是为了让更多的频谱能够被用于通信以此来创造新的服务。

FCC

随着 5G 的发展,为了完全实现它的服务,显然需要更多的频谱来,FCC 显然对此当成重中之重。

FCC 近日完成了有关 公民宽带无线电服务 Citizen’s Broadband Radio Service (CBRS)的 5G 频谱的拍卖,这些频谱是位于 3.5GHz 频段中的 70MHz 新带宽。它拍卖了 45.8 个亿,是近几年为无线传输释放更多频道的拍卖会之一。FCC 在 2011、2014 和 2015 年在中低频段(大致在 1.7GHz 至 2.2GHz)和 700MHz 上拍卖了 65MHz。

当前频谱可操作的范围是低于 6GHz 频段或是中频段的频谱,与 CBRS 拍卖中出售的频谱处于同一区域。据专家称,即将举行的 C 频段拍卖将会是重要一环,将会有高达 280 MHz 频谱被拍卖。

IDC 的研究主管 Jasom leigh 说,“C 频段的拍卖将带来大笔资金。……美国的中频段频谱是稀缺的,这就是为什么你会看到这种巨大的紧迫性。”

虽然几大主要移动运营商仍有望抢到这次拍卖中的大部分可用的许可证,但频谱的一些最具创新性的用途将由企业实施,所以将会与运营商竞争一系列可用的频段。

物联网、资产追踪以及其他私人网络应用的专用网络早已可以通过私人 LTE 实现,但由于 5G 技术先进的频谱共享、低延迟和多连接的特性,它的成熟大大拓宽了它们的范围。广义上讲,能替代更多当前需要连线的应用,如工业自动化、设备管理等等。

重新分配频谱就意味着谈判

对于想要改变美国的频谱优先事项上的问题并不是小事,FCC 前主席 Tom Wheeler 对此绝对深有体会,过去 10 年里,美国政府一直在推动重新分配频段,而持有频段者的大多是政府机构或者是卫星网络运营商。

Wheeler 说,这些利益相关者必须被分配到不同频段,通常以纳税人出资补偿,而让各个相关方参与分享和进行分享经常是一个复杂的过程。

他指出,“FCC 现在面临的挑战之一是,频谱的分配是根据假定使用模拟信号做出的,而这些假定由于数字技术而被改写”。就像电视从模拟电视转变成数字电视。当模拟电视占用了 6MHz 频段,并需要两侧的保护带以避免干扰时,数字信号却能够在一个频段里容纳四到五个信号。

事实证明,这些假定是很难面对的。反对者公开反对 FCC 在中频段的动作,认为这样做没有足够的预防措施来避免对他们原有的设备和服务的干扰,而改变频率也意味着必须购买新的设备。

“我们和[美国国防部]还有卫星公司讨论过,事实上其中一个较大的原因是监管的挑战,没人想放弃现有体系下基于模拟信号假定下的安全地位。”Wheeler 说到,“我认为你也必须考虑周全,但我发现那些所谓宣声信号冲突的人,其实是将眼下当作避难所,根本没有竞争和威胁方面的意识。”

未来:更多的服务

Leigh 表示,无论开放频谱的确切方式如何,但广泛的观点认为将中频频段开放给运营商和企业,对美国商业会有潜在的优势。而当美国坚持以拍卖形式分配无线频谱时,其他国家,像德国,就已经专门预留了供企业使用的中频段频谱。

对于试图推出自己的私有 5G 网络的公司而言,可能会推高频谱拍卖价格。但是,只要最终有足够可用的频谱,就有服务足够可用,无论它们是内部提供的,还是由移动运营商或供应商销售的。

他说:“企业在 5G 方面做的事情,将推动真正的未来。”


via: https://www.networkworld.com/article/3584072/fcc-auctions-should-be-a-long-term-boost-for-5g-availability.html

作者:Jon Gold 选题:lujun9972 译者:littlebirdnest 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Windows 11 将提供 Windows Subsystem for Android

微软在宣布 Windows 11 时透露它能运行 Android 应用。微软公开了这一功能背后的技术细节:Windows Subsystem for Android。它的作用类似 Windows Subsystem for Linux(WSL),在 Android 应用模型和 Windows 应用模型之间提供一个代理原生应用,将有一个虚拟机提供对 AOSP 的兼容。亚马逊已经宣布将和微软合作将其应用商店带到 Windows 11 上。

Windows 真是想把其它操作系统都纳入旗下啊。

谷歌将推迟两年淘汰第三方 cookie

第三方 cookie 用于帮助广告商提供个性化广告,苹果的 Safari 和 Mozilla 的 Firefox 已经默认屏蔽了第三方 cookie,而谷歌的Chrome 是目前市场份额最高的浏览器,而谷歌同时也是最大的网络广告商,它淘汰第三方 cookie 的计划以及替代 cookie 方案引发了它可能获得相对于竞争对手优势的担忧。谷歌表示将留出更多的时间与监管机构和数字广告行业相关企业进行讨论,避免危及现有的网络商业模式。

淘汰第三方 cookie 是对的,最大的网络广告商谷歌的问题是,用一个可能更坏的方案来替代一个糟糕的方案。

世界上有一半的人拥有智能手机

据研究,到 2021 年 6 月,世界上一半的人口都拥有智能手机。今天约有 40 亿人使用智能手机。达到这一历史性的里程碑用了 27 年时间。全球智能手机用户群已经从 1994 年的仅 3 万人急剧上升到 2012 年的10亿人,并在 2021 年 6 月达到今天创纪录的 39.5 亿。

智能手机真正构建了如今的互联网。

2021 年 06 月 24 日微软正式发布了 Windows 11 操作系统,这是微软时隔 6 年来的再次发布操作系统。根据其官方介绍,Windows 11 新增了许多特性,考虑到安装 Windows 11 到 PC 会耽误现在的正常工作(毕竟用 Windows 11 替换 PC 中的 Windows 10 后需要重新安装各种工程软件,这是件很耗时的事情),因此我想到用 QEMU 虚拟机来体验一下新发布的 Windows 11 尝尝鲜。

一、准备工作

我们需要准备 QEMU 环境、Windows 11 镜像文件、virtio-win 的镜像文件,这里罗列一下:

  • QEMU(本文是在 CentOS 环境下安装的 QEMU 工具)
  • Windows 11 镜像(下载地址:win11.iso),需要空间 4.5G
  • virtio-win 镜像(下载地址:virtio-win-0.1.190.iso),需要空间 479M

注意:下载完成后,为了简化,我这里将镜像都重新简化命名如下:

镜像文件简化命名
virtio-win-xxx.isovirtio-win.iso
xxx-windows11-xxx.isowindows11.iso

1、安装 qemu 命令

如果是 Ubuntu 系统,可以直接用sudo apt-get install qemu或者sudo apt-get install qemu-system-i386命令来安装 QEMU。

本文中是使用的 qemu-5.1.0(下载地址:qemu)来编译生成的 qemu-system-x86_64qemu-img 等命令。

操作步骤:

# 在根目录下解压 qemu-5.1.0.tar.xz
cp qemue-5.1.10.tar.xz /
cd /
tar xvf qemu-5.1.0.tar.xz

# 进入 qemu-5.1.0 源码目录
cd /qemu-5.1.0

# 编译
mkdir build
cd build
../configure
make

编译完之后,qemu-img 以及 qemu-system-x86_64 两个命令所在的位置分别是:

命令工具所在路径
qemu-img/qemu-5.1.0/build/qemu-img
qemu-system-x86_64/qemu-5.1.0/build/x86_64-softmmu/qemu-system-x86_64

2、制作 Windows 11 安装磁盘

我们重新创建一个目录,用来存放 windows11.isovirtio-win.iso 镜像文件以及马上就要生成的 windows11.qcow2 文件。

# 为了方便,依旧在根目录下操作(其实这是很不好的习惯)
cd /
mkdir win11
cd win11

# 将下载好的 windows 11 镜像以及 virtio-win 镜像拷贝进来
cp xxx/windows11.iso /win11/
cp xxx/virtio-win.iso /win11/

# 然后利用 qemu-img 命令制作系统安装磁盘,分配磁盘大小 120G 空间
/qemu-5.1.0/build/qemu-img create -f qcow2 ./windows11.qcow2 120G

此时,/win11/目录下应该是这样几个文件:

3、编写启动 Windows 11 脚本

为了方便后面启动 Windows 11 系统,将 qemu 启动命令写入一个脚本中。

编辑 start.sh 脚本:

vim /win11/start.sh

编写脚本命令内容:

/qemu-5.1.0/build/x86_64-softmmu/qemu-system-x86_64 \
  -enable-kvm \
  -smp 4 \
  -m 4G \
  -machine usb=on \
  -device usb-tablet \
  -display default \
  -vga virtio \
  -device e1000,netdev=net0 \
  -netdev user,id=net0,net=192.168.20.0/24,dhcpstart=192.168.20.20 \
  -drive file=/win11/windows11.qcow2,if=virtio \
  -drive file=/win11/virtio-win.iso,index=1,media=cdrom \
  -drive file=/win11/windows11.iso,index=2,media=cdrom \
  -spice port=8891,addr=172.17.81.26,disable-ticketing

脚本中的第 9 行与第 10 行指定了 Windows 11 中网卡驱动类型为 e1000,并指定其采用 dhcp 方式获取 IP 地址。第 14 行则指定了 spice 协议连接地址,其中172.17.81.26:8891是指的我的宿主机的 IP 地址和端口号(此处 IP 地址以及端口号需要根据个人的宿主机环境进行修改),待执行 start.sh 脚本后可以通过 spice 协议连接 Windows 11 系统界面。

赋予 start.sh 可执行权限:

chmod +x /win11/start.sh

4、安装 spice 客户端

推荐使用virt-vierer工具客户端,用来通过spice协议连接即将安装的windows11系统桌面。

下载地址:virt-viewer,推荐下载virt-vierer-x64-2.0.msi版本。

5、完成准备工作

至此,准备工作都完成了,此时/win11/目录下应该有 4 个文件,如下图所示。

二、安装 Windows 11 系统

1、启动 start.sh 脚本

执行 start.sh 脚本,然后用 spice 协议连接172.17.81.26:8891端口:

2、安装 Windows 11 系统

连接上远程界面后,首先看到的是经典的 Windows 界面:

然后进入语言、时区、键盘等选项,此处不用修改,一直选择默认的即可。

接着需要输入密钥,但我们并没有,此处选择“I don't have a product key”即可。

然后进入了磁盘选择页面,会发现没有磁盘可选,此时单击“Load driver”选项就进行扫描,然后就可以发现磁盘(此处便是 virtio-win.iso 在起作用了)。此处发现并没有 Windows 11 的选项,直接选择 “w10” 那一项即可(我猜测是因为 virtio-win.iso 还并未支持 Windows 11 选项,相信马上就会更新了)。

然后找到安装磁盘,并选择,然后下一步。

然后进入安装过程,稍作等待 3-5 分钟。

安装完成后,进入准备桌面过程,是不是很熟悉?

接着就到了“just a moment”界面了,马上就可以进入桌面了,是不是很激动了,哈哈哈哈。

进入了桌面,此处其实是个动态的过程,因为截屏所以看不出效果。这个 Windows 界面重新设计过 UI了,个人觉得更好看了。

3. 进入桌面前的准备

至此,Windows 11 安装即将完成,只差最后的初次设置步骤了。

首先是选择国家地区,此处也即默认即可,无需更改。

然后是检查更新,此处根据网速快慢,等待的时间不定,需要耐心等待。

Windows 11 这里非要让用户填写 “Microsoft 账户”,无法跳过,很是郁闷,只能填写账户,然后下一步了。没有账户的可能得先申请一个微软账户了(估计正式版本会增加跳过选项吧)。

然后设置开机登录密码。

最后,最后,最后,激动的时刻来了,进入桌面了。初次见面,什么感觉?

乍一看,怎么那么像 Mac 的风格和 UI 界面。

为了显示更舒适一点,推荐设置以下屏幕分辨率(根据个人电脑屏幕大小自行设定)。这里我选择的是1920*1080

三、体验 Windows 11 系统

根据微软官方的介绍,Windows 11 增加了很多新的功能。这里挑几个新功能体验一下。

1、新的 UI 外观以及菜单

确实,这个 UI 风格和 Windows 10 还是有较大区别的,和 Windows 7 相比,特别时尚了。我感觉这个 UI 风格是为了适配平板、Surface 等便携式设备而优化的。

2、“Snap Layout” 布局功能

这个功能说实用也实用,说没啥用我觉得也没啥多大用(可能是我还没体会到多任务同时处理的便捷性吧)。Windows 旧版本中也有桌面并排处理等功能,但和这个布局功能比,还是逊色了点。

在窗口的最大化按钮上,鼠标悬停,即可出现 “Snap Layout” 布局窗口,然后可以选择一种布局,将该任务放置到某个位置中。这样做的目的是为了方便多任务同时处理。

如下图所示,选择了四个桌面的布局,将两个任务放在了上面两个布局框中。

3、新的小工具窗口

这是由 Microsoft Edge 和 AI 提供的全新 Widgets功能,包含日历、天气、待办事项、照片等功能。

4、不同场景设置不同桌面

这个功能我觉得还蛮实用的,可以根据使用的场景不同,设置不同的桌面(甚至包含常用软件的设置)。比如设置“home”、 “game”、“work”三种不同的桌面环境,方便场景快速切换。

5、全新的应用商店

这个应该是比较重大的新功能了。微软官方介绍,Windows 11 正式版可以安装安卓 APP,极大地方便了用户的使用。

微软商店界面:

我们来安装个 tiktok 试试,看看效果如何。首先在商店中搜索“tiktok”。然后会发现,tiktok 有 PC 版、Moblie device 版本。

根据 tiktok 界面看,我觉得我这里安装的应该是 Mobile device 版本的 tiktok。这个界面是不是很类似手机和平板的 tiktok 界面风格呢?这应该是 Windows 11 的一个较为新颖的功能。

总结

本文简略的在 QEMU 的帮助体验了 Windows 11 操作系统。由于是在虚拟机中体验的,并不能真实的体验到 Windows 11 的触摸便捷性、游戏画面优化、声音优化、以及其他的一些新功能特性。期待在将来能在真实设备上体验 Windows 11 操作系统。

systemd 提供定时器有一段时间了,定时器替代了 cron 功能,这一特性值得看看。本文将向你介绍在系统启动后如何使用 systemd 中的定时器来运行任务,并在此后重复运行。这不是对 systemd 的全面讨论,只是对此特性的一个介绍。

快速回顾:cron、anacron 与 systemd

cron 可以以几分钟到几个月或更长时间的粒度调度运行一个任务。设置起来相对简单,它只需要一个配置文件。虽然配置过程有些深奥,但一般用户也可以使用。

然而,如果你的系统在需要执行的时间没有运行,那么 cron 会失败。

anacron 克服了“系统没有运行”的问题。它确保任务将在你的系统再次启动时执行。虽然它旨在给管理员使用,但有些系统允许普通用户访问 anacron。

但是,anacron 的执行频率不能低于每天一次。

cron 和 anacron 都存在执行上下文一致性的问题。必须注意任务运行时有效的环境与测试时使用的环境完全相同。必须提供相同的 shell、环境变量和路径。这意味着测试和调试有时会很困难。

systemd 定时器提供了 cron 和 anacron 二者的优点,允许调度到分钟粒度。确保在系统再次运行时执行任务,即使在预期的执行时间内系统处于关闭状态。它对所有用户都可用。你可以在它将要运行的环境中测试和调试执行。

但是,它的配置更加复杂,至少需要两个配置文件。

如果你的 cron 和 anacron 配置可以很好地为你服务,那么可能没有理由改变。但是 systemd 至少值得研究,因为它可以简化任何当前的 cron/anacron 工作方式。

配置

systemd 定时器执行功能至少需要两个文件。这两个是“ 定时器单元 timer unit ”和“ 服务单元 service unit ”。(其执行的)“动作”不仅仅是简单的命令,你还需要一个“作业”文件或脚本来执行必要的功能。

定时器单元文件定义调度表,而服务单元文件定义执行的任务。有关的更多详细信息请参考 man systemd.timer 中提供的 .timer 单元。服务单元的详细信息可在 man systemd.service 中找到。

单元文件存放在几个位置(在手册页中有列出)。然而,对于普通用户来说,最容易找到的位置可能是 ~/.config/systemd/user。请注意,这里的 user 是字符串 user

示例

此示例是一个创建用户调度作业而不是(以 root 用户身份运行的)系统调度作业的简单示例。它将消息、日期和时间打印到文件中。

1、首先创建一个执行任务的 shell 脚本。在你的本地 bin 目录中创建它,例如在 ~/bin/schedule-test.sh 中。

创建文件:

touch ~/bin/schedule-test.sh

然后将以下内容添加到你刚刚创建的文件中:

#!/bin/sh
echo "This is only a test: $(date)" >> "$HOME/schedule-test-output.txt"

记住赋予你的 shell 脚本执行权限。

2、创建 .service 单元调用上面的脚本。在以下位置创建目录与文件:~/.config/systemd/user/schedule-test.service

[Unit]
Description=A job to test the systemd scheduler

[Service]
Type=simple
ExecStart=/home/<user>/bin/schedule-test.sh

[Install]
WantedBy=default.target

请注意 <user> 应该是你的家目录地址,但是单元文件路径名中的 user 实际上是字符串 user

ExecStart 应该提供一个没有变量的绝对地址。例外情况是,对于用户单元文件,你可以用 %h 替换 $HOME。换句话说,你可以使用:

ExecStart=%h/bin/schedule-test.sh

这仅用于用户单元文件,而不适用于系统服务,因为在系统环境中运行时 %h 总是返回 /root。其他特殊符号可在 man systemd.unitSPECIFIERS 中找到。因为它超出了本文的范围,所以这就是我们目前需要了解的关于特殊符号的全部内容。

3、创建一个 .timer 单元文件,该文件实际上调度你创建的 .service 单元文件。在 .service 单元文件相同位置创建它:~/.config/systemd/user/schedule-test.timer。请注意,文件名仅在扩展名上有所不同,例如一个是 .service,一个是 .timer

[Unit]
Description=Schedule a message every 1 minute
RefuseManualStart=no  # Allow manual starts
RefuseManualStop=no   # Allow manual stops

[Timer]
#Execute job if it missed a run due to machine being off
Persistent=true
#Run 120 seconds after boot for the first time
OnBootSec=120
#Run every 1 minute thereafter
OnUnitActiveSec=60
#File describing job to execute
Unit=schedule-test.service

[Install]
WantedBy=timers.target

请注意,这个 .timer 单元文件使用了 OnUnitActiveSec 来指定调度表。OnCalendar 选项更加灵活。例如:

# run on the minute of every minute every hour of every day
 OnCalendar=*-*-* *:*:00
# run on the hour of every hour of every day
 OnCalendar=*-*-* *:00:00
# run every day
 OnCalendar=*-*-* 00:00:00
# run 11:12:13 of the first or fifth day of any month of the year
# 2012, but only if that day is a Thursday or Friday
 OnCalendar=Thu,Fri 2012-*-1,5 11:12:13

有关 OnCalendar 的更多信息参见 这里

4、所有的部件都已就位,但你应该进行测试,以确保一切正常。首先,启用该用户服务:

$ systemctl --user enable schedule-test.service

这将导致类似如下的输出:

Created symlink /home/<user>/.config/systemd/user/default.target.wants/schedule-test.service → /home/<user>/.config/systemd/user/schedule-test.service.

现在执行测试工作:

$ systemctl --user start schedule-test.service

检查你的输出文件($HOME/schedule-test-output.txt),确保你的脚本运行正常。应该只有一个条目,因为我们还没有启动定时器。必要时进行调试。如果你需要更改 .service 单元文件,而不是更改它调用的 shell 脚本,请不要忘记再次启用该服务。

5、一旦作业正常运行,通过为服务启用、启动用户定时器来实时调度作业:

$ systemctl --user enable schedule-test.timer
$ systemctl --user start schedule-test.timer

请注意,你已经在上面的步骤 4 中启动、启用了服务,因此只需要为它启用、启动定时器。

enable 命令会产生如下输出:

Created symlink /home/<user>/.config/systemd/user/timers.target.wants/schedule-test.timer → /home/<user>/.config/systemd/user/schedule-test.timer.

start 命令将只是返回命令行界面提示符。

其他操作

你可以检查和监控服务。如果你从系统服务收到错误,下面的第一个命令特别有用:

$ systemctl --user status schedule-test
$ systemctl --user list-unit-files

手动停止服务:

$ systemctl --user stop schedule-test.service

永久停止并禁用定时器和服务,重新加载守护程序配置并重置任何失败通知:

$ systemctl --user stop schedule-test.timer
$ systemctl --user disable schedule-test.timer
$ systemctl --user stop schedule-test.service
$ systemctl --user disable schedule-test.service
$ systemctl --user daemon-reload
$ systemctl --user reset-failed

总结

本文以 systemd 定时器为出发点,但是 systemd 的内容远不止于此。这篇文章应该为你提供一个基础。你可以从 Fedora Magazine systemd 系列 开始探索更多。

参考

更多阅读:


via: https://fedoramagazine.org/systemd-timers-for-scheduling-tasks/

作者:Richard England 选题:lujun9972 译者:dcoliversun 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

微软正式宣布推出 Windows 11 操作系统

这是微软六年来首次推出新的 Windows 系统,也是微软系统十年来最重要升级。Windows 11 将在今年晚些时候发布,会对所有 Windows 10 用户免费更新。Windows 11 最大的变化是它的用户界面,引入了几个大的变化,包括重新设计的开始菜单,抛弃了从 Windows 8 起引入的动态磁贴,新的主题,带有小部件的个性化推送,以及新的多任务菜单。微软还将推出一个全新的微软商店,提供 Win32、PWA、UWP 应用以及安卓应用。其中安卓应用是通过微软商店中的亚马逊 Appstore 平台在 Windows 上安装的。

这个新的 Windows 11 有很多值得注意的变化,具体请正式推送时大家自行体会吧。

谷歌扩展开源漏洞数据库以纳入更多数据

虽然开源软件存在诸多优势,但其漏洞问题也日益凸显。绝大多数开源代码库至少包含一个已知的开源漏洞,而 92% 的开源库缺陷可以通过简单的更新轻松修复。今年 2 月,谷歌推出了开源漏洞数据库(OSV),并扩展 OSV 以包括来自主要开源项目的漏洞数据库,包括 Python、Rust、Go 和 DWF。从多个开源数据库汇总数据的主要挑战之一是,它们可能遵守不同的格式。因此,谷歌研究了一个“漏洞交换模式”,以人类和自动化工具都能使用的格式来描述各开源项目的漏洞。

这对于开源软件的安全缺陷状况会有直接的改善,但是要真正形成影响,还需要更多的工作和推广。

官方 Python 存储库被发现六款加密货币挖矿恶意软件

专注于软件供应链安全管理的研究公司 Sonatype,刚刚在官方的 Python 软件存储库(PyPI)上发现了六个包含不同恶意软件的 Python 包。这些恶意代码被藏于 setup.py 中,继而导致加密货币挖矿类恶意软件被下载并安装到受害者的系统上。过去数月,这几款恶意软件包被下载量将近 5000 次。此类恶意软件主要是针对那些拥有高性能 Linux 机器的机器学习研究人员们。

这真是精准“打击”,我觉得类似 PyPI 这样的公共软件库需要有更主动的恶意代码防范手段。

用 Forklift 将你的虚拟化工作负载过渡到 Kubernetes。

 title=

2017 年,KubeVirt 团队 发起 了一个在 Kubernetes 中管理容器及相关的虚拟机(VM)的项目。这个开源项目的意图是让虚拟机成为这个环境中的一等公民。

自从在 2018 年开源峰会 上推出以来,KubeVirt 一直在不断成熟和发展。它在 GitHub 上已经达到了 200 多颗星,甚至在 2021 年 2 月推出了自己的活动:KubeVirt 峰会

 title=

KubeVirt 架构(© 2020,Red Hat OpenShift

KubeVirt 是 OpenShift 虚拟化 的基础,它帮助开发者将虚拟机带入容器化工作流程。

在 Kubernetes 中使用虚拟机

KubeVirt 使你能够在虚拟机上原生使用 Kubernetes。这意味着它们可以连接到使用标准 Kubernetes 方法(如服务、路由、管道等)访问的 吊舱 Pod 网络。应用于虚拟机吊舱的网络策略与应用于应用吊舱的方式相同,它提供一个一致的模型来管理虚拟机到吊舱(或反之)的通信。

这方面的一个真实例子是一家航空公司利用旧的模拟器软件的方式。它注入了人工智能和机器学习 (AI/ML) 的模型,然后在基于虚拟机的模拟器上自动部署和测试它们。这使得它能够使用 Kubernetes 和 Kubeflow 完全自动化地获得测试结果和新的遥测训练数据。

 title=

(Konveyor, CC BY-SA 4.0

Konveyor.io 是一个开源项目,帮助现有工作负载(开发、测试和生产)过渡到 Kubernetes。其工具包括将容器从一个 Kubernetes 平台转移到另一个平台的 Crane;将工作负载从 Cloud Foundry 带到 Kubernetes的 Move2Kube;以及分析 Java 应用,使其对 Kubernetes 等容器化平台中的运行时更加标准和可移植,从而使其现代化的 Tackle

这些工具在转化模式中很有用,但许多项目希望在早期阶段利用 Kubernetes,以变得更加敏捷和富有成效。在基础设施方面,这些好处可能包括蓝/绿负载均衡、路由管理、声明式部署,或(取决于你的部署方式)由于不可变的基础设施而更容易升级。在开发方面,它们可能包括将持续集成/持续开发 (CI/CD) 管道与平台整合,使应用更快地投入生产,自我提供资源,或整合健康检查和监控。

KubeVirt 可以通过在 Kubernetes 环境中以虚拟机来运行工作负载帮助你。它能让你的工作负载迅速使用 Kubernetes,享受它的好处,并随着时间的推移稳步实现工作负载的现代化。但是,仍然有一个问题,就是把你的虚拟机从传统的虚拟化平台带到现代的 Kubernetes 平台。这就是 Konveyor 的 Forklift 项目的意义所在。

关于 Forklift

Forklift 使用 KubeVirt 将不同来源的虚拟化工作负载迁移到 Kubernetes。它的设计目标是使任务变得简单,以便你可以从一两台机器到数百台机器迁移任何东西。

迁移是一个简单的、三阶段的过程:

  1. 连接到一个现有的虚拟化平台(称为“源提供者”)和一个 Kubernetes 环境(“目标提供者”)。
  2. 将网络和存储资源从源提供者映射到目标提供者,在两者中寻找等价的资源。
  3. 选择要迁移的虚拟机,分配网络和存储映射,制定迁移计划。然后运行它。

如何开始

要开始使用 Forklift,首先,你需要一个兼容的源提供商。你还需要一个带有 KubeVirt 0.40 或更新版本的 Kubernetes 环境和裸机节点(尽管为了测试,你可以使用嵌套虚拟化)。用读-写-执行 (RWX) 功能配置你的存储类,并使用 Multus 配置你的网络,以匹配你的虚拟机在源提供者中使用的网络。(如果你不能这样做,也不用担心。你也可以选择重新分配 IP 地址。)

最后,使用提供的操作器在你的 Kubernetes 上安装 Forklift,并进入用户界面,开始运行你的第一次测试迁移。

Forklift 是 Red Hat 的 虚拟化迁移工具套件 的上游版本。因此,如果你想在生产环境中使用它,你可以考虑使用该工具的支持版本。

迁移愉快!


via: https://opensource.com/article/21/6/migrate-vms-kubernetes-forklift

作者:Miguel Perez Colino 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出