OpenShift 4 - 使用 Opeartor 运行管理云原生应用生命周期(附视频)

OpenShift / RHEL / DevSecOps 汇总目录
文本已在OpenShift 4.10环境中进行验证。

Opeartor 的调解(Reconcilition)功能

Kubernetes 的 Operator 是一种封装、部署和管理云原生应用的机制。我们可以将云原生应用相关资源对象封装到 Operator 中的 Customer Resources (CR)中,这样 Operator 就可以管理云原生应用生命周期,包括:创建、升级、删除、自愈、备份等。

当应用以 CR 方式运行期间,Operator 可以持续监控其状态,一旦发现当前状态和用户期望的状态不同,Operator 会进行自动调解(Reconcilition),将状态修正到用户期望的状态。
在这里插入图片描述
因为 Opeartor 的自动调解(Reconcilition)机制,使得直接对 CR 包括的 Kubernetes 对象(例如 Deployment、Service等)进行修改是无效的。这种情况,我们需要通过修改 CR 实例的配置才能实现修改云应用的配置的目的。

OpenShift 的 Operator Hub

在 OpenShift 的 Opeartor Hub 中提供了大量的红帽、开源社区以及第三方提供 Opertor。这些 Operator 覆盖云原生应用、数据库/大数据、AI/ML、开发工具、CI/CD、日志监控、等各个领域。由于 Opeartor 很好地对复杂这些软件运行环境和管理进行了封装,因此能有效地降低运维人员学习这些专业化软件环境的门槛、以及操作复杂性和难度。
在这里插入图片描述

用 Runtime Component Operator 运行容器应用

通常情况,要想通过 Opeator 运行一个应用需要根据 Opeator Frame 并使用 go、Helm 或 Ansible 实现 Operator。不过在 OpenShift 中提供了名为 Runtime Component 的 Operator,它可动态将云原生应用的资源对象封装到名为 RuntimeComponent 的标准 CR 中,这样就无需针对每个应用开发、封装一套 Opeartor 了。

以下介绍如果通过 Runtime Component Operator 运行测试应用:

  1. 通过在 OpenShift 控制台创建一个名为 hello 的项目。
  2. 使用默认配置安装 Runtime Component Operator,安装好后将会看到 Runtime Component。
    在这里插入图片描述
  3. 进入安装好的 Runtime Component Operator ,创建 RuntimeComponent 实例。
    在这里插入图片描述
  4. 在 Application Image 中提供 “docker.io/openshift/hello-openshift” 镜像名,Service Port 设为 hello-openshift 用到的 8080 端口。注意:Runtime Component 只持支运行 Image,不支持 OpenShift 的 s2i,而且 Image 需要使用带域名的全路径地址。
    在这里插入图片描述
    在这里插入图片描述
  5. 创建 Runtime Component 完后可以看到该实例的状态为 “Reconciled”,即当前运行状态符合CR定义的期望状态。
    在这里插入图片描述
  6. 进入 Runtime Component 实例后可以在 Resources 中看到所有通过 CR 维护的资源。
    在这里插入图片描述
  7. 通过 Route 确认可以访问 hello-openshift 应用。
  8. 进入到 OpenShift 开发者视图,可以调整 pod 数量,或者更改 Deployment 的其他配置(标签,健康检查)。确认这些直接修改操作是无效的。
    在这里插入图片描述
  9. 通过 “操作” 删除 Deployment,确认提示 “该资源由 runtimecomponent-sample 管理,任何修改都可能会被覆盖。编辑管理资源以保留更改”。所以 Deployment 也无法直接修改。
    在这里插入图片描述
    在这里插入图片描述
  10. 修改 runtimecomponent-sample 实例的 YAML,将 “replicas” 的数量改为 2。
    在这里插入图片描述
  11. 确认此时 Deployment 中的 pod 数量增加到 2 了。
    在这里插入图片描述

演示视频

视频

参考

https://github.com/application-stacks/runtime-component-operator/blob/main/doc/user-guide-v1beta2.adoc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值