金融级发布策略
Kubernetes(简称 K8s)的 Deployment 部署已经趋于稳定,然而对于许多企业级的复杂部署模型,仍旧依赖高阶脚本和运维工具,滚动升级亦无法满足实际金融场景的运维需求。因此,基于对于金融级 PaaS 平台的理解和实践,SOFAStack 基于 K8s 的标准,通过 CRD 扩展了 K8s 的部署模型,并按照实际金融级发布的需求对产品界面流程做了定制,使金融级发布部署的最佳实践在容器应用服务中得以体现。
应用服务
基于发布单形式的应用服务部署,提供丰富发布策略,涵盖从 Pod 和容器定义、存储、网络、发布策略、日志监控等一站式发布部署模型,支持版本快照溯源回退,确保您能够通过可视化、强管控的方式配置应用服务。
发布单
有效管控单个或一组应用的发布状态和策略,检查发布变更。确保应用服务的任何配置变动,都会生成一次版本快照。在发布准备时,您可以配置应用依赖信息,自动实现串行和并行发布策略。在发布过程中,确保前置、发布、后置任务事件完整记录,方便追踪发布历程。
核心部署对象:CafeDeployment
对 K8s 原生发布能力以 CRD 形式作了扩展,以云原生的方式为应用提供管理能力,使标准命令(kubectl apply -f xxx.yaml
)即可搞定复杂部署。
单元化:应用实例需要分割到不同的节点进行部署。
精细的发布管理:在 Pod 配置的更新过程中,提供 Beta 发布、分组发布、发布暂停、发布取消等功能。
版本控制:在每次 Pod 配置更新后自动保存版本,方便版本回退。
原地升级:在保持 Pod IP 不变的前提下实现 Pod 其他配置的变更。
一站落地云原生
容器应用服务已通过了 CNCF 一致性测试,为 K8s 标准原生 Workload 以及相关原生资源提供可视化 UI 界面,将确保提供一致的 Kubernetes 能力,满足容器平台运维的事实标准。
在提供平台能力闭环的同时,确保产品支持开放生态,使开发、运维等角色能够通过所习惯的方式同平台进行交互,使 CICD、代码管理工具、监控系统无缝对接,并能够在容器应用服务之上享受到 ServiceMesh 所带来的优势和前景。
集群管理
提供一键从 0 到 1 搭建集群的能力,并且可以随时按需对集群进行扩容和缩容。另外,提供命名空间管理,可实现业务的逻辑隔离。
元数据管理
在兼容 K8s 原生 Service、Pod、ReplicaSet 等模型的基础上,结合容器应用服务的应用服务概念,提供更加丰富的元数据和资源管理。
网络流量
集成云上负载均衡设备,可将内部流量(负载均衡类型服务)和外部流量(Ingress)转发至应用服务的 Pod。
镜像中心
容器应用服务所包含的镜像中心,提供和用户 Gitlab 代码库关联的镜像构建和版本管理能力,满足从代码到镜像的一键构建需求。同 IAM 对接满足安全保障。
发布部署
针对不同用户场景,同时支持原地升级和原生发布两种应用服务部署形态。
应用商店
支持通过 HelmChart 应用商店一键编排复杂容器应用。