开发者社区> 问答> 正文

如何通过虚拟节点对接Kubernetes集群?

如何通过虚拟节点对接Kubernetes集群?

展开
收起
小天使爱美 2020-03-20 18:45:01 1112 0
1 条回答
写回答
取消 提交回答
  • 简介 本文主要介绍把 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自动调度到虚拟节点

    2020-03-20 18:47:11
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ACK 云原生弹性方案—云原生时代的加速器 立即下载
ACK集群类型选择最佳实践 立即下载
企业运维之云原生和Kubernetes 实战 立即下载

相关镜像