简介 本文主要介绍把 ECI 通过虚拟节点(virtual node)方式接入到您的阿里云 Kubernetes 集群,ECI 与 Kubernetes 的Pod 为一一对应的关系。有了虚拟节点,当您的 Kubernetes 集群需要扩容时,无需规划node节点计算容量,直接使用虚拟节点动态创建ECI实例,ECI实例与您集群中的真实节点上的Pod网络互联互通。虚拟节点的工作原理参考 virtual-kubelet 。此外,虚拟节点以Pod为单位按需收费,收费规则参考 ECI计费ack-vn-scenario
前置准备 登录阿里云容器服务 Kubernetes 控制台 查看您的集群。如果您还没有集群,参考创建 Kubernetes 集群 安装 ack-virtual-node 插件 配置虚拟节点(可选) 1. 在控制台配置虚拟节点 登录容器服务 Kubernetes 控制台,依次选择 『节点』—>『集群』,确认虚拟节点已经部署完成 ack1
登录容器服务 Kubernetes 控制台,依次点击 『市场』 —>『应用目录』 —> 『Helm 发布列表』 ack2
选择需要编辑的虚拟节点,点击『更新』 ack3
更改配置,本章节主要介绍配置多可用区和Pod quota, 其余配置参考 部署virtual-kubelet
配置多可用区:编辑env下的 ECI_VSWITCH ,配置多可用区交换机ID(交换机ID与可用区为一一对应关系,您可以访问 专有网络控制台 查询您的交换机信息),注意VSwitch要属于同一个VPC下,编辑完成后点击 『更新』,配置完成之后,新创建的Pod将会随机调度到多可用区,如果某个可用区出现库存不足,虚拟节点将会为您往其他可用区调度。ack5
配置虚拟节点Pod quota,以下是相关参数说明,由于virtual-kubelet会以Pod形态部署在您集群的真实节点,如果Pod数量超过1000,virtual-kubelet负载较大,建议把virtual-kubelet所在真实节点的配置升级到8c16g以上。参考 升级ECS配置
参数 参数说明 ECI_VSWITCH 虚拟节点交换机配置 ECI_QUOTA_POD 虚拟节点可弹出的Pod上限,默认值1000个 ECI_QUOTA_CPU 虚拟节点可以弹出的CPU总核数,默认值64000 ECI_QUOTA_MEMORY 虚拟节点可以弹出的Memory总数,默认值64Ti 在集群中配置虚拟节点 通过以下命令获取虚拟节点的运行状况,注意这里需要指定命名空间为 kube-system
kubectl get deploy -n kube-system 下图中的 ack-virtaul-node-controller 就是虚拟节点 ack6
通过以下命令编辑虚拟节点的配置信息,注意这里需要指定命名空间为 kube-system
kubectl edit deploy ack-virtual-node-controller -n kube-system --record 将Pod创建调度到虚拟节点上 请参考 在虚拟节点上创建Pod
真实节点资源不够自动调度到虚拟节点 当您的真实节点cpu、mem资源不够时,您可以使用 virtual-kubelet-autoscaler 插件将Pod创建调度到虚拟节点,无需再预先分配node资源,具体方式参考 通过 virtual-kubelet-autoscaler 将Pod自动调度到虚拟节点
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。