kata-deploy 镜像包含运行 Kata Containers 所需的所有二进制文件和制品,并提供参考 DaemonSets,可用于在运行中的 Kubernetes 集群上安装 Kata Containers。注意,通过 DaemonSets 安装 katacontainers.io/kata-runtime 仅在节点使用 containerd 或 CRI-O CRI-shims 时成功。
最新镜像包含预发布和候选发布内容。如需稳定版本,请使用"稳定"说明。
sh$ kubectl apply -f [***] $ kubectl apply -f [***]
稳定镜像包含最新稳定版本内容。
注意,若使用仓库的标记版本,稳定镜像将匹配该版本。例如,若使用 kata-deploy.yaml 文件的 2.2.1 标记版本,则会部署 2.2.1 版本的 kata 运行时。
sh$ kubectl apply -f [***] $ kubectl apply -f [***]
sh$ GO111MODULE=auto go get github.com/kata-containers/kata-containers $ cd $GOPATH/src/github.com/kata-containers/kata-containers/tools/packaging/kata-deploy $ kubectl apply -k kata-deploy/overlays/k3s
shkubectl -n kube-system wait --timeout=10m --for=condition=Ready -l name=kata-deploy pod
工作负载通过在 Pod 规范中设置适当的 runtimeClass 对象来指定要使用的运行时。提供的 runtimeClass 示例定义了节点选择器,以匹配节点标签 katacontainers.io/kata-runtime:"true",确保工作负载仅调度到已安装 Kata Containers 的节点上。
runtimeClass 是 Kubernetes 中的内置类型。要应用每个 Kata Containers runtimeClass:
sh$ kubectl apply -f [***]
以下 YAML 片段显示如何指定工作负载应使用 Cloud Hypervisor 的 Kata:
yamlspec: template: spec: runtimeClassName: kata-clh
以下 YAML 片段显示如何指定工作负载应使用 Fire***er 的 Kata:
yamlspec: template: spec: runtimeClassName: kata-fc
以下 YAML 片段显示如何指定工作负载应使用 QEMU 的 Kata:
yamlspec: template: spec: runtimeClassName: kata-qemu
要使用 kata-clh 运行示例:
sh$ kubectl apply -f [***]
要使用 kata-fc 运行示例:
sh$ kubectl apply -f [***]
要使用 kata-qemu 运行示例:
sh$ kubectl apply -f [***]
删除测试 Pod:
sh$ kubectl delete -f [***] $ kubectl delete -f [***] $ kubectl delete -f [***]
sh$ kubectl delete -f [***] $ kubectl -n kube-system wait --timeout=10m --for=delete -l name=kata-deploy pod
确保 kata-deploy 已删除后,清理集群:
sh$ kubectl apply -f [***]
清理 DaemonSet 将运行一次,清理节点标签,此过程最多需要 5 分钟。
之后,删除清理 DaemonSet、添加的 RBAC 和运行时类:
sh$ kubectl delete -f [***] $ kubectl delete -f [***] $ kubectl delete -f [***]
sh$ kubectl delete -f [***] $ kubectl -n kube-system wait --timeout=10m --for=delete -l name=kata-deploy pod
确保 kata-deploy 已删除后,清理集群:
sh$ kubectl apply -f [***]
清理 DaemonSet 将运行一次,清理节点标签,此过程最多需要 5 分钟。
之后,删除清理 DaemonSet、添加的 RBAC 和运行时类:
sh$ kubectl delete -f [***] $ kubectl delete -f [***] $ kubectl delete -f [***]
用于创建在 DaemonSet 中部署的容器镜像的 Dockerfile 在此提供。该镜像包含运行 Kata Containers 所需的所有必要制品,均从 Kata Containers 发布页面 获取。
主机制品:
cloud-hypervisor、fire***er、qemu-system-x86_64 及支持二进制文件containerd-shim-kata-v2kata-collect-data.shkata-runtime虚拟机制品:
kata-containers.img 和 kata-containers-initrd.img:从 Kata GitHub 发布页面获取vmlinuz.container 和 vmlinuz-virtiofs.container:从 Kata GitHub 发布页面获取kata-deploy 引入了两个 DaemonSet 以及一个 RBAC,以方便为节点应用标签。
此 DaemonSet 在节点上安装必要的 Kata 二进制文件、配置文件和虚拟机制品。安装完成后,DaemonSet 添加节点标签 katacontainers.io/kata-runtime=true,并重新配置 CRI-O 或 containerd 以注册三个运行时类:kata-clh(Cloud Hypervisor 隔离)、kata-qemu(QEMU 隔离)和 kata-fc(Fire***er 隔离)。最后,DaemonSet 重启 CRI-O 或 containerd。删除时,DaemonSet 移除 Kata 二进制文件和 VM 制品,并将节点标签更新为 katacontainers.io/kata-runtime=cleanup。
当节点具有标签 katacontainers.io/kata-runtime=cleanup 时,此 DaemonSet 运行。它会移除 katacontainers.io/kata-runtime 标签,并重启 CRI-O 或 containerd 的 systemctl 守护进程。由于无法在 Kata 安装程序 DaemonSet 的 preStopHook 期间执行这些重置,因此需要此最终清理 DaemonSet。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429