k8s operator
https://coreos.com/blog/introducing-operators.html
Site Reliability Engineer(SRE)是通过编写软件来运行应用程序的人员。 他们是工程师,开发人员,知道如何专门为特定应用领域开发软件。 由此产生的软件具有编程到其中的应用程序的操作领域知识。
我们的团队一直忙于Kubernetes社区设计和实现这一概念,以便在Kubernetes上可靠地创建,配置和管理复杂的应用程序实例。
我们将这类新的软件称为Operators。 Operator是一个特定于应用程序的控制器,它扩展了Kubernetes API,以代表Kubernetes用户创建,配置和管理复杂有状态应用程序的实例。 它建立在基本的Kubernetes resource and controller概念的基础上,但包括域或特定于应用程序的知识,以自动执行常见任务。
Stateless is Easy, Stateful is Hard
使用Kubernetes,开箱即用地管理和扩展Web应用程序,移动后端和API服务相对容易。为什么?由于这些应用程序通常是无状态的,因此基本的Kubernetes API(如deployments)可以在没有其他知识的情况下从故障中扩展和恢复。
更大的挑战是管理有状态的应用程序,如数据库,缓存和监控系统。这些系统需要应用领域知识才能正确扩展,升级和重新配置,同时防止数据丢失或不可用。我们希望将这种特定于应用程序的操作知识编码到软件中,利用功能强大的Kubernetes抽象来正确运行和管理应用程序。
一个operator是对该领域知识进行编码并通过第三方资源机制扩展Kubernetes API的软件,使用户能够创建,配置和管理应用程序。与Kubernetes的内置资源一样,operator不仅管理应用程序的单个实例,而是管理群集中的多个实例。
为了演示运行代码中的Operator概念,我们今天有两个具体的例子要宣布为开源项目:
etcd Operator创建,配置和管理etcd集群。 etcd是由CoreOS引入的可靠的分布式键值存储,用于维护分布式系统中最关键的数据,是Kubernetes本身的主要配置数据存储。
https://coreos.com/blog/introducing-the-etcd-operator.html
Prometheus Operator创建,配置和管理Prometheus监控实例。 Prometheus是一个功能强大的监控,指标和警报工具,以及CoreOS团队支持的Cloud Native Computing Foundation(CNCF)项目。
https://coreos.com/blog/the-prometheus-operator.html
operators基于两个核心的Kubernetes概念:Resources和Controllers。 例如,内置的ReplicaSet资源允许用户设置要运行的所需数量的Pod,而Kubernetes中的controllers通过创建或删除正在运行的Pod来确保ReplicaSet资源中设置的所需状态保持为真。 Kubernetes中有许多以这种方式工作的基本controllers和resources,包括Service,Deployments和Daemon Sets。
Example 1a: A single pod is running, and the user updates the desired Pod count to 3.
Example 1b: A few moments later and controllers inside of Kubernetes have created new Pods to meet the user's request.
operator基于Kubernetes的基本资源和控制器概念,并添加一组知识或配置,允许操作员执行常见的应用程序任务。 例如,当手动扩展etcd集群时,用户必须执行许多步骤:为新的etcd成员创建DNS名称,启动新的etcd实例,然后使用etcd管理工具(etcdctl成员添加)来告诉 关于这个新成员的现有集群。 而使用etcd operator,用户可以简单地将etcd簇大小字段增加1。
Example 2: A backup is triggered by a user with kubectl
operator可能处理的复杂管理任务的其他示例包括应用程序升级的安全协调,备份到异地存储的配置,通过本机Kubernetes API的服务发现,应用程序TLS证书配置和灾难恢复。
k8s operator的更多相关文章
- 使用k8s operator安装和维护etcd集群
关于Kubernetes Operator这个新生事物,可以参考下文来了解这一技术的来龙去脉: https://yq.aliyun.com/articles/685522?utm_content=g_ ...
- 在Kubernetes上运行有状态应用:从StatefulSet到Operator
一开始Kubernetes只是被设计用来运行无状态应用,直到在1.5版本中才添加了StatefulSet控制器用于支持有状态应用,但它直到1.9版本才正式可用.本文将介绍有状态和无状态应用,一个通过K ...
- 基于 K8s 做应用发布的工具那么多, 阿里为啥选择灰姑娘般的 Tekton ?
作者 | 邓洪超,阿里云容器平台工程师, Kubernetes Operator 第二人,云原生应用标准交付与管理领域知名技术专家 导读:近年来,越来越多专门给 Kubernetes 做应用发布的 ...
- 容器编排系统K8s之StatefulSet控制器
前文我们聊到了k8s的configmap和secret资源的说明和相关使用示例,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/14194944.html:今天 ...
- [源码解析] 深度学习分布式训练框架 horovod (20) --- Elastic Training Operator
[源码解析] 深度学习分布式训练框架 horovod (20) --- Elastic Training Operator 目录 [源码解析] 深度学习分布式训练框架 horovod (20) --- ...
- 在 Nebula K8s 集群中使用 nebula-spark-connector 和 nebula-algorithm
本文首发于 Nebula Graph Community 公众号 解决思路 解决 K8s 部署 Nebula Graph 集群后连接不上集群问题最方便的方法是将 nebula-algorithm / ...
- 开源 serverless 产品原理剖析 - Kubeless
背景 Serverless 架构的出现让开发者不用过多地考虑传统的服务器采购.硬件运维.网络拓扑.资源扩容等问题,可以将更多的精力放在业务的拓展和创新上. 随着 serverless 概念的深入人心, ...
- CNCF 宣布成立应用交付领域小组,正式开启云原生应用时代
作者|赵钰莹 作为云原生领域的顶级开源社区, Cloud Native Computing Foundation (云原生基金会,以下简称 CNCF)近日宣布成立 Application Delive ...
- 【译】Kubernetes监控实践(2):可行监控方案之Prometheus和Sensu
本文介绍两个可行的K8s监控方案:Prometheus和Sensu.两个方案都能全面提供系统级的监控数据,帮助开发人员跟踪K8s关键组件的性能.定位故障.接收预警. 拓展阅读:Kubernetes监控 ...
随机推荐
- scrapy中 selenium(中间件) + 语言处理 +mysql
在通过scrapy框架进行某些网站数据爬取的时候,往往会碰到页面动态数据加载的情况发生,如果直接使用scrapy对其url发请求,是绝对获取不到那部分动态加载出来的数据值.但是通过观察我们会发现,通过 ...
- DOM常用的属性和方法
之前一直傻傻分不清DOM和JavaScript究竟有什么区别,随着相关工作时间的增长,开始逐渐区分DOM和JavaScript了,最近,也一直在复习有关DOM方面的知识,<JavaScript ...
- 运行vbs脚本
VBS是基于Visual Basic的脚本语言. VBS的全称是:Microsoft Visual Basic Script Edition.(微软公司可视化BASIC脚本版). 其语言类似Visua ...
- TessorFlow学习 之 手写数字识别的搭建
手写数字识别的搭建
- pip 国内源
pip install django -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com pip in ...
- 使用uni-app开发微信小程序之登录模块
从微信小程序官方发布的公告中我们可获知:小程序体验版.开发版调用 wx.getUserInfo 接口,将无法弹出授权询问框,默认调用失败,需使用 <button open-type=" ...
- centos7 更新yum报错initscripts conflicts with centos-release-7-3.1611.el7.centos.x86_64
1.centos7的系统的yum 更新系统报错: --> 解决依赖关系完成错误:initscripts conflicts with centos-release-7-3.1611.el7.ce ...
- requestAnimFrame动画兼容性封装
window.requestAnimFrame=function(){ return window.requestAnimationFrame ||window.webkitRequestAnimat ...
- HTML5 Canvas 小例子 旋转的时钟
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- IIS asp 401.1错误
asp程序使用非匿名帐户运行时因用户名前带了计算机名会导致出现401.1错误,只要直接输入用户名即可,不要带计算机名.