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监控 ...
随机推荐
- parameterized之unittest参数化
unittest没有想testNG那么方便,可以进行参数化,但是有一个第三方库可是实现参数化 安装 pip install parameterized 该库可以在python的所有单元测试框架中使用 ...
- python3.5安装Numpy、mayploylib、opencv等额外库
安装Python很简单,但是安装额外的扩展库就好麻烦,没有了第三方库的Python就是一个鸡肋~~ 我们现在安装NumPy库 1. 首先这里假设你已经安装了Python了,不会的去看我的另一篇博文( ...
- Shell流程控制(if,else,case,while,for,until)
1.条件选择 1.1.if 语句 语法十分简单 #!/bin/bash MATH_SCORES="$1" NAME="$2" if [ -z "${M ...
- TIDB资料收集
https://github.com/pingcap/docs-cn https://github.com/pingcap/docs-cn/blob/master/op-guide/binary-de ...
- swt text 回车 defaultSelected
今天试了一下SWT控件 TEXT 中的回车事件,使用 defaultSelected 进行处理,结果怎么也不能触发事件. 经过仔细排查,发现是TEXT选中了 wrap 的原因,毕竟如果是多行的话,肯定 ...
- javafx链接实现
方式一: Desktop.getDesktop().browse(new URI(manualUrl)); 在linux环境bug 方式二: 转载自:https://stackoverflow.com ...
- remote staging type or host is not specified
idea在tomcat配置中显示此错误 配置下面选上就好了
- 33. 完全卸载oracle11g步骤
完全卸载oracle11g步骤:1. 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务.2. 开始->程序->Oracle - OraHome ...
- 微信支付开发出现redirect_uri参数错误的解决方法
我们在进行微信支付开发的时候会遇到出现“redirect_uri参数错误”这种情况,怎么办呢?下面就是我总结出现这种“redirect_uri参数错误”的七种可能情况,以及解决方式. 1.可能原因①: ...
- centos7.5安装golang
1.下载 [root@localhost bin]#wget https://dl.google.com/go/go1.10.2.linux-amd64.tar.gz [root@localhost ...