带你读《云原生应用开发:Operator原理与实践》——1.1.4 云原生应用开发与管理

简介: 带你读《云原生应用开发:Operator原理与实践》——1.1.4 云原生应用开发与管理

1.1.4 云原生应用开发与管理


虽然 Kubernetes 提供了 Pod、Deployment、Service、Configmap 等资源来抽象应用特征,并且通过编写 Yaml 文件来编排应用,但是这样的方式仍然不太可行,特别是在编写复杂应用时。同时,从应用生命周期来看,kubectl apply -f myapp.yaml 只是其中一个步骤,在实际的生产环境中,还需要进行应用的生命周期管理,例如,对应用进行升降级、版本管理、扩缩容、运维管理、配置管理等。


2015 年,第一个尝试解决这些问题的管理工具 Helm 诞生。它受到 Yum(Yellow dog Updater,Modified)、APT(Advanced Packaging Tool)、Homebrew 等包管理工具的影响,通过将应用的部署模板压缩成包(Chart),并标明版本号来管理、分发应用。它支持部署、更新、回滚、版本管理等功能,通过构建 Helm Repository,允许查找、分享 Helm Chart。

Helm is the best way to find, and use software built for Kubernetes(摘自 Helm 官网)。

随着 Kubernetes 的应用越来越广泛,很多复杂的有状态应用也逐渐使用 Kubernetes部署,这不是 Helm 所擅长的。2016 年,CoreOS 公司(2018 年被 Red Hat 收购)推出了Operator。它的核心理念是将日常的运维工作通过软件的方式内置到应用中,以满足业务应用的管理、监控、运维等需求。Red Hat Openshift 官网这样描述 Operator:

Automate the creation, configuration, and management of instances of Kubernetesnative applications。

例如,Operator 可以将以下工作实现自动化。

(1)按需部署应用。

(2)备份、恢复应用的状态和数据。

(3)有状态应用的升级,例如包含数据库 Schema 变更的升级。

(4)当应用不支持服务发现时,Operator 可以将 Kubernetes Service 暴露给应用。

(5)在高可用测试中,Operator 可以模拟 Kubernetes 集群故障。

(6)当分布式应用内部未实现选举功能时,Operator 可以帮助应用实现选举。

2019 年初,Red Hat 联合 AWS、Google、Microsoft 等公司推出了 OperatorHub.io,类似于 DockerHub,供开发者和用户分享、使用 Operator(如图 1-8 所示)。目前已经有180 多款 Operator,涉及众多方面,如数据库、大数据、人工智能、监控、日志、网络、安全。

在 GitHub 上,也有大量优秀的 Operator 开源方案,可以说,Operator 已经成为分布式应用在 Kubernetes 集群上部署的首选方案。

image.png

图 1-8 OperatorHub.io

本书将对 Operator 进行深度分析和实践,帮助大家快速掌握使用 Operator 编写Kubernetes-native 应用的方法。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
2月前
|
缓存 Java API
【云原生】Spring Cloud Gateway的底层原理与实践方法探究
【云原生】Spring Cloud Gateway的底层原理与实践方法探究
|
2月前
|
Kubernetes Cloud Native 开发工具
带你读《云原生应用开发:Operator原理与实践》精品文章合集
带你读《云原生应用开发:Operator原理与实践》精品文章合集
|
3月前
|
人工智能 缓存 Kubernetes
.NET 9 首个预览版发布:瞄准云原生和智能应用开发
.NET 9 首个预览版发布:瞄准云原生和智能应用开发
|
7月前
|
Cloud Native 架构师 Java
谷歌架构师分享gRPC与云原生应用开发Go和Java为例文档
随着微服务和云原生相关技术的发展,应用程序的架构模式已从传统的单体架构或分层架构转向了分布式的计算架构。尽管分布式架构本身有一定的开发成本和运维成本,但它所带来的收益是显而易见的。
|
2月前
|
Kubernetes Cloud Native 微服务
作者推荐|剖析云原生服务框架中服务发现机制的核心原理与实现机制
作者推荐|剖析云原生服务框架中服务发现机制的核心原理与实现机制
45 0
|
2月前
|
Java fastjson 数据安全/隐私保护
【Dubbo3技术专题】「云原生微服务开发实战」 一同探索和分析研究RPC服务的底层原理和实现
【Dubbo3技术专题】「云原生微服务开发实战」 一同探索和分析研究RPC服务的底层原理和实现
44 0
|
2月前
|
运维 Cloud Native 持续交付
云原生技术的未来展望:如何塑造下一代应用开发
【2月更文挑战第30天】 随着云计算的不断发展,云原生技术已经成为推动现代应用开发的重要力量。本文将深入探讨云原生技术的核心概念,分析其在提高开发效率、降低运维成本以及支持复杂业务场景中的作用。同时,文章还将预测云原生技术的发展趋势,并讨论如何在不断变化的技术环境中保持应用的敏捷性和可靠性。
|
2月前
|
消息中间件 存储 Cloud Native
【Spring云原生系列】Spring RabbitMQ:异步处理机制的基础--消息队列 原理讲解+使用教程
【Spring云原生系列】Spring RabbitMQ:异步处理机制的基础--消息队列 原理讲解+使用教程
|
5月前
|
Kubernetes Cloud Native NoSQL
TuGraph Analytics云原生部署:基于K8S Operator的轻量级作业启动方案
TuGraph Analytics作业可以通过Console提交部署到K8S集群,但Console是一个独立的Web系统,部署形态上相对较重。在平台工具系统接入或大数据生态集成场景中,需要更轻量级的快速接入TuGraph Analytics的方案。
|
11月前
|
SQL Kubernetes Cloud Native
云原生数据库PolarDB分布式版(PolarDB-X)原理导读
由于PolarDB-X相关文档比较丰富,知识点分布广泛,因此我专门整理一篇导读文章帮助大家更有节奏有方向的学习。本文所推荐文章会按照由浅入深的顺序,并且每个知识点前都会进行提问,大家可以带着问题进入章节学习。最后希望大家都能领会到分布式数据库的魅力。

热门文章

最新文章