运行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. testNG 问题总结

    1. Eclipse中TestNG报告乱码问题 在eclipse 安装根目录下的eclipse.ini 文件,在最后增加 -Dfile.encoding=UTF-8

  2. [git] github上传项目(使用git)、删除项目、添加协作者

    来源:http://www.cnblogs.com/sakurayeah/p/5800424.html (怕链接失败,所以直接就就复制过来啦,感谢作者) 一.注册github账号 github网址ht ...

  3. react: typescript jest && enzyme

    Install Jest 1.install jest dependencies jest @types/jest ts-jest -D 2.jest.config.js module.exports ...

  4. 进制之间转换——day_01

    一.计算机文件大小单位 b = bit 位(比特) B = Byte 字节 1B = 8b #一个字节等于8位 简写 1Byte = 8 bit 1KB = 1024B 1MB = 1024KB 1G ...

  5. 2019-2020-1 20199308《Linux内核原理与分析》第七周作业

    <Linux内核分析> 第六章 进程的描述和进程的创建 6.1 进程的描述 操作系统内核实现操作系统的三大管理功能: 进程管理(进程)-核心 内存管理(虚拟内存) 文件系统(文件) 为了管 ...

  6. 吕建文 20199303《Linux内核原理与分析》第十二周作业

    ShellShock攻击实验 2014年9月24日,Bash中发现了一个严重漏洞shellshock,该漏洞可用于许多系统,并且既可以远程也可以在本地触发.在本实验中,学生需要亲手重现攻击来理解该漏洞 ...

  7. [Qt] 去掉QMessageBox标题栏上的图标

    msgBox.setWindowFlags(Qt::Drawer);

  8. QT踩坑记录1-多线程信号与槽

    QT踩坑记录1-多线程信号与槽 QTC++Bugs 错误输出 无错误输出, 但是声明了信号的连接,但是无法使用 程序中就是无命令 介绍 QT 典型程序 #include <QObject> ...

  9. Random Number Generator

    rand()函数可以产生[0,RAND_MAX]之间的均匀的伪随机数,它定义在头文件stdlib.h中,函数原型: int rand(void); C标准库的实现是: unsigned ; /*ran ...

  10. 数学--数论--HDU - 6395 Let us define a sequence as below 分段矩阵快速幂

    Your job is simple, for each task, you should output Fn module 109+7. Input The first line has only ...