节点本地域名解析加速
插件介绍
节点本地域名解析加速(node-local-dns)是基于社区NodeLocal DNSCache提供的插件,通过在集群节点上作为守护程序集运行DNS缓存代理,提高集群DNS性能。
字段说明
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
basic |
否 |
object |
插件基础配置参数,无需指定。 |
flavor |
是 |
表2 object |
插件规格参数 |
custom |
是 |
表3 object |
插件自定义参数 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
replicas |
否 |
String |
插件中admission-controller组件实例数,默认为:2 |
resources |
否 |
Array resources object |
容器资源(CPU、内存)配额。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
enable_dnsconfig_admission |
否 |
bool |
开启DNSConfig自动注入功能,默认:true。启用后,会创建DNSConfig动态注入控制器,该控制器基于Admission Webhook机制拦截目标命名空间(即命名空间包含标签node-localdns-injection=enabled)下Pod的创建请求,自动配置使用DNS缓存的Pod dnsConfig字段。未开启DNSConfig自动注入或Pod属于非目标命名空间,则需要手动给Pod配置DNSConfig。 |
enable_namespace_admission |
否 |
bool |
为已创建的命名空间添加node-local-dns-injection=enabled标签,默认:true。命名空间添加标签后会识别命名空间的创建请求并自动添加标签,这些操作的目标不包含系统内置的命名空间(如kube-system)。 |
multiAZEnable |
否 |
bool |
插件中deployment组件多可用部署是否采用强制模式,默认:false。强制模式下插件Deployment实例强制调度到不同可用区的节点上,如集群下节点不满足多可用区,插件实例将无法全部运行。若multiAZEnable与multiAZBalance配置也同时为true,则以multiAZBalance为准使用多可用部署均分模式。 |
multiAZBalance |
否 |
bool |
插件中deployment组件多可用部署是否采用均分模式,默认:false。插件Deployment实例均匀调度到当前集群下各可用区,增加新的可用区后建议扩容插件实例以实现跨可用区高可用部署;均分模式限制不同可用区间插件实例数相差不超过1,单个可用区资源不足会导致后续其他实例无法调度。 |
tolerations |
否 |
Array of 表5 |
admission-controller组件污点容忍配置 |
请求示例
{ "kind": "Addon", "apiVersion": "v3", "metadata": { "annotations": { "addon.install/type": "install" } }, "spec": { "clusterID": "2292498e-d169-**********-0255ac1001ba", "version": "1.6.2", "addonTemplateName": "node-local-dns", "values": { "basic": { "basickey":"val" }, "flavor": { "replicas": 2, "resources": [{ "limitsCpu": "250m", "limitsMem": "512Mi", "name": "node-local-dns-admission-controller", "requestsCpu": "250m", "requestsMem": "512Mi" }, { "limitsCpu": "500m", "limitsMem": "512Mi", "name": "node-local-dns-cache", "requestsCpu": "25m", "requestsMem": "5Mi" }] }, "custom": { "enable_dnsconfig_admission": true, "enable_namespace_admission": true, "multiAZBalance": false, "multiAZEnabled": false, "node_match_expressions": [], "tolerations": [{ "key": "node.kubernetes.io/not-ready", "operator": "Exists", "effect": "NoExecute", "tolerationSeconds": 60 }, { "key": "node.kubernetes.io/unreachable", "operator": "Exists", "effect": "NoExecute", "tolerationSeconds": 60 }] } } } }