Strimzi从入门到精通系列之一:部署Cluster Operator

这篇具有很好参考价值的文章主要介绍了Strimzi从入门到精通系列之一:部署Cluster Operator。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、认识Strimzi

  • Strimzi是一款用于在Kubernetes集群上管理Apache Kafka的开源项目。它使得在Kubernetes上部署、管理和监控Kafka成为可能,提供了一种高度可扩展和可靠的解决方案。Strimzi支持自动缩放、配置灵活、内置监控和告警等功能。通过使用Strimzi,用户可以将Kafka集成到Kubernetes和OpenShift中,并享受到自动化、简单部署和可靠性的好处。

二、Strimzi的核心知识点

  1. Kafka在Kubernetes中的部署和管理:Strimzi提供了一种足够简单且可扩展的方法来在Kubernetes中部署和管理Apache Kafka集群。

  2. 操作Kafka集群:Strimzi可用于对Kafka集群进行管理和操作,包括创建和删除Kafka Topic、更改Kafka Broker配置、动态增加和减少Broker数量等。

  3. 与Kubernetes的集成:Strimzi与Kubernetes集成得非常紧密,使得Kafka集群可以受益于Kubernetes为应用程序提供的优点,如自动化、弹性、伸缩等。

  4. 自动缩放和容错:Strimzi支持Kafka自动扩容和容错,可以根据负载自动增加或减少Kafka Broker数量,同时还能够自动平衡partition分布,从而提高Kafka的可靠性和可用性。

  5. 监控和告警:Strimzi内置了监控和告警功能,可以监控Kafka集群的健康状况和性能数据,提供对Kafka集群的可视化监控和警报功能。

  6. 灵活的配置:Strimzi提供了灵活的配置选项,可以灵活地配置Kafka Broker和Topic的属性、日志级别、安全性和认证等。

  7. 扩展和定制:Strimzi是一个扩展性强、可定制的开源项目,用户可以根据自己的需求进行定制和扩展,从而满足特定的业务要求。

三、认识Cluster Operator

  • Strimzi的Cluster Operator是一个自定义的Kubernetes操作符,用于管理和运行Kafka集群。
  • 它是Strimzi的核心组件之一,负责监视Kafka集群的运行状态、处理集群级别的配置变更、创建、删除和更新Kafka集群资源等。
  • Cluster Operator可以自动化部署、升级和维护Kafka集群,使得Kafka集群可以自动化、高效地运行在Kubernetes中。
  • 主要用途是将Kafka和Kubernetes整合在一起,提供了一种简单、可扩展且可靠的方式来管理Kafka集群。

四、部署 Cluster Operator 以监视单个命名空间

此过程演示如何部署 Cluster Operator 以监视 Kubernetes 集群中单个命名空间中的 Strimzi 资源。

先决条件

  • 您需要一个有权创建和管理 CustomResourceDefinition 和 RBAC(ClusterRole 和 RoleBinding)资源的帐户。

程序

  1. 编辑 Strimzi 安装文件以使用 Cluster Operator 将安装到的命名空间。
    例如,在此过程中,Cluster Operator 安装到命名空间 my-cluster-operator-namespace 中。

在 Linux 上,使用:

sed -i 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yaml

在MacOS上,使用:

sed -i '' 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yaml

2.部署集群操作器:

kubectl create -f install/cluster-operator -n my-cluster-operator-namespace

3.检查部署状态:

kubectl get deployments -n my-cluster-operator-namespace

输出显示部署名称和准备情况

NAME                      READY  UP-TO-DATE  AVAILABLE
strimzi-cluster-operator  1/1    1           1

READY 显示已准备好/预期的副本数量。当 AVAILABLE 输出显示 1 时,部署成功。

五、部署 Cluster Operator 以监视多个命名空间

此过程演示如何部署 Cluster Operator 以跨 Kubernetes 集群中的多个命名空间监视 Strimzi 资源。

先决条件

  • 您需要一个有权创建和管理 CustomResourceDefinition 和 RBAC(ClusterRole 和 RoleBinding)资源的帐户。

程序

  1. 编辑 Strimzi 安装文件以使用 Cluster Operator 将安装到的命名空间。

    例如,在此过程中,Cluster Operator 安装到命名空间 my-cluster-operator-namespace 中。

在 Linux 上,使用:

sed -i 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yaml

在MacOS上使用:

sed -i '' 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yaml

2.编辑 install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml 文件,将 Cluster Operator 将监视的所有命名空间的列表添加到 STRIMZI_NAMESPACE 环境变量中。

例如,在此过程中,Cluster Operator 将监视命名空间 Watched-namespace-1、watched-namespace-2、watched-namespace-3。

apiVersion: apps/v1
kind: Deployment
spec:
  # ...
  template:
    spec:
      serviceAccountName: strimzi-cluster-operator
      containers:
      - name: strimzi-cluster-operator
        image: quay.io/strimzi/operator:0.35.1
        imagePullPolicy: IfNotPresent
        env:
        - name: STRIMZI_NAMESPACE
          value: watched-namespace-1,watched-namespace-2,watched-namespace-3

3.对于列出的每个命名空间,安装 RoleBindings。

在此示例中,我们将这些命令中的 Watched-namespace 替换为上一步中列出的命名空间,并对 Watched-Namespace-1、Watched-Namespace-2、Watched-Namespace-3 重复它们:

kubectl create -f install/cluster-operator/020-RoleBinding-strimzi-cluster-operator.yaml -n <watched_namespace>
kubectl create -f install/cluster-operator/023-RoleBinding-strimzi-cluster-operator.yaml -n <watched_namespace>
kubectl create -f install/cluster-operator/031-RoleBinding-strimzi-cluster-operator-entity-operator-delegation.yaml -n <watched_namespace>

4.部署集群操作器:

kubectl create -f install/cluster-operator -n my-cluster-operator-namespace

5.检查部署状态:

kubectl get deployments -n my-cluster-operator-namespace

输出显示部署名称和准备情况

NAME                      READY  UP-TO-DATE  AVAILABLE
strimzi-cluster-operator  1/1    1           1

READY 显示已准备好/预期的副本数量。当 AVAILABLE 输出显示 1 时,部署成功。

六、部署 Cluster Operator 以监视所有命名空间

此过程演示如何部署 Cluster Operator 以监视 Kubernetes 集群中所有命名空间中的 Strimzi 资源。

在此模式下运行时,Cluster Operator 会自动管理创建的任何新命名空间中的集群。

先决条件

  • 您需要一个有权创建和管理 CustomResourceDefinition 和 RBAC(ClusterRole 和 RoleBinding)资源的帐户。

程序

  1. 编辑 Strimzi 安装文件以使用 Cluster Operator 将安装到的命名空间。

    例如,在此过程中,Cluster Operator 安装到命名空间 my-cluster-operator-namespace 中。

在 Linux 上,使用:

sed -i 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yaml

在MacOS上使用:

sed -i '' 's/namespace: .*/namespace: my-cluster-operator-namespace/' install/cluster-operator/*RoleBinding*.yaml

2.编辑 install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml 文件,将 STRIMZI_NAMESPACE 环境变量的值设置为 *。

apiVersion: apps/v1
kind: Deployment
spec:
  # ...
  template:
    spec:
      # ...
      serviceAccountName: strimzi-cluster-operator
      containers:
      - name: strimzi-cluster-operator
        image: quay.io/strimzi/operator:0.35.1
        imagePullPolicy: IfNotPresent
        env:
        - name: STRIMZI_NAMESPACE
          value: "*"
        # ...

3.创建 ClusterRoleBindings,向 Cluster Operator 授予所有命名空间的集群范围访问权限。

kubectl create clusterrolebinding strimzi-cluster-operator-namespaced --clusterrole=strimzi-cluster-operator-namespaced --serviceaccount my-cluster-operator-namespace:strimzi-cluster-operator
kubectl create clusterrolebinding strimzi-cluster-operator-watched --clusterrole=strimzi-cluster-operator-watched --serviceaccount my-cluster-operator-namespace:strimzi-cluster-operator
kubectl create clusterrolebinding strimzi-cluster-operator-entity-operator-delegation --clusterrole=strimzi-entity-operator --serviceaccount my-cluster-operator-namespace:strimzi-cluster-operator

4.将 Cluster Operator 部署到您的 Kubernetes 集群。

kubectl create -f install/cluster-operator -n my-cluster-operator-namespace

5.检查部署状态:

kubectl get deployments -n my-cluster-operator-namespace

输出显示部署名称和准备情况

NAME                      READY  UP-TO-DATE  AVAILABLE
strimzi-cluster-operator  1/1    1           1

READY 显示已准备好/预期的副本数量。当 AVAILABLE 输出显示 1 时,部署成功。文章来源地址https://www.toymoban.com/news/detail-504868.html

到了这里,关于Strimzi从入门到精通系列之一:部署Cluster Operator的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • strimzi实战之一:简介和准备

    这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos strimzi是一个开源项目,已加入了CNCF,官网地址:https://strimzi.io/ 借助strimzi,既能快速部署kafka服务,又能对kafka服务进行细致的调节,还能扩展出更多的能力,典型的扩展能力如下: 监控(基于pr

    2024年02月08日
    浏览(28)
  • Redis 从入门到精通【进阶篇】之高可用集群(Redis Cluster)详解

    前面两个章节我们学习关于Redis 中的高可用 Redis主从复制. 以及Redis的哨兵模式(sentinel)。我们能够发现上面两种方式主要解决读写分离,备份冗余,以及故障恢复,故障转移。但是无法解决redis的性能问题,我们如果做过测试会发现 redis在单节点的情况下,只能将CPU的一个

    2024年02月16日
    浏览(29)
  • Midjourney学习系列之一 —— 保姆级入门教程

    继ChatGPT之后,AI绘图网站Midjourney也已经火出圈了。鉴于其强大的绘图能力和极低的使用门槛,Midjourney已经在事实上被各行各业的人作为辅助工具了,更重要的是,它绝对是一个非常理想的学习AI技术的引路人。 因此我在文章《一文了解AI绘图所有,含福利》中呼吁,每一个大

    2024年02月11日
    浏览(35)
  • strimzi实战之二:部署和消息功能初体验

    这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇是《strimzi实战》系列的第二篇,前文完成了介绍和准备工作,是时候体验strimzi的核心功能了:发送和接受kafka消息,为了完成这个目标,本篇会按照如下步骤开始实战: 在kubernetes环境部署str

    2024年02月08日
    浏览(27)
  • Debezium系列之:使用 Strimzi 将 Kafka 和 Debezium 迁移到 Kubernetes

    在本文中,将探讨在生产中实现debezium与K8s的结合: 在 Kubernetes 集群中安装和管理 Apache Kafka 集群。 在 Kubernetes 集群中部署 Debezium Kafka Connect。 Kubernetes 是一个开源容器编排器,本文使用 minikube 作为 Kubernetes 集群,但相同的步骤在任何其他实现中都应该有效。 启动集群 在终

    2024年02月15日
    浏览(38)
  • Docker入门到精通(项目部署)

    一. Docker安装 安装参考地址:https://docs.docker.com/engine/install/centos/ 安装仓库 安装docker引擎 启动docker服务 验证docker运行是否成功 二. Docker的镜像与容器 镜像:一个可以被特定的软件或者硬件识别的静态程序。 容器:是一个运行着的程序,它是有容器镜像产生的,一个镜像可以

    2024年02月02日
    浏览(24)
  • API 渗透测试从入门到精通系列文章(下)

    导语:在本系列文章的前面一部分我们从使用 Postman 开始,创建了集合和请求,并通过 Burp Suite 设置为了 Postman 的代理,这样我们就可以使用 Burp 的模糊测试和请求篡改的功能。 在本系列文章的前面一部分我们从使用 Postman 开始,创建了集合和请求,并通过 Burp Suite 设置为了

    2024年02月03日
    浏览(43)
  • STM32 从入门到精通系列讲解 - 总目录

    👦 作者介绍:Bazinga bingo,专注C语言应用硬核干货分享,潜心修炼,虚心学习,立志做嵌入式相关赛道的Top。 📕 本文收录于《STM32开发》专栏,包含STM32内部模块介绍、片内资源开发、不同通信总线应用、屏幕显示等功能性开发。每篇文章包含相关知识点、代码编程详解以

    2024年02月10日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包