自建Kubernetes集群如何使用弹性容器实例ECI

简介: 虚拟节点(Virtual Node)实现了Kubernetes与弹性容器实例ECI的无缝连接,让Kubernetes集群轻松获得极大的弹性能力,而不必受限于集群的节点计算容量。您可以灵活动态的按需创建ECI Pod,免去集群容量规划的麻烦。本文主要介绍虚拟节点和ECI,通过ack-virtual-node组件如何部署虚拟节点及如何创建ECI Pod。

虚拟节点(Virtual Node)实现了Kubernetes与弹性容器实例ECI的无缝连接,让Kubernetes集群轻松获得极大的弹性能力,而不必受限于集群的节点计算容量。您可以灵活动态的按需创建ECI Pod,免去集群容量规划的麻烦。本文主要介绍虚拟节点和ECI,通过ack-virtual-node组件如何部署虚拟节点及如何创建ECI Pod。

前提条件

  • 自建Kubernetes集群版本需要高于1.14版本。
  • 您需要创建一个注册集群,并将自建Kubernetes集群接入注册集群。具体操作,请参见创建阿里云注册集群并接入自建Kubernetes集群。
  • 您需要开通弹性容器实例服务。登录弹性容器实例控制台开通相应的服务。
  • 您需要确认集群所在区域在ECI支持的地域列表内。登录弹性容器实例控制台查看已经支持的地域和可用区。

虚拟节点和弹性容器实例ECI

阿里云弹性容器实例ECI(Elastic Container Instance)是面向容器的无服务器弹性计算服务,提供免运维、强隔离、快速启动的容器运行环境。使用ECI无需购买和管理底层ECS服务器,让您更加关注在容器应用而非底层基础设施的维护工作。您可按需创建ECI,仅为容器配置的资源付费(按量按秒计费)。

虚拟节点Virtual Node实现了Kubernetes与弹性容器实例ECI的无缝连接,让Kubernetes集群轻松获得极大的弹性能力,而不必受限于集群的节点计算容量。您可以灵活动态的按需创建ECI Pod,免去集群容量规划的麻烦。它非常适合运行在如下多个场景,帮助用户极大降低计算成本,提升计算弹性效率。

  • 在线业务的波峰波谷弹性伸缩:如在线教育、电商等行业有着明显的波峰波谷计算特征。使用虚拟节点可以显著减少固定资源池的维护,降低计算成本。
  • 数据计算:使用虚拟节点承载Spark、Presto等计算场景,有效降低计算成本。
  • CI/CD Pipeline:Jenkins、Gitlab-Runner。
  • Job任务:定时任务、AI。

阿里云容器服务基于虚拟节点和ECI提供了多种Serverless Container产品形态,包括Serverless Kubernetes(ASK)和ACK on ECI,充分支撑各种弹性和免节点运维场景的用户诉求。

image.png

步骤一:在自建集群中配置ack-virtual-node组件RAM权限

在注册集群中安装组件前,您需要在接入集群中设置AK用来访问云服务的权限。设置AK前,您需要创建RAM用户并为其添加访问相关云资源的权限。

  1. 创建RAM用户。有关如何创建RAM用户的具体步骤,请参见创建RAM用户。
  2. 创建权限策略。有关创建权限策略的具体操作步骤,请参见创建自定义策略。请授权RAM的AliyunECIFullAccess策略。
  3. 为RAM用户添加权限。有关如何为RAM用户授权的具体步骤,请参见为RAM用户授权。
  4. 为RAM用户创建AK。有关如何为子账户创建AK,请参见获取AccessKey。
  5. 使用AK在自建Kubernetes集群中创建名为alibaba-addon-secret的Secret资源,步骤二中安装的ack-virtual-node组件将自动引用此AK访问对应的云服务资源。
kubectl -n kube-system create secret generic alibaba-addon-secret --from-literal='access-key-id=<your access key id>' --from-literal='access-key-secret=<your access key secret>'

您需要将上述代码中和替换为您获取的AK信息。

步骤二:在注册集群中部署ack-virtual-node组件

在注册集群中部署ack-virtual-node组件的操作步骤如下:

  1. 登录容器服务管理控制台。
  2. 在集群列表页面找到目标注册集群,点击进入集群详情页面。
  3. 点击运维管理->组件管理,找到ack-virtual-node组件并点击安装image.png
  4. 等待提示安装成功。

步骤三:创建ECI Pod

您可以通过以下两种方法创建ECI Pod。

  • 配置Pod标签。给Pod添加标签alibabacloud.com/eci=true,Pod将以ECI方式运行,其节点是虚拟节点,示例如下:
    1. 执行以下命令给Pod添加标签。
kubectl run nginx --image nginx -l alibabacloud.com/eci=true
    1. 执行以下命令查看Pod。
kubectl get pod -o wide|grep virtual-kubelet
    1. 预期输出:
nginx-7fc9f746b6-r4xgx     0/1     ContainerCreating   0          20s   192.168.XX.XX   virtual-kubelet        <none>           <none>
  • 配置命名空间标签。给Pod所在的命名空间添加标签alibabacloud.com/eci=true,Pod将以ECI方式运行,其节点是虚拟节点,示例如下:
    1. 执行以下命令创建虚拟节点。
kubectl create ns vk
    1. 执行以下命令给Pod所在的命名空间添加标签。
kubectl label namespace vk alibabacloud.com/eci=true
    1. 执行以下命令让命名空间中的Pod调度到虚拟节点上。
kubectl -n vk run nginx --image nginx
    1. 执行以下命令查看Pod。
kubectl -n vk get pod -o wide|grep virtual-kubelet
    1. 预期输出:
nginx-6f489b847d-vgj4d      1/1     Running             0          1m   192.168.XX.XX   virtual-kubelet        <none>           <none>

相关操作

修改ACK虚拟节点配置

虚拟节点Controller的配置决定了其调度ECI Pod的行为和ECI运行环境配置,包括虚拟交换机和安全组配置等。您可以根据需要灵活的修改Controller配置,修改配置后不会影响已经运行的ECI Pod,会立即生效于新建的ECI Pod。

执行以下命令修改虚拟节点Controller的配置。

 

kubectl -n kube-system edit deployment ack-virtual-node-controller

常用的变更操作如下:

  • 更新virtual-node controller版本。当您使用更新虚拟节点功能时,需要更新Virtual Node Controller镜像至最新版本。
  • 修改安全组配置ECI_SECURITY_GROUP。您可以修改此环境变量,改变ECI Pod的安全组。
  • 修改虚拟交换机配置ECI_VSWITCH。您可以修改此环境变量,改变ECI Pod所在的虚拟交换机。建议配置多个虚拟交换机支持多可用区,当单可用区库存不足时,Controller会选择另外一个可用区创建ECI Pod。
  • 修改kube-proxy配置ECI_KUBE_PROXY。此环境变量默认值为true,表示ECI Pod默认可以访问集群中的ClusterIP Service。如果ECI Pod无需访问ClusterIP Service时,例如Job计算场景,您可以设置此环境变量为false关闭kube-proxy功能。另外在一些规模化场景,例如集群中需要启动大量ECI Pod时,ECI中的kube-proxy和kubernetes apiserver之间的并发连接数也会大量增加,您同样可以选择关闭kube-proxy功能,减少对API Server的压力提升可扩展性。
  • 修改kube-system/eci-profile configmap。您可以修改此ConfigMap配置更多ECI相关参数,例如虚拟交换机、安全组等。

删除虚拟节点

  1. 卸载ack-virtual-node组件。
    • 在自建集群中,删除所有ECI Pod后,在组件管理页面卸载ack-virtual-node组件即可。
  1. 通过命令kubectl delete no删除相关虚拟节点。
    说明 当集群中存在ECI Pod时,卸载ack-virtual-node组件会导致ECI实例的残留。

原文链接

本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/513835.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文读懂容器存储接口 CSI

简介&#xff1a; 在《一文读懂 K8s 持久化存储流程》一文我们重点介绍了 K8s 内部的存储流程&#xff0c;以及 PV、PVC、StorageClass、Kubelet 等之间的调用关系。接下来本文将将重点放在 CSI&#xff08;Container Storage Interface&#xff09;容器存储接口上&#xff0c;…

SpringBoot Admin2.0 集成 Java 诊断神器 Arthas 实践

简介&#xff1a; 项目最初使用 Arthas 主要有两个目的&#xff1a; 1. 通过 arthas 解决实现测试环境、性能测试环境以及生产环境性能问题分析工具的问题。 2. 通过使用 jad、mc、redefine 功能组合实现生产环境部分节点代码热更新的能力。 作者 | sparrow 来源 | 阿里巴巴云原…

python在办公上的应用_python自动化办公:玩转word之样式秘笈

上节对python如何定制word的页眉页脚做了详细介绍&#xff0c;当然&#xff0c;要作出一篇精彩的word文档&#xff0c;样式公布可没&#xff0c;本章继续介绍python如何玩转word的样式。 使用样式python如何玩转word的样式 此页面使用前一页中开发的概念而不作介绍。如果术语不…

Gartner发布2021年隐私技术成熟度曲线,数字伦理登上顶点

编辑 | 宋慧 供稿 | Gartner 随着人们日益意识到其个人信息的价值并对透明度的缺乏和持续的滥用感到失望&#xff0c;数字伦理登上了Gartner 2021年隐私技术成熟度曲线的顶点。 Gartner将数字伦理定义为人、企业机构和物之间开展电子交互所遵循的价值和伦理道德原则体系。随着…

微服务+异步工作流+ Serverless,Netflix 决定弃用稳定运行 7 年的旧平台

简介&#xff1a; 2021 年&#xff0c;Netflix 会将大部分的工作负载从 Reloaded 转移到 Cosmos 平台。Cosmos 是一个计算平台&#xff0c;它将微服务的最佳特性与异步工作流以及 Serverless 结合在一起。 作者 | Frank San Miguel 策划 | 田晓旭 2021 年&#xff0c;Netflix …

实时 OLAP, 从 0 到 1

简介&#xff1a; BTC.com 团队在实时 OLAP 方面的技术演进过程及生产优化实践。 作者&#xff5c;高正炎 本文主要介绍 BTC.com 团队在实时 OLAP 方面的技术演进过程及生产优化实践&#xff0c;内容如下&#xff1a; 业务背景机遇挑战架构演进架构优化未来展望一、业务背景 …

Gartner发布2021年数字商务技术成熟度曲线,重点关注四项技术

应用领导人应密切关注可视化配置、数字钱包、客户身份和访问管理以及虚拟客户助理这四项将在未来两年对数字商务产生重大影响的技术。 编辑 | 宋慧 供稿 | Gartner 根据Gartner 2021年数字商务技术成熟度曲线&#xff08;Hype Cycle for Digital Commerce&#xff09;&#x…

鸿蒙手机系统还没有开发,华为鸿蒙手机太难了!引发开发者大吐槽:为何没有自己独特风格?-互联网/电商-文章-小虾米...

【华为鸿蒙手机太难了&#xff01;引发开发者大吐槽&#xff1a;为何没有自己独特风格&#xff1f;】互联网/电商-文章-小虾米2020-12-27 11:32:02 小虾米帐号&#xff1a;军事科技(tabc) 关注我 举报 来源&#xff1a;qq新闻 浏览量(129)【12月28日讯】导语&#xff0c…

Fluid给数据弹性一双隐形的翅膀 (1) -- 自定义弹性伸缩

简介&#xff1a; 弹性伸缩作为Kubernetes的核心能力之一&#xff0c;但它一直是围绕这无状态的应用负载展开。而Fluid提供了分布式缓存的弹性伸缩能力&#xff0c;可以灵活扩充和收缩数据缓存。 它基于Runtime提供了缓存空间、现有缓存比例等性能指标, 结合自身对于Runtime资源…

利用 Python 实现多任务进程

来源&#xff1a;杰哥的IT之旅作者&#xff1a;阿拉斯加一、进程介绍 进程&#xff1a;正在执行的程序&#xff0c;由程序、数据和进程控制块组成&#xff0c;是正在执行的程序&#xff0c;程序的一次执行过程&#xff0c;是资源调度的基本单位。程序&#xff1a;没有执行的代码…

小白也能懂的 Nacos 服务模型介绍

简介&#xff1a; 理解了 Nacos 的服务模型&#xff0c;也有利于我们了解 Nacos 背后的工作原理&#xff0c;从而确保我们正确地使用 Nacos。 作者&#xff1a;岛风 前言 按照目前市场上的主流使用场景&#xff0c;Nacos 被分成了两块功能&#xff1a;服务注册发现&#xff0…

那些与 IE 相伴的日子

来源&#xff1a;零一作者&#xff1a;前端印象大家好&#xff0c;IE 大家都不陌生&#xff0c;毕竟出现在大家的视野中已经很久很久&#xff0c;久到有20多年&#xff0c;当然也因前端技术的快速更新&#xff0c;给需要兼容IE浏览器的前端程序员带来了不少的困扰。慢慢地&…

html代码style图片width,HTML Style columnWidth用法及代码示例

DOM中的columnWidth属性用于指定列的宽度。用法:返回columnWidth属性&#xff1a;object.style.columnWidth设置columnWidth属性&#xff1a;object.style.columnWidth "auto | length | initial | inherit"属性值&#xff1a;auto:缺省值。列宽将由浏览器确定lengt…

KubeVela 1.0 :开启可编程式应用平台的未来

简介&#xff1a; 如果你对云原生领域不太关注&#xff0c;可能对 KubeVela 还没有做过太深入的了解。别着急&#xff0c;本文就借着 v1.0 发布之际&#xff0c;为你详细的梳理一次 KubeVela 项目的发展脉络&#xff0c;解读它的核心思想和愿景&#xff0c;领悟这个正冉冉升起的…

android-x86 镜像iso下载_2019年微软MSDN原版镜像系统下载地址 Win10/7原版系统iso镜像文件...

如今&#xff0c;不少用户开始讨厌以GHOST形式来安装操作系统&#xff0c;虽然步骤十分简单&#xff0c;但是从网上下载的GHOST系统&#xff0c;已经形成了一个黑色产业链&#xff0c;为了盈利&#xff0c;捆绑了软件全家桶、恶意强制主页&#xff0c;甚至捆绑木马&#xff0c;…

大流量场景下如何云淡风轻地进行线上发布?

简介&#xff1a; 本文介绍了微服务治理下金丝雀发布的能力&#xff0c;解决了发布期间少量流量验证新功能的问题。 前言 本文&#xff0c;我们继续聊聊《揭秘大流量场景下发布如丝般顺滑背后的原因》中的另外一环&#xff0c;灰度发布&#xff0c;也叫金丝雀发布。 ​ 很多互…

匿名提问:rm -rf了怎么办?

整理 | 易璜珵出品 | 《新程序员》IT界流传着一个神秘的代码&#xff0c;老程序员听了总是意味深长地一笑&#xff0c;而新手程序员则总是手痒地想试试&#xff0c;那就是删库指令rm -rf。这一行代码下去&#xff0c;海量数据可能就荡然无存。近几年发生的“删库跑路”事件让这…

ubuntu matlab_有没有人和我一起整理Python的matlab代替

想找人一起整理Python中matlab代替的包&#xff0c;最好是能够将常用功能用tkinter封装起来&#xff0c;积少成多&#xff0c;逐步逼近完整。比如将scipy中的最小二乘法拟合功能&#xff0c;找个图形界面封装一下&#xff0c;就变成了曲线拟合工具&#xff0c;可以代替matlab的…

逸仙电商Seata企业级落地实践

简介&#xff1a; 本文将会以逸仙电商的业务作为背景&#xff0c; 先介绍一下seata的原理&#xff0c; 并给大家进行线上演示&#xff0c; 由浅入深去介绍这款中间件&#xff0c; 以便读者更加容易去理解 Seata 这个中间件。 作者 | 张嘉伟&#xff08;GitHub ID&#xff1a;l…

“类云”的存储服务什么样?Pure Storage发布Pure Fusion等系列新品

一键部署自动化存储平台与云原生数据库即服务&#xff0c;无缝连接基础设施运营与应用程序。 编辑 | 宋慧 出品 | CSDN 云计算 近日&#xff0c;专为多云环境提供存储即服务的Pure Storage发布一系列现代化基础设施、运营及应用程序&#xff0c;这是Pure Storage迈向创新现代…