Vcluster 在常规命名空间内运行的虚拟 Kubernetes 集群开源项目

我要开发同款
白开水不加糖2022年07月06日
48阅读
开发技术GO语言
所属分类Google Go、集群/负载均衡、服务器软件
授权协议Apache-2.0

作品详情

创建功能齐全的虚拟Kubernetes集群-每个vcluster都在底层k8s集群的命名空间内运行。这比创建独立的完整集群更便宜,而且它比普通命名空间提供了更好的多租户和隔离性。

为什么选择虚拟Kubernetes集群?ClusterScopedResources:比简单的命名空间更强大(虚拟集群允许用户使用CRD、命名空间、集群角色等)易用性:可在任何Kubernetes集群中使用,并通过单个命令或cluster-api在几秒钟内创建成本效益:比“real”集群便宜和高效(单个pod和共享资源,就像命名空间一样)轻量级:建立在超快的k3s发行版之上,每个虚拟集群的开销最小(其他发行版也可以)严格隔离:为每个vcluster完成独立的Kubernetes控制平面和接入点,同时仍然能够共享底层主机集群的某些服务集群范围权限:允许用户安装需要集群范围权限的应用程序,但实际上仅限于主机集群中的一个命名空间非常适合测试:允许你在单个主机集群内测试不同的Kubernetes版本,该主机集群的版本可能与虚拟集群不同架构

特性CertifiedKubernetesDistribution -vcluster本身是经过认证的Kubernetes发行版,并且100%符合KubernetesAPI。在常规Kubernetes集群中工作的一切都在vcluster中工作轻量级和低开销-基于k3s,捆绑在单个pod中,资源消耗超低。还支持其他发行版,例如k0s或vanillak8s没有性能下降-Pod被安排在底层主机集群中,因此它们在运行时根本不会受到性能影响减少主机集群的开销-将大型多租户集群拆分为更小的vcluster,以降低复杂性并提高可扩展性。由于大多数vclusterapi请求和对象根本不会到达宿主集群,因此vcluster可以大大降低底层Kubernetes集群的压力EasyProvisioning -通过vclusterCLI、helm、kubectl、clusterapi、ArgoCD或任何您喜欢的工具创建(它基本上只是一个StatefulSet)无需管理员权限-如果您可以将Web应用程序部署到Kubernetes命名空间,那么您也可以部署vcluster单一命名空间封装-每个vcluster及其所有工作负载都位于底层主机集群的单一命名空间内EasyCleanup -删除主机命名空间,vcluster及其所有工作负载将立即消失灵活和多功能-vcluster支持不同的存储后端(例如sqlite、mysql、postgresql和etcd)、插件、可自定义的同步行为、vcluster设置中的vcluster,并具有更多额外的配置选项以适应多种不同的用例
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论