为了让您可以方便地在阿里云上使用Kubernetes管理容器应用,EDAS集成了容器服务Kubernetes版。您可以在容器服务Kubernetes版控制台创建Kubernetes集群,也可以将混合云集群(其他云域或IDC内自建集群)注册到容器服务Kubernetes版控制台,然后将集群导入EDAS用于应用部署,EDAS可提供高可用的容器应用管理能力,提高运维效率,让您专注于容器化的应用的开发与管理。
Kubernetes集群功能简介
现EDAS支持导入在容器服务Kubernetes版控制台创建的专有版Kubernetes集群、托管版Kubernetes集群和Serverless Kubernetes集群,3种集群形态的对比详情,请参见什么是容器服务Kubernetes版。
专有版Kubernetes集群和托管版Kubernetes集群导入到EDAS中对应的是容器服务K8s集群,Serverless Kubernetes集群导入到EDAS中对应的是Serverless K8s集群。
混合云集群(其他云域或IDC内自建的集群)需要先将这些集群注册到容器服务Kubernetes版控制台,然后将集群导入EDAS。混合云集群导入到EDAS对应的是容器服务K8s集群。
混合云集群注册到容器服务Kubernetes版的具体操作,请参见创建注册集群并接入本地数据中心集群。
- 在云原生Kubernetes之上,提供应用托管能力,以应用视角一站式完成开源微服务治理和K8s应用轻量化运维:
- 应用为中心的视角,管理K8s的原生工作负载如Deployment、Pod等,提供多AZ实例打散的高可用部署。
- 提供分批发布、按流量比例、请求参数的金丝雀灰度发布,借助EDAS全维度监控的发布变更单,让您的变更记录可跟踪。
- EDAS对接了主流DevOps系统,助力企业CI/CD落地,降本增效。
- 在开源微服务体系之上,对于使用市面上近五年的Spring Cloud和Dubbo框架自建的微服务应用无需修改任何代码即可迁移至EDAS,支持所有应用框架的微服务治理:
- 支持应用发布过程中的无损下线、服务压测。
- 应用运行时的服务鉴权、限流降级、离群实例摘除。
- 应用运维的服务查询、服务测试。
- 通过产品化的方式,输出阿里巴巴应用安全生产的三板斧理念,实现可观测、可灰度、可回滚,让您的企业立即落地安全生产。
- 可观测:通过应用总览、新版发布变更记录和发布后自动生成发布报告来实现多维度全流程监控。
- 可灰度:支持金丝雀发布,支持应用按照流量比例或请求内容策略配置实现灰度。
- 可回滚:支持发布过程一键回滚,并支持已运行应用回退至某历史版本。
Kubernetes集群工作流程
在容器服务K8s集群中部署应用,您需在容器服务Kubernetes版控制台中创建或注册集群,并将该集群导入到EDAS控制台,然后在导入的容器服务Kubernetes版集群中使用部署包或镜像来部署应用。

前提条件
在容器服务Kubernetes版控制台创建集群
- 在EDAS中使用容器服务K8s集群,请在容器服务Kubernetes版控制台创建托管版Kubernetes集群或专有版Kubernetes集群,请参见:
- 在EDAS中使用Serverless K8s集群,请在容器服务Kubernetes版控制台创建Serverless Kubernetes集群,请参见创建Serverless Kubernetes集群。
在EDAS控制台导入Kubernetes集群
在EDAS控制台导入容器服务K8s集群时,会默认安装应用防护(限流降级)组件(ack-ahas-sentinel-pilot)、ARMS监控组件(ack-arms-pilot)以及Prometheus监控组件(ack-arms-prometheus)。
在EDAS控制台取消导入和清理Kubernetes集群
在EDAS控制台查看Kubernetes集群详情
K8s集群导入操作约束
- 集群安全组配置约束:
- 需要保证集群所有节点在集群的安全组内或者与集群的安全组能互通。互通的具体操作,请参见为什么容器之间网络不通?。
- 不能删除ACK为集群安全组设置的默认规则。
- 集群节点配置约束:
- 需要为集群预留可分配的CPU,内存,Pod资源,确保EDAS管控组件能正常运行。
- 不能删除ACK为节点配置的RAM角色
KubernetesWorkerRole-*
。
- 集群apiServer SLB配置约束:
- 不要阻拦来自内部访问地址100.104.0.0/16的访问请求。
- 不要删除SLB上的ACK添加的内置标签。
- 不要复用SLB的6443端口。
- 集群Helm Chart操作约束:
- 不能删除EDAS安装的ahas-sentinel-pilot、arms-eventer、arms-pilot和arms-prom组件,包括这些Helm Chart安装的所有资源。
- 不能安装开源的oam-runtime、kubevela、keda或flagger。
- 不能删除或修改任何在edas-oam-system命名空间下的K8s资源。
- 集群ClusterRole操作约束:
不能使用ACK控制台、kubectl或者第三方界面删除或修改edas-default-cluster-role。
- ClusterRoleBinding操作约束:
不能使用ACK控制台、kubectl或者第三方界面删除或修改edas-default-cluster-role-binding、edas-oam-cluster-role-binding、keda-hpa-controller-external-metrics。
- CRD和CR操作约束:
- 不能直接操作以下CRD和CR资源,列表如下:
- alertproviders.flagger.app
- applicationconfigurations.core.oam.dev
- applications.oam-domain.alibabacloud.com
- applicationscopes.core.oam.dev
- autoscalings.edas.aliyun.oam.com
- basecomponents.oam-domain.alibabacloud.com
- canaries.flagger.app
- componentschematics.core.oam.dev
- crdreleases.clm.cloudnativeapp.io
- dynamiclabels.extension.oam.dev
- imagebuilders.edas.aliyun.oam.com
- logcollectors.edas.aliyun.oam.com
- meshtraits.edas.aliyun.oam.com
- metrictemplates.flagger.app
- mseruletraits.edas.aliyun.oam.com
- packageversions.oam-domain.alibabacloud.com
- rollouts.edas.aliyun.oam.com
- scaledobjects.keda.k8s.io
- scalingrules.oam-domain.alibabacloud.com
- serviceregistrytraits.edas.aliyun.oam.com
- servicetraits.edas.aliyun.oam.com
- sources.clm.cloudnativeapp.io
- traits.core.oam.dev
- triggerauthentications.keda.k8s.io
- workloadtypes.core.oam.dev
- 不能修改EDAS创建的aliyunlogconfigs.log.alibabacloud.com(含有以下标签:
edas-domain: edas-admin
) 资源。
- 不能直接操作以下CRD和CR资源,列表如下: