Kubernetes operator 前置知識篇

云原生學習路線導航頁(持續更新中)

  • 本文是 Kubernetes operator學習 系列的前置知識篇,幫助大家對 Operator 進行初步了解
  • Kubernetes operator學習系列 快捷鏈接
    • Kubernetes operator 前置知識篇
    • Kubernetes operator(一)client-go篇
    • Kubernetes operator(二)CRD篇
    • Kubernetes operator(三)code-generator 篇
    • Kubernetes operator(四)controller-tools 篇
    • Kubernetes operator(五)api 和 apimachinery 篇
    • Kubernetes operator(六)CRD控制器 開發實戰篇
    • Kubernetes operator(七) kubebuilder 的安裝及簡單使用 篇
    • Kubernetes operator(八) controller-runtime 篇

1.Operator模式學習

1.1.Operator是什么

  • Operator 是 遵循 Kubernetes 的設計理念的一種擴展模式,它強調利用 定制 CR資源 去管理應用及其組件。
  • Operator 通過 將 應用程序的運維知識 轉化為 可編程的代碼,使我們能夠定義和管理應用程序的整個生命周期,包括安裝、配置、擴展、監控和升級等方面,進而以自動化的方式管理和運維復雜的應用程序。
  • 一個Operator,主要包括兩部分:自定義資源(Custom Resource)控制器(Controller)
  • Operator核心原理是 聲明式配置 和 狀態驅動。您可以定義自定義資源的規范(Spec)和狀態(Status),Operator會根據這些定義來自動化地管理應用程序。它可以監測資源的變化,識別和處理故障,以及根據配置和策略自動擴展應用程序。

1.2.開發一個Kubernetes Operator的步驟

  • 定義自定義資源
    • 使用Kubernetes的自定義資源定義語言(CRD),定義一個自定義資源來描述您的應用程序。
    • 除了必備的TypeMeta、ObjectMeta,CRD中還應包含 資源規范Spec 和 資源狀態Status 字段。
  • 創建Operator
    • 編寫一個自定義的控制器(Controller),用于監控和處理您定義的CR。
    • 當用戶創建或修改CR時,Controller 能夠 獲取到用戶修改后的CR,并根據CR中Metadata、Spec等字段的變化,執行必要的操作,處理完后還要將CR的狀態信息寫入Status字段中,供用戶查看。
  • 部署Operator
    • 部署Operator包括兩部分:安裝CRD,部署Controller
    • 安裝CRD:將CRD應用到集群中,使kubernetes集群能夠識別到該資源
    • 部署Controller:Controller 通常會在control plane之外運行,就像運行任何容器化的應用程序一樣。例如,將controller打包成鏡像,以 Deployment 運行。
  • 創建和管理自定義資源實例
    • 使用 kubectl 或 編寫yaml 創建CR的實例
    • 使用 kubectl 或 其他kubernetes客戶端工具 管理CR

1.3.Operator開發 與語言無關

  • 你可以使用任何語言、任何運行時,開發Operator,只要能夠作為kubernetes的客戶端就行
  • 下面列舉一些 庫/框架,可以用于開發Operator
    • Charmed Operator Framework
    • Java Operator SDK
    • Kopf (Kubernetes Operator Pythonic Framework)
    • kube-rs (Rust)
    • kubebuilder
    • KubeOps (.NET operator SDK)
    • KUDO (Kubernetes Universal Declarative Operator)
    • Mast
    • Metacontroller along with WebHooks that you implement yourself
    • Operator Framework
    • shell-operator

1.4.Operator的后續學習路線

  • 閱讀 CNCF Operator White Paper(Operator 白皮書).
  • 深入學習 Custom Resources
  • 在 OperatorHub.io 上查找已有的 Operator 練習
  • 發布你的Operator 給其他人使用
  • 閱讀 CoreOS 介紹 Operator 模式的 原始文章 (這是原始文章的存檔版本)
  • 閱讀 Google Cloud 上關于 構建 Operator 的 最佳實踐的文章

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/719292.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/719292.shtml
英文地址,請注明出處:http://en.pswp.cn/news/719292.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《精益DevOps》:填補IT服務交付的認知差距,實現高效可靠的客戶期望滿足

寫在前面 在當今的商業環境中,IT服務交付已經成為企業成功的關鍵因素之一。然而,實現高效、可靠、安全且符合客戶期望的IT服務交付卻是一項艱巨的任務。這要求服務提供商不僅具備先進的技術能力,還需要擁有出色的組織協作、流程管理和態勢感…

UniApp項目處理小程序分包

目前 uniApp也成為一種 App端開發的大趨勢 因為在目前跨端 uniApp可以說相當優秀 可以同時兼容 H5 PC 小程序 APP 的技術 目前市場屈指可數 那么 說到微信小程序 自然就要處理分包 因為微信小程序對應用大小限制非常銘感 限制在2MB 超過之后就會無法真機調試與打包 不過需要注…

快速排序C語言代碼實現(2)

#include<stdio.h> void quick_sort(int arr[], int left, int right) {if (left < right) {int i left, j right, pivot arr[i];while (i < j) {while (i<j&&arr[j]>pivot) {//此時判斷使用i<j的目的是為了最終的目標位置是ij時的位置j--;}if…

vue項目中使用antvX6新手教程,附demo案例講解(可拖拽流程圖、網絡拓撲圖)

前言&#xff1a; 之前分別做了vue2和vue3項目里的網絡拓撲圖功能&#xff0c;發現對antv X6的講解博客比較少&#xff0c;最近終于得閑碼一篇了&#xff01; 需求&#xff1a; 用戶可以自己拖拽節點&#xff0c;節點之間可以隨意連線&#xff0c;保存拓撲圖數據后傳給后端&…

cPanel面板安裝付費的SSL證書

前不久遇到購買Hostease服務器的客戶反饋需要安裝SSL證書。因為安裝 SSL 證書不僅可以保護用戶數據安全&#xff0c;增加用戶信任度&#xff0c;提升搜索引擎排名&#xff0c;還有助于符合法規和標準&#xff0c;防止網絡攻擊。 安裝SSL證書可以通過如下步驟: 1. 選擇 SSL 證書…

數學建模【多元線性回歸模型】

一、多元線性回歸模型簡介 回歸分析是數據分析中最基礎也是最重要的分析工具&#xff0c;絕大多數的數據分析問題&#xff0c;都可以使用回歸的思想來解決。回歸分析的任務就是&#xff0c;通過研究自變量X和因變量Y的相關關系&#xff0c;嘗試去解釋Y的形成機制&#xff0c;進…

Linux配置網卡功能

提示:工具下載鏈接在文章最后 目錄 一.network功能介紹二.配置network功能2.1 network_ip配置檢查 2.2 network_br配置2.2.1 配置的網橋原先不存在檢查2.2.2 配置的網橋已存在-修改網橋IP檢查2.2.3 配置的網橋已存在-只添加網卡到網橋里檢查 2.3 network_bond配置檢查 2.4 netw…

Access AR Foundation 5.1 in Unity 2022

如果已經下載安裝了ARF但版本是5.0.7 可以通過下面的方式修改 修改后面的數字會自動更新 更新完成后查看版本 官方文檔 Access AR Foundation 5.1 in Unity 2021 | AR Foundation | 5.1.2

【知識整理】Git 使用實踐問題整理

問題1、fatal: refusing to merge unrelated histories 一、Git 的報錯 fatal: refusing to merge unrelated histories 新建了一個倉庫之后&#xff0c;把本地倉庫進行關聯提交、拉取的時候&#xff0c;出現了如下錯誤&#xff1a; fatal: master does not appear to be a g…

js原型原型鏈

js原型原型鏈 在 JavaScript 中&#xff0c;每個對象都有一個原型&#xff08;prototype&#xff09;。對象的原型是另一個對象的引用&#xff0c;它包含對象的共享屬性和方法。JavaScript 中的原型鏈則是對象之間通過原型鏈接起來的一種機制&#xff0c;用于實現繼承和屬性查找…

電腦無法開啟虛擬化

vm開啟虛擬化失敗 如果出現以下錯誤&#xff0c;需要進入bios界面&#xff0c;不同電腦進入界面的方式不一樣。這里以hp為例&#xff1a; 1、關機后&#xff0c;按住開機鍵和f10&#xff0c;進入如下界面&#xff08;語言在主菜單里面&#xff09; 2、選擇先進和下面的系統選…

c語言游戲實戰(10):坤坤的籃球回避秀

前言&#xff1a; 這款簡易版的球球大作戰是博主耗時兩天半完成的&#xff0c;玩家需要控制坤坤在游戲界面上移動&#xff0c;來躲避游戲界面上方不斷掉下來的籃球。本游戲使用C語言和easyx圖形庫編寫&#xff0c;旨在幫助初學者了解游戲開發的基本概念和技巧。 在開始編寫代…

Vue使用高德地圖定位到當前位置,并顯示天氣信息

首先得去高德控制臺申請兩個 key&#xff0c;一個天氣key和一個定位key 獲取天氣信息的函數&#xff1a; const getWeather function (city) {// 使用 fetch 發送請求獲取天氣信息fetch(https://restapi.amap.com/v3/weather/weatherInfo?city${city}&keyeefd36557b0250…

哪個有名的工具可以安全記事 私密記事本筆記推薦

在這個數字化的時代&#xff0c;我們的生活已經離不開各種記事工具。它們幫助我們記錄生活中的點點滴滴&#xff0c;無論是工作上的重要事項&#xff0c;還是個人的私密心情。然而&#xff0c;當我在尋找一個能夠安心記錄私密事情的工具時&#xff0c;安全性成為了我最關心的因…

C++從零開始的打怪升級之路(day42)

這是關于一個普通雙非本科大一學生的C的學習記錄貼 在此前&#xff0c;我學了一點點C語言還有簡單的數據結構&#xff0c;如果有小伙伴想和我一起學習的&#xff0c;可以私信我交流分享學習資料 那么開啟正題 今天分享的是關于繼承的知識點 1.菱形繼承 我們有許多關于繼承…

【軟件測試】Postman中變量的使用

Postman中可設置的變量類型有全局變量&#xff0c;環境變量&#xff0c;集合變量&#xff0c;數據變量及局部變量。區別則是各變量作用域不同&#xff0c;全局變量適用于所有集合&#xff0c;環境變量適用于當前所選環境&#xff08;所有集合中均可使用不同環境變量&#xff09…

【CSP試題回顧】202309-2-坐標變換(其二)

CSP-202309-2-坐標變換&#xff08;其二&#xff09; 關鍵點總結 1.輸入輸出的同步關閉&#xff0c;以加快I/O操作的速度 這一點還是很重要的&#xff0c;本題代碼如果不進行輸入輸出的同步關閉會時間超限。 ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);2.…

職場中的祖傳代碼處理建議

程序員是如何看待“祖傳代碼”的&#xff1f; 祖傳代碼的由來 在實際的程序員工作中&#xff0c;祖傳代碼是常見的。因為真正的互聯網職場生活中&#xff0c;業務變動調整頻繁&#xff0c;每到一個新的業務線&#xff0c;第一件事就是熟悉現有工程代碼&#xff0c;看舊文檔等…

K8S中POD的控制器

一、Pod控制器及其功用 Pod控制器&#xff0c;又稱之為工作負載&#xff08;workload&#xff09;&#xff0c;是用于實現管理pod的中間層&#xff0c;確保pod資源符合預期的狀態&#xff0c;pod的資源出現故障時&#xff0c;會嘗試進行重啟&#xff0c;當根據重啟策略無效&am…

Linux基礎命令[9]-wc

文章目錄 1. wc 命令說明2. wc 命令語法3. wc 命令示例3.1 不加參數3.2 -c&#xff08;統計字節數&#xff09;3.3 -m&#xff08;統計字符數&#xff09;3.4 -l&#xff08;統計行數&#xff09;3.5 -L&#xff08;最長一行的長度&#xff09;3.6 -w&#xff08;統計單詞數&am…