扎贝尔织物
zabel-fabric的Python项目详细描述
扎贝尔织物
概述
请注意,此库的功能尚未完成。
这是扎贝尔平台的一部分。zabel fabric包定义了fabrics。在
结构是Zabel平台的宿主。一个给定的结构可以承载多个 Zabel平台,它还可以托管其他应用程序。在
结构为它所承载的应用程序和平台提供了基础 开始。这些基础包括隔离、访问控制、秘密管理,如 以及部署、持久性和发现服务。在
Zabel的织物并不是第一次尝试为应用提供这样的基础。 他们也不会是最后一个。在
织物所做的是,它们(试图)提供一个(非常)小的、连贯的子集 Kubernetes集群提供。在
可以部署在结构上的应用程序可以像在Kubernetes上一样部署 集群,如果它使用的images被转换为适当的容器,并且 保留封装。在
在Zabel中,图像是具有与已知签名匹配的构造函数的普通类
以及一个run
方法,因此它们可以很容易地转换为容器。在
这并不意味着任何Python应用程序都可以自动转换为云原生应用程序 当然,这并不意味着您可以部署现有的Kubernetes 扎贝尔织物上的应用。在
它的意思是,如果您的Python应用程序被设计为在Zabel上工作 如果需要,它可以部署在成熟的Kubernetes集群上。在
它还意味着您可以使用现有的工具(例如kubectl
)或您最喜欢的工具
编辑器扩展)来浏览或更改正在运行的结构的状态或部署新的
资源。在
示例
下面是一个简单的helloworld示例。在
假设hello.py
文件中有以下类:
importosfromtimeimportsleepfromzabel.commons.interfacesimportImageclassHelloWorld(Image):def__init__(self):self.name=os.environ.get('NAME','World')defrun(self):print(f'hello {self.name}')sleep(15)print('good bye')
以及以下pod.yaml
清单:
我们可以按如下方式部署:
kubectl apply -f pod.yaml
在Zabel结构控制台上,应显示以下内容:
hello Alice ... good bye
资源
以下资源在结构上至少部分可用:
- v1/事件
- v1/命名空间
- v1/吊舱
- v1/秘密
- v1/服务
- v1/服务帐户
- v1.apiextensions.k8s.io/CustomResourceDefinition
- v1.应用程序/部署
- 第1版。rbac.授权.k8s.io/群集角色
- 第1版。rbac.授权.k8s.io/群集角色绑定
- 第1版。rbac.授权.k8s.io/角色
- 第1版。rbac.授权.k8s.io/角色绑定
- v1beta1.networking.k8s.io/入口
许可证
Copyright (c) 2019-2020 Martin Lafaix (martin.lafaix@external.engie.com) and others This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at https://www.eclipse.org/legal/epl-2.0/ SPDX-License-Identifier: EPL-2.0
- 项目
标签: