您可以通过ACK One舰队的应用分发功能将舰队实例中的应用分发至多个关联集群中。通过在舰队实例中定义分发策略,精准选择出符合条件的Kubernetes资源,并将其分发至策略指定的多个目标集群中。您还可以定义差异化策略来选择需要差异化部署的集群以及应用。相比于GitOps方式,它无需依赖Git仓库。
工作原理
您可以在舰队实例中创建应用Kubernetes资源,通过定义PropagationPolicy
、ClusterPropagationPolicy
分发策略,选择将哪些资源分发至关联集群中;您还可以定义Overridepolicy
、ClusterOverridePolicy
差异化策略,对需要分发的资源根据关联集群的需求进行差异化修改。
分发资源说明
ACK One舰队实例支持多集群应用分发和差异化部署的资源分发说明如下表所示。
如果您拥有在舰队实例中创建资源的权限,默认拥有该资源分发的权限。
资源级别 | 资源类型 | APIVersion | 分发策略 | 差异化策略 |
集群级别 | Namespace | v1 | 支持 | 支持 |
PersistentVolume | v1 | 支持 | 支持 | |
StorageClass | storage.k8s.io/v1 | 支持 | 支持 | |
命名空间级别 | Deployment | apps/v1 | 支持 | 支持 |
StatefulSet | apps/v1 | 支持 | 支持 | |
DaemonSet | apps/v1 | 支持 | 支持 | |
Job | batch/v1 | 支持 | 支持 | |
CronJob | batch/v1 | 支持 | 支持 | |
Ingress | networking.k8s.io/v1 | 支持 | 支持 | |
Service | v1 | 支持 | 支持 | |
PersistentVolumeClaim | v1 | 支持 | 支持 | |
ConfigMap | v1 | 支持 | 支持 | |
Secret | v1 | 支持 | 支持 | |
Pod | v1 | 支持 | 支持 | |
LimitRange | v1 | 支持 | 支持 | |
ResourceQuota | v1 | 支持 | 支持 | |
HorizontalPodAutoscaler | autoscaling/v2 | 支持 | 支持 |
相关文档
功能 | 说明 | 相关文档 |
使用分发策略部署应用 | 详细介绍如何使用kubectl通过分发策略PropagationPolicy、Overridepolicy将某些资源分发到关联集群,帮您快速上手应用分发功能。 | |
策略详细说明 | 详细介绍如何定义一个分发策略和差异化策略,以及各个参数的含义,帮您深层理解应用分发策略的配置。 |