strimzi實戰之一:簡介和準備

程式設計師欣宸發表於2023-09-24

歡迎訪問我的GitHub

這裡分類和彙總了欣宸的全部原創(含配套原始碼):https://github.com/zq2599/blog_demos

關於strimzi

  • strimzi是一個開源專案,已加入了CNCF,官網地址:https://strimzi.io/
  • 藉助strimzi,既能快速部署kafka服務,又能對kafka服務進行細緻的調節,還能擴充套件出更多的能力,典型的擴充套件能力如下:
  1. 監控(基於prometheus+grafana)
  2. 安全(基於TLS)
  3. 使用者管理
  4. topic管理
  5. 機架感知
  6. Restful介面
  7. 訊息映象
  8. 訊息來源
  9. 訊息去向
  • 官方給出的元件架構圖如下,可見比起單純的kafka,strimzi的功能更加豐富,很多與訊息有關的場景都能透過strimzi元件來實現
    在這裡插入圖片描述

  • strmzi在GitHub已開源,地址是:https://github.com/strimzi/strimzi-kafka-operator

為什麼是strimzi?

  • 原因很簡單:欣宸是一位Java程式設計師,又對雲原生技術非常感興趣

  • 在強者如雲的CNCF專案中,以java作為開發語言的專案非常稀少,strimzi就是其中一個(專案的語言構成如下圖),再加上其實用的功能,於是,strimzi在我眼中就成了一個寶藏級別的專案:它就是深入學習雲原生的捷徑,透過它去窺探雲原生開發的奧秘
    在這裡插入圖片描述

  • 令人開心的是java也能在CNCF佔據一席之地,遺憾的是strimzi現在只是Sandbox階段,希望它能越來越好吧(Sandbox階段:是指專案還未大規模在生產環境被驗證過)

  • 儘管strimzi還只是Sandbox階段,但是對於愛學習,卻又只會java的我來說,真的足夠了,那麼多強大的功能,再配上開放的原始碼,令人著迷!

關於《strimzi實戰》系列

  • 欣宸喜歡寫系列文章,此風格在其他作品中已顯露無疑,《strimzi實戰》亦是如此,透過這個系列,除了掌握strimzi的各種功能,更是要深入學習strimzi的原始碼,我就想知道,kubernetes環境提供的各種能力,如何用java去控制!
  • 寫作過程也是學習的過程,自然不會一開始就扎入原始碼的汪洋中,整個系列會謹慎控制節奏,從最基本的體驗出發,將strimzi的功能都玩個遍,再去研究它的原始碼,窺探雲原生開發的奧秘

本篇概覽

  • 本篇是 《strimzi實戰》系列的開篇,難度自然是入門級別,主要內容如下
  1. strmzi簡介,就是前面嘮嘮叨叨那一段...
  2. 實戰環境的準備工作
  • 接下來,我們們把整個實戰系列要用到的環境準備好,接下來的文章,就在這套環境上操作了

實戰環境的準備工作(版本資訊)

  • 首先介紹一下環境資訊,列出各個版本號給您做個參考
  1. 作業系統:CentOS 7.6 (騰訊雲輕應用伺服器,4核8G)
  2. kubernetes:1.22 (底層容器服務是docker)
  3. prometheus:2.32.1
  4. grafana:8.3.3
  5. strimzi:0.32.0
  6. kafka:3.3.1(pod的環境變數)
  7. zookeeper:3.6.3 (進入容器,查詢jar包,發現是zookeeper-3.6.3.jar)
  • 另外需要注意的是,本系列使用的strimzi版本是0.32.0,該版本對kubernetes的最低要求是1.19,請不要使用低於此版本的kubernetes

實戰環境的準備工作(安裝作業系統、kubernetes、pv、prometheus、grafana)

  • 先盤點有哪些是在實戰前必須準備好的:
  1. kubernetes是必要的
  2. pv即外部儲存,有了它,kafka和zookeeper的資料就可以永久儲存起來,要是沒有pv,那些資料就只能儲存在pod內部,一旦pod被刪除,資料就丟失了,所以pv還是挺重要的
  3. prometheus+grafana,這一對組合,一個負責採集資料,一個負責展示資料,strimzi的監控就就指望它們了
  • 所以,我們們需要將kubernetes、pv、prometheus、grafana全部裝好才能順利開啟strimzi實戰,為此,我專門另寫了一篇文章,詳細記錄了這些軟體的安裝和驗證過程,您可以作為參考:《快速搭建雲原生開發環境(k8s+pv+prometheus+grafana)》
  • 至此,《strimzi實戰》系列的開篇就算完成了,神秘的雲原生世界,熟悉的java程式碼,現在,愛學習的您是否已經心動了呢?接下來,請允許欣宸原創陪伴您渡過一段愉快的時光,我們們一起揭開迷霧,掌握雲原生應用開發

歡迎關注部落格園:程式設計師欣宸

學習路上,你不孤單,欣宸原創一路相伴...

相關文章