想基于K8s按需扩展应用程序,可从这几方面入手
马修·赫瑟(Matthew Heusser)
在花费了十年时间进行编程,测试和项目管理之后,Matt Heusser于2011年创立了自己的公司Excelon Development。该协会前董事会成员Matt还是软件测试人员,是德国波茨坦最具影响力的敏捷测试专业人员(MIATPP)的获得者,他是敏捷测试日会议的两次主要演讲人。Matt是“如何降低软件测试成本”一书的首席编辑,Matt还是由敏捷联盟赞助的技术债务研讨会的主要组织者。作为Excelon的常务董事,Matt目前的重点是DevOps和精益技术,以提高系统性能。
Kubernetes正在成为首选的容器协调器。如果您知道如何配置它,它甚至还具有按需扩展应用程序的能力。
在Docker提供了可以在您的笔记本电脑上运行的小型轻量级虚拟机之后,Kubernetes紧随其后提供了一个实际的生产集群。事实证明,运行生产集群是一项复杂的工作。例如,Kubernetes并非随身携带用于管理扩展的工具。
在本文中,我将讨论Kubernetes中的三个扩展级别。首先,我将使应用程序了解其资源,然后将Kubernetes配置为从云请求更多虚拟机,然后,最后,我将讨论高可用性和多个集群之间的平衡。
应用扩展
尽管Kubernetes能够按比例放大或缩小应用程序,但仍需要“弹性”配置工作。例如,Kubernetes可以跟踪任何一个应用程序将需要的资源,以确保它不会在虚拟机上抛出过多的资源。您可以定义应用程序的内存,CPU和网络带宽需求。为此,您需要在生产环境中对应用程序进行概要分析,以找出那些需求,然后在pod的配置中表达这些需求。如果没有该信息,调度程序将假定资源需求为零,并且很容易使虚拟机具有Pod。
假设应用程序是按比例缩放的,则可能需要运行多个Pod以实现高可用性。这样,您可以执行滚动升级并将正常运行时间保持在接近100%的水平。Kubernetes文档提供了有关扩展部署的教程,但这是手动扩展和缩减资源。的水平波德自动配置器可以监视CPU,存储器及其他指标,并添加,并根据需要除去吊舱。
集群本身将具有资源。如果它运行在按CPU计费的按分钟计费的云中,则希望将该数字保持尽可能小。这引入了一个新的问题,即如何使集群按需扩展。
集群扩展
开箱即用的Kubernetes不能也不可以提供自我扩展的工具。群集是一个群集,不知道其外部的其他资源。但是,可以编写一个监视利用率的中间件工具,该工具也连接到可以提供虚拟机的某些其他服务。这可以是公共云,私有云(如OpenStack)或使用VMWare等工具的虚拟机场。Microsoft,Amazon,IBM和Google都在其云中为Kubernetes用户提供了这种自动缩放技术,并且有开源的Autoscaler工具。
集群扩展的另一个选项是OpenShift,它是运行Kubernetes集群的Red Hat的Container Platform。OpenShift可以分配有资源,并且可以管理按比例放大和缩小这些资源。它还可以管理混合云环境,其中一些资源在内部,而其他资源在公共云中。
集群要求更多资源的想法是一回事。如果要运行多个集群怎么办?
多个集群
问题开始时就像将开发,测试和生产集群作为单独的实体一样简单。没有此限制(或专门的节流限制),弹性群集的性能/负载测试可能会取出生产群集。此外,还需要高可用性,这可能意味着云提供商中不同区域中的多个群集。然后,您将拥有不同的运营部门,在不同的国家/地区运行多个集群,并具有将客户路由到其大陆上的数据中心的功能。
IBM云平台的CTO Jason McGee解释说这是一个乘法问题。算一下,一个跨国公司可能会有数十个不同的Kubernetes集群。这使您对所发生的事情有了一个整体的了解,这是一个挑战-更不用说实际管理资源和成本了。
为了管理自己的22,000多个集群云,IBM构建了Razee,该工具后来可以作为开源提供。
其他选择
在历史的这一点上,应对扩展Kubernetes的挑战基本上是自愿成为一家全面的数字公司。这为亚马逊服务,将Web服务变成了74亿美元的业务。如果您的公司不是亚马逊公司,那么您可以考虑一下荷马·辛普森的话:“其他人不能这样做吗?”
作为另一种选择,您可以考虑群集的用途。您可能需要做一些非常具体的事情,而不是广泛进行,例如在Hadoop中进行大数据挖掘,或启用像Redis这样的NoSQL数据库。像Redis Labs这样的专业提供商已经开始创建托管服务产品,旨在处理一个应用程序并很好地处理它。Redis的产品推广员AlexMiłowski解释了公司如何理解这些扩展问题,并创建了一个操作员工具来管理运行Redis NoSql数据库的Kubernetes集群。该服务产品可以在云中的本地群集(内部部署)中作为云中的托管服务工作,甚至可以管理在裸机服务器上本地运行的Redis。
在未来的24个月中,我预计专业云服务将有所增长,随后这些服务将被主要的云服务提供商收购,或者由云服务提供商创建自己的竞争产品。
因此,请注意,不要眨眼。事情正在快速变化,您不想错过它。
想基于K8s按需扩展应用程序,可从这几方面入手相关推荐
- 基于SSH的可扩展的程序代码源码Web在线评测系统
文档+任务书+开题报告+可行性分析报告+项目源码 摘 要 程序语言课程是计算机相关专业的核心教学内容之一,要提高程序语言设计能力必须通过大量的实践练习与交流.在传统的学习过程中,往往通过人工方式对程序 ...
- 【要闻】如何基于K8s管理1600个微服务?某数字化银行秘诀公开
Cloud Foundry Foundation宣布KubeCF为新孵化项目 Cloud Foundry Foundation是开放源代码项目的聚集地,简化了开发人员的体验,近日其宣布,KubeCF已 ...
- 基于 K8s 做应用发布的工具那么多, 阿里为啥选择灰姑娘般的 Tekton ?
作者 | 邓洪超,阿里云容器平台工程师, Kubernetes Operator 第二人,云原生应用标准交付与管理领域知名技术专家 导读:近年来,越来越多专门给 Kubernetes 做应用发布的工具 ...
- 基于Golang的CLI 命令行程序开发
基于Golang的CLI 命令行程序开发 [阅读时间:约15分钟] 一. CLI 命令行程序概述 二. 系统环境&项目介绍&开发准备 1.系统环境 2.项目介绍 3.开发准备 三.具体 ...
- 基于 K8S 构建数据中心操作系统
在 12 月 22 日 ECUG 的下午场 ,七牛云容器计算部技术总监袁晓沛为大家带来了主题为<基于 K8S 的 DCOS 之路>的精彩分享,向大家介绍了七牛容器云目前 K8S 的状况和产 ...
- k8s redis集群_基于K8S部署redis哨兵集群
本 文 主 要 内 容 什么是Kubernetes分布式容器管理平台 PaaS平台redis-sentinel集群架构简介 PaaS平台部署redis哨兵集群 redis-sentinel容器测试及验 ...
- 基于k8s的测试执行工具:TestKube
之前我们自己开发过一些基于k8s的执行用例执行工具,原理大致是在用例执行的时候动态去k8s上创建容器,执行任务,上报指标,最后销毁容器,不过这些过程基本上与测试过程耦合在一起,难以平移扩展.最近发现了 ...
- 基于DES加密的TCP聊天程序
近闻多大牛写博客已出书,虽才疏学浅,不求著书立说,但求面试官一问,答曰:吾于CSDN发表数篇博文,多热评,又选得<网络安全>一课,于图书馆觅得<网络安全高级软件编程技术>一书, ...
- 基于Mozilla平台的扩展开发(续)----XPCOM组件篇
源代码下载:HelloWorld示例.rar 在<浅谈基于Mozilla ThunderBird的扩展开发>这篇入门文章中简单介绍了基于Mozllia平台进行扩展开发的基础知识,但仍然欠缺 ...
最新文章
- 中科院自动化所介绍深度强化学习进展:从AlphaGo到AlphaGo Zero
- centos 6.5 搭建lnmp环境
- SonarQube系列二、分析dotnet core/C#代码
- java 解析gson_使用Java和Google GSON解析ESPN API
- 免费解决vcruntime140.dll文件缺失 - 资源篇
- java面向服务架构_面向服务的体系架构 SOA(一) --- 基于TCP、HTTP协议的RPC
- linux钩子函数和回调函数,Linux Kernel 学习笔记10:hook函数
- sigv linux 信号,LINUX 信号处理
- rocketmq模块架构图
- JS将16进制颜色转为rgba格式
- 《大数据技术原理与应用》林子雨 期末复习重点(总结)
- 数据结构课设:仓库管理系统(C++)
- 犀牛脚本插件-添加文本-Python-显示窗口-rhino脚本
- 关于“该计算机已安装更高版本的Google Chrome浏览器“问题解决方法
- 关于双硬盘安装双系统
- ckfinder的使用及了解config.xml的配置
- 安卓一键清理内存_雨点清理app下载-雨点清理官方版下载v1.0
- 38年来,NBA最有价值球员|数据分析
- dwc3_gadget_get_link_state
- 2021 PyTorch官方实战教程(一)Tensor 详解