kubebuilder入門

1. 安裝kubebuilder

brew install kubebuilder

2. 需求描述

開發一個zk operator。

cr定義為ZooKeeperCluster

3. 開發過程

3.1 創建一個空的文件夾zk-operator

mkdir zk-operator

3.2 進入該文件夾

cd zk-operator

3.3 執行初始化

kubebuilder init --domain my.domain --repo my.domain

3.4 創建API

kubebuilder create api --group webapp --version v1 --kind ZooKeeperCluster

3.5 修改zk 類字段

type ZooKeeperClusterSpec struct {// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster// Important: Run "make" to regenerate code after modifying this file// Foo is an example field of ZooKeeperCluster. Edit zookeepercluster_types.go to remove/updateFoo      string `json:"foo,omitempty"`Replicas *int32 `json:"replicas,omitempty"`Image    string `json:"image,omitempty"`Version  string `json:"version,omitempty"`
}

3.5 生成crd等文件

cd zk-operatormake manifests

3.6 在main函數中設置kubeconfig文件路徑

	kubeconfig := "/Users/liyinlong/env/88.conf"//if os.Getenv("KUBECONFIG") != "" {//	kubeconfig = os.Getenv("KUBECONFIG")//}config, err := clientcmd.BuildConfigFromFlags("", kubeconfig)if err != nil {log.Fatalf("Error building kubeconfig: %s", err.Error())}mgr, err := ctrl.NewManager(config, ctrl.Options{Scheme: scheme,Metrics: metricsserver.Options{BindAddress:   metricsAddr,SecureServing: secureMetrics,TLSOpts:       tlsOpts,},WebhookServer:          webhookServer,HealthProbeBindAddress: probeAddr,LeaderElection:         enableLeaderElection,LeaderElectionID:       "1c8adf6b.my.domain",// LeaderElectionReleaseOnCancel defines if the leader should step down voluntarily// when the Manager ends. This requires the binary to immediately end when the// Manager is stopped, otherwise, this setting is unsafe. Setting this significantly// speeds up voluntary leader transitions as the new leader don't have to wait// LeaseDuration time first.//// In the default scaffold provided, the program ends immediately after// the manager stops, so would be fine to enable this option. However,// if you are doing or is intended to do any operation such as perform cleanups// after the manager stops then its usage might be unsafe.// LeaderElectionReleaseOnCancel: true,})

3.7 創建一個zk cr

apiVersion: webapp.my.domain/v1
kind: ZooKeeperCluster
metadata:labels:zk: myzkname: myzk1
spec:foo: lylreplicas: 2image: zookeeperversion: 3.4.1

Quick Start - The Kubebuilder Book

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

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

相關文章

MWA(Modern Web App)初學那些事-2-Basic HTML CSS

初學MWA(Modern Web App)那些事-2-Basic HTML & CSS 目錄 初學MWA(Modern Web App)那些事-2-Basic HTML & CSS前言一、本節學習目標二、HTML基礎內容2.1關鍵元素2.4 Scripts 三、CSS 基礎內容3.1 級聯樣式表-用于設置網頁樣式和布局3.2 CSS規則語…

springcloud使用微服務的搭建

微服務的搭建 1.配置對應信息 Springboot 、springcloud、springcloud alibaba對應關系 https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E 2.pom.xml的配置 2.1 總項目pom.xml引入依賴 <parent><groupId>org.sprin…

阿里通義音頻生成大模型 FunAudioLLM 開源

簡介 近年來&#xff0c;人工智能&#xff08;AI&#xff09;技術的進步極大地改變了人類與機器的互動方式&#xff0c;特別是在語音處理領域。阿里巴巴通義實驗室最近開源了一個名為FunAudioLLM的語音大模型項目&#xff0c;旨在促進人類與大型語言模型&#xff08;LLMs&…

vue3在 setup 中訪問路由和當前路由

報錯信息&#xff1a; Cannot read properties of undefined (reading $router) 原因&#xff1a; 因為我們在 setup 里面沒有訪問 this&#xff0c;所以我們不能直接訪問 this.$router 或 this.$route。 解決方案&#xff1a; 作為替代&#xff0c;我們使用 useRouter 和…

Oracle字符集修改

提示 Oracle數據庫默認的字符集編碼為US7ASCII&#xff0c;這個編碼是不支持中文的&#xff0c;如果想要在數據庫存儲中文&#xff0c;就需要修改編碼為ZHS16GBK或UTF-8 編碼和字符集是一個意思&#xff0c;只是叫法不一樣而已 前置條件 修改字符集的前提是知道我們現在用的是什…

跳妹兒學編程之ScratchJr(9):程序控制積木篇—短跑比賽

跳妹兒學編程之ScratchJr(7)&#xff1a;動作積木篇—爸爸去散步 跳妹兒學編程之ScratchJr(8)&#xff1a;外觀積木篇—捉迷藏 跳妹兒學編程之ScratchJr(9)&#xff1a;程序控制積木篇—短跑比賽 引言 在之前的一篇文章中&#xff0c;我們了解了ScratchJr的動作積木和外觀積…

std::getline

std::getline 是 C 標準庫中的一個函數&#xff0c;用于從輸入流中讀取一行數據并存儲到字符串中。它通常用于讀取用戶輸入或從文件中讀取文本數據。以下是 std::getline 的一般用法和說明&#xff1a; #include <iostream> #include <string>int main() {std::st…

skywalking 請求鏈路采樣設置和原理

目標 skywalking 默認情況會采集大量 trace 數據&#xff0c;這樣可以比較全的追蹤所有請求調用鏈路的請求&#xff0c;但同時對 ES 存儲資源要求非常高&#xff0c;需要我們投入很大的存儲節點才可以。那么有沒有一種采樣的請求上報的機制呢&#xff1f;答案是有的&#xff0…

阿里云ECS服務器安裝jdk并運行jar包,訪問成功詳解

安裝 OpenJDK 8 使用 yum 包管理器安裝 OpenJDK 8 sudo yum install -y java-1.8.0-openjdk-devel 驗證安裝 安裝完成后&#xff0c;驗證 JDK 是否安裝成功&#xff1a; java -version設置 JAVA_HOME 環境變量&#xff1a; 為了確保系統中的其他應用程序可以找到 JDK&…

星火智能體創建指南,星火大模型智能體創建教程

一、什么是星火助手 星火助手是基于訊飛星火認知大模型&#xff0c;面向用戶使用場景&#xff0c;打造的高效生產力工具。通過設置結構化的指令模板&#xff0c;用戶即可完成助手功能設定&#xff0c;每個助手在對話的模式下能夠快速滿足場景需求。同時支持助手模板、數據集、…

Spring boot 2.0 升級到 3.3.1 的相關問題 (一)

文章目錄 Spring boot 2.0 升級到 3.3.1 的相關問題 &#xff08;一&#xff09;攔截器Interceptor的變動問題介紹解決方案 WebMvcConfigurerAdapter 自定義Mvc配置問題介紹解決方案 Spring boot 2.0 升級到 3.3.1 的相關問題 &#xff08;一&#xff09; 攔截器Interceptor的…

單鏈表算法 - 鏈表的中間節點

. - 力扣&#xff08;LeetCode&#xff09;. - 備戰技術面試&#xff1f;力扣提供海量技術面試資源&#xff0c;幫助你高效提升編程技能,輕松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/middle-of-the-linked-list/description/ 思路1: 思路2: 代碼: /*** …

【接口自動化_06課_Pytest+Excel+Allure完整框架集成】

一、logging在接口自動化里的應用 1、設置日志的配置&#xff0c;并收集日志文件 日志的設置需要在pytest.ini文件里設置。這個里面盡量不要有中文 2、debug日志的打印 pytest.ini文件的開關一定得是true才能在控制臺打印日志 import allure import pytest from P06_PytestFr…

CUDA cuDNN和pytorch(GPU版)的完整安裝教程

? * 說明: 本教程使用wsl-ubuntu20.04, 其他發行版linux的命令可能有所區別. *實測機型: i5-13500HX | RTX 4060 Laptop 一、下載CUDA12.X版本 這里以下載CUDA12.2為例。 前往cuda-12.2下載頁, 按照如圖方式選擇合適的選項&#xff1a; 按照官方給出的命令&#xff0c; 在b…

Trie樹的應用

Trie樹的應用 題目解題思路代碼 題目 維護一個字符串集合&#xff0c;支持兩種操作&#xff1a; I x 向集合中插入一個字符串 x x x&#xff1b;Q x 詢問一個字符串在集合中出現了多少次。 共有 N N N 個操作&#xff0c;所有輸入的字符串總長度不超過 1 0 5 10^5 105&am…

ArkTS學習筆記_封裝復用之@builderParam裝飾器

ArkTS學習筆記_封裝復用之builderParam裝飾器 作用&#xff1a; 在自定義組件中&#xff0c;該裝飾器用于裝飾函數成員變量&#xff0c;builderParam裝飾的函數成員變量的值必須是經過builder裝飾的方法。變量初始化后可以在自定義組件內調用。初始化&#xff1a; 可以使用自定…

移動應用性能關注分析哪些指標

移動應用常見性能指標 要對應用開展性能測試&#xff0c;首先需要了解需要重點關注哪些指標&#xff1f;指標的參考范圍大致是多少&#xff1f;可采用哪些工具收集這些指標&#xff1f;如何收集&#xff1f;如果指標有異常&#xff0c;大致有哪些high level的優化思路。這篇博客…

說一下GET請求和POST請求的區別

面試官常常會問到的一個問題就是&#xff1a;GET請求和POST請求的區別。因為一個看似簡單的問題就能考察出面試者對網絡協議和通信的掌握程度以及對前后端開發基礎知識是否了解、安全性意識是否足夠強&#xff0c;以及綜合分析與總結能力等。 所以答的好可以讓面試官對你刮目相…

YoloV8改進策略:卷積篇|Kan行天下之GRAM,KAN遇見Gram多項式V2版本

GRAM(GRAM可能是一個新提出的模型或方法的縮寫,這里我們根據上下文進行解釋)受到諸如TorchKAN和ChebyKAN等Kolmogorov-Arnold網絡(KAN)替代方案的啟發。GRAM引入了一種簡化的KAN模型,但同時利用了Gram多項式變換的簡單性。它與其他替代方案的不同之處在于其獨特的離散性特…

Vue3 使用emoji表情包 emoji-mart-vue-fast

文檔&#xff1a;emoji-mart-vue-fast - npm (npmjs.com) 非常簡單 代碼直接照抄即可 1. 引入 pnpm install emoji-mart-vue-fast 2. 使用 <template><Picker:data"emojiIndex":emojiSize"18":showPreview"false":infiniteScroll&quo…