运行Kubernetes的人已经花费太多时间在操作上,企业正在考虑为Kubernetes编写自动化工具。


尽管IT部门的大部分职位都会增加,但职业顾问说,计算机操作员预计会减少。这个角色涉及运行Shell脚本,FTPing文件以及处理异常,但由于诸如cron之类的工具可以实现自动删除操作,导致做同样工作的人越来越少。

事实证明确实如此。如今,运行Kubernetes的人太多,他们花了太多时间进行路由操作。现在,这些工作急需被自动化。

一直以来,谷歌都需要为其不断增长的云服务雇用系统管理员和可靠性的工程师,而根本无法雇用足够的员工。问题是要吸引足够多的人,他们还要足够聪明,有能力成为系统管理员,然后搬到硅谷。因此,Google还是决定建立一个通用框架来管理运行任何应用程序的虚拟机集群。虽然Kubernetes有时被描述为全栈系统,但实际上可能需要干预和管理,例如,随着工作负载的变化而应对扩展。

有关 Kubernetes 操作的专业知识,专家总结为“有状态应用程序的三重奏”——集群管理、负载平衡和复制。这些功能通常与对高可用性的需求相关。根据专家的说法,三种工作大大增加了管理应用程序的工作量。这就是人们增加操作员或编写自动化工具来管理基础架构的关键所在。

Kubernetes 项目为操作员描述了五个级别,有时称为成熟度,这些大致对应于操作员的技能水平。一级能够进行工具的基本安装,包括为运行该应用程序的资源提供资源或与集群协商。第二级提供补丁和次要版本的无缝升级,而第三级包括备份和故障恢复。在第四级,可在处理警报,日志处理和工作量分析,而在第五级,可解决Kuberenetes无法解决的一些扩展问题,以及诸如调优配置或调度的高级主题。工作量。

一旦存在特定工具(例如Redis,CouchDb或Kafka)的自动化操作工具,也会有人将其放在github中分享。创建自动化操作工具可能需要一个人/年,但却能为一个集群节省半个人/年。设想如果部署超过一千家公司和一千个集群呢?

如果你有一个内部应用程序需要关注三重奏(集群、负载平衡和复制),则会导致持续的维护成本。如果你遇到了谷歌那样的规模问题,并且不想聘请软件可靠性工程师团队来完成可以在某种程度上进行编程的工作,那么编写自己的自动化操作工具很有必要。

自动化操作工具由两部分组成:用于执行命令的代码(在Go上编写,Ansible或更简单的工作,在Helm上编写)以及自定义资源定义(CRD)。CRD将操作员代码映射回kubectl命令。这使得调用操作员的功能时需要创建一个YAML文件,并通过kubectl-apply将其传递给Kubernetes。

再说一次,团队中的某人必须了解Ansible或Helm,该代码可能需要存储在版本控制中,并作为软件开发工件进行管理。为了使其不仅仅是一个单点故障,团队将希望第二或第三位程序员应熟练使用Go或Ansible。

小心了!Kubernetes自动化操作工具将让你失去工作的更多相关文章

  1. [Kubernetes]如何让集群为我们工作?

    前一段时间倒腾k8s的时候,写了一系列的博客,有很多人不理解那样做的意义是什么,为什么要那样做,这篇文章就尝试解释一下,在实际环境中,是如何让集群为我们工作的. 因为只研究了一个月左右的时间,认识难免 ...

  2. gulp——用自动化构建工具增强你的工作流程

    想要使用gulp,就要了解gulp,就像追自己的爱豆,你要知道爱豆的喜好.兴趣 简单的了解你的新爱豆———安装nodejs -> 全局安装gulp -> 项目安装gulp以及gulp插件 ...

  3. Kubernetes网络插件Flannel的三种工作模式

    跨主机通信的一个解决方案是Flannel,由CoreOS推出,支持3种实现:UDP.VXLAN.host-gw 一.UDP模式(性能差) 核心就是通过TUN设备flannel0实现(TUN设备是工作在 ...

  4. kubernetes 降本增效标准指南| 资源利用率提升工具大全

    背景 公有云的发展为业务的稳定性.可拓展性.便利性带来了极大帮助.这种用租代替买.并且提供完善的技术支持和保障的服务,理应为业务带来降本增效的效果.但实际上业务上云并不意味着成本一定较少,还需适配云上 ...

  5. Kubernetes理论基础

    Kubernetes理论基础 Kubernetes定义 ​ kubernetes是Google开源的容器集群管理系统,2014年6月开源.在Docker技术之上,为容器应用提供资源调度.部署运行.服务 ...

  6. Kubernetes client-go

    Github地址:https://github.com/kubernetes/client-go 访问kubernetes集群有几下几种方式: 方式 特点 支持者 Kubernetes dashboa ...

  7. Kubernetes v1.17 版本解读 | 云原生生态周报 Vol. 31

    作者 | 徐迪.李传云.黄珂.汪萌海.张晓宇.何淋波 .陈有坤.李鹏审核 | 陈俊 上游重要进展 1. Kubernetes v1.17 版本发布 功能稳定性是第一要务.v1.17 包含 22 个增强 ...

  8. [转帖]Kubernetes v1.17 版本解读 | 云原生生态周报 Vol. 31

    Kubernetes v1.17 版本解读 | 云原生生态周报 Vol. 31 https://www.kubernetes.org.cn/6252.html 2019-12-13 11:59 ali ...

  9. kubernetes 1.9 安装部署

    参考地址:https://github.com/gjmzj/kubeasz 引言 提供快速部署高可用k8s集群的工具,基于二进制方式部署和利用ansible-playbook实现自动化,既提供一键安装 ...

随机推荐

  1. Linux学习笔记(四)帮助命令

    帮助命令 man info help --help man 英文原意:format and display the on-line manual pages 功能:显示联机帮助手册 语法:man 选项 ...

  2. 前端学习笔记-JavaScript

    js引入方式: 1.嵌入js的方式:直接在页内的script标签内书写js功能代码. <script type="text/javascript">alert('hel ...

  3. vue2.x学习笔记(十)

    接着前面的内容:https://www.cnblogs.com/yanggb/p/12584237.html. 事件处理 使用javascript当然少不了事件处理,即使是vue也不会例外. 监听事件 ...

  4. 详解JS闭包概念

    闭包理解 1.  如何产生闭包?    *当一个嵌套的内部(子)函数引用了嵌套的外部(父)函数的变量(函数)时,产生闭包 2.  闭包到底是什么?    * 使用Chrome调试查看    * 理解一 ...

  5. 吃瓜的正确姿势,Python绘制罗志祥词云图

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 这篇文章中向大家介绍了Python绘制词云的方法,不难看出绘制词云可以说是一 ...

  6. s3cmd s3命令行工具

    Amazon S3 Tools: Command Line S3 Client Software and S3 Backup 官方网站

  7. python 中自带的堆模块heapq

    import heapq my_heap = [] #使用列表保存数据 #网列表中插入数据,优先级使用插入的内容来表示,就是一个比较大小的操作,越大优先级越高 heapq.heappush(my_he ...

  8. Qt 用户通过对话框选择文件

    void class::on_pushButton_clicked() { fileFullPath = QFileDialog::getOpenFileName(this, tr("Sel ...

  9. [Qt] 去除窗体右上角的问号

    this->setWindowFlags(windowFlags()&~Qt::WindowContextHelpButtonHint);

  10. Angular 7开发环境配置

    目录 前言 一.搭建项目  1.安装Angular CLI  2.创建项目  3.集成Element Angular 二.设置路由  1.创建路由模块  2.导入.导出RouterModule类  3 ...