运行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. Python父类和子类关系/继承

    #!/usr/bin/env python # -*- coding: utf-8 -*- """ @File:继承_子类和父类的关系.py @E-mail:364942 ...

  2. 【学习笔记】 $learn \ from \ failure \ ? ( 雾$

    \(1.\)变量名不要用 \(next\) ,在某些编译器里可能是关键词,可以用 \(nxt\) 代替 \(\\\) \(2.\)在判断某些条件时应该写成 flag = 条件 ? 1 : flag; ...

  3. 深入分析Redis的主从复制机制

    一.前言   最近由于疫情影响,时间比较多,所以开始学习之前一直想学,但是却没时间学的Redis.这两天研究了一下Redis的持久化以及主从复制机制,现在已经很晚了,就不多废话了.这篇博客就来谈一谈R ...

  4. Sublime text 3快捷键壁纸版

  5. Python 如何写 Ubuntu syslog

    address='/dev/log' 是关键 import logging from logging.handlers import SysLogHandler logger = logging.ge ...

  6. MySQL事务与并发

      很多程序员都学过MySQL,而且也会写SQL语句.但仅仅会写还远远不够,在面试中以及在工作中,还必须要会事务和并发. 一.事务 事务是满足 ACID 特性的操作,可以通过 Commit 提交事务, ...

  7. Scala教程之:Scala基础

    文章目录 常量 变量 代码块 函数 方法 类 case类 对象 trait main方法 这篇文章我们大概过一下Scala的基础概念,后面的文章我们会有更详细的讲解Scala的具体内容. 常量 在Sc ...

  8. docker 部署FastDFS

    教程:https://blog.csdn.net/fangchao2011/article/details/103202591 教程:https://www.jianshu.com/p/3f80cba ...

  9. Linux网络服务第三章远程访问及控制

    1.笔记 655355:端口限制 监听地址:对外提供服务的地址 AllowUsers:仅允许用户登录 DenyUsers:仅禁止用户登录 AllowUsers-用户名-公网地址 ssh/id_rsa. ...

  10. Java Web:jstl处理字符串

    用法:${fn:methodName(args....)} 在使用这些函数之前必须在JSP中引入标准函数的声明<%@ taglib prefix="fn" uri=" ...