profile(1) 本文介绍如何配置eciprofile。 基于 Kubernetes 的 Mutating Webhook机制实现了eciprofile,支持为调度到虚拟节点上的 Pod 自动追加Annotations、Labels、Tolerations等,实现自动修改Pod 的规格、镜像缓存、安全组等配置,降低您对业务 Pod 配置的维护成本。本文介绍如何配置eciprofile。 功能介绍 对于ECI的一些功能特性,例如指定ECI实例规格,启用镜像缓存等,需要在Pod中追加Annotation或者Label来实现。更多信息,请参见ECI Pod Annotation。 对于上述情况,eciprofile实现了自动追加Annotation和Label的功能。在eciprofile中,您可以自定义selector,在selector中同时指定筛选条件和要追加的Annotation和Label,满足selector筛选条件的Pod会自动追加指定的Annotation和Label。 前提条件 1. 确保您已经创建Serverless集群,具体操作请参阅创建Serverless集群。 2. 已在插件市场安装插件eciprofile,且插件正常运行。 3. 确保kubectl工具已经连接目标集群。 selectors配置 创建Pod时,系统会按照selectors去匹配Pod,对于Label能够匹配上的Pod,会自动追加Annotation和Label,以便生效ECI的功能特性。 Selector 支持两种匹配方式: 1. 命名空间标签匹配。 2. Pod标签匹配。 可以分别通过 namespaceLabels 和 objectLabels 字段来指定匹配的 Namespace 和 Pod 标签。通过 effect 字段配置的 Annotation 和 Label 会自动追加到匹配的 Pod 上。 说明 要了解 Selector 的生效情况,可以通过查看 Pod 上的 k8s.ctyun.cn/matchedselector 标签来判断。 新增的 Selector 不会应用于存量 Pod,仅对新创建的 Pod 生效,若需要对现有工作负载生效,请重新部署工作负载。 在一个 Selector 中,建议您至少配置 namespaceLabels 和 objectLabels 中的一个。如果两者同时配置了,则Pod需要同时匹配两者;如果两者均未配置或者为空对象,且配置了 effect,则 effect 对所有 Pod 均生效。 1. 命名空间标签匹配。 假设想让集群中新创建的所有Pod都默认使用1C1G的规格,Selector配置模板如下: shell apiVersion: eci.ctyun.cn/v1 kind: Selector metadata: name: 1c1gglobal spec: namespaceLabels: {}
来自: