vcluster k8s 多租户虚拟集群方案

发布时间: 更新时间: 总字数:337 阅读时间:1m 作者: IP上海 分享 网址

vcluster(virtual cluster,虚拟集群)是一个能在常规的 Kubernetes 集群之上运行的一个功能齐全,轻量级,隔离性良好的 Kubernetes 集群的软件

介绍

vcluster 包含 2 个 Pod 组成

  • 控制平面:包含 API Server, Controller Manager, 数据存储
    • 默认情况下使用 sqlite 作为数据存储,并且使用 k3s 运行 API Server 和 Controller Manager
  • Syncer 同步器:vcluster 本身并没有实际的工作节点或者网络,它使用 syncer 将虚拟集群中创建的资源复制到底层宿主集群中

特点:

  • 轻量级
  • 易部署
  • 灵活和多功能

部署

依赖持久化存储,如 OpenEBS

安装 vcluster CLI

参考

curl -L -o vcluster "https://github.com/loft-sh/vcluster/releases/latest/download/vcluster-linux-amd64" && sudo install -c -m 0755 vcluster /usr/local/bin && rm -f vcluster

使用

创建 vcluster

vcluster create my-vcluster

说明:

  • 以上命令创建一个名为 my-vcluster 的虚拟集群,默认会在 vcluster-<vcluster-name>

  • 连接虚拟集群

vcluster connect <cluster-name>

# 通过 Service 暴露
vcluster create <cluster-name> --expose

此时,打开另一个窗口就可以执行 k8s 相关命令,也可以在原有集群执行 kubectl -n vcluster-<vcluster-name> xxx 管理资源

  • 删除虚拟集群
vcluster delete <cluster-name>

扩展

基于 argo 部署 vcluster 参考

参考

  1. https://github.com/loft-sh/vcluster
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数