精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何編寫Kubernetes(K8s) operator,你學(xué)會(huì)了嗎?

云計(jì)算 云原生
編寫 Kubernetes(K8s) operator 的意圖在我心中不斷增長。我開始閱讀文章、探索 GitHub 存儲(chǔ)庫,并就此咨詢我的同事。雖然我不能說它完全成功,但這個(gè)意圖仍然存在。

編寫 Kubernetes(K8s)  operator 的意圖在我心中不斷增長。我開始閱讀文章、探索 GitHub 存儲(chǔ)庫,并就此咨詢我的同事。雖然我不能說它完全成功,但這個(gè)意圖仍然存在。

圖片

譯自How to Write a Kubernetes Operator,作者 Payam Qorbanpour。

作為一名每天都與 Kubernetes 打交道的后端開發(fā)人員,我一直希望編寫一個(gè) operator 來擴(kuò)展我的知識(shí)邊界。然而,障礙出現(xiàn)了,阻礙了我實(shí)現(xiàn)這一目標(biāo)。

這就是我在服兵役期間編寫gobackup-operator的故事。tl;dr:直接跳到“深入項(xiàng)目”部分

磨刀不誤砍柴工

編寫 Kubernetes(K8s)  operator 的意圖在我心中不斷增長。我開始閱讀文章、探索 GitHub 存儲(chǔ)庫,并就此咨詢我的同事。雖然我不能說它完全成功,但這個(gè)意圖仍然存在。

所有這些努力的結(jié)果是我GitHub 帳戶中存儲(chǔ)的一系列教程項(xiàng)目。

我應(yīng)該提到,大約一年前,當(dāng)我第一次接觸 Kubernetes 時(shí),練習(xí)過程就開始了。我首先觀看了Guru 的教程以了解 CKAD,然后觀看了Nana 的 YouTube 教程。

化為灰燼

我被派去服兵役。

那里沒有互聯(lián)網(wǎng)連接,甚至沒有一個(gè)電子設(shè)備。相反,我們只有精裝書、排球以及迷人的日出和日落美景來娛樂我們。

在這種情況下,創(chuàng)建 operator 的想法正在逐漸消失。我所關(guān)心的一切就是吃飯、看書和享受偶爾的自由(假期)。然而,有時(shí)這種自由是短暫的,正如指揮官曾經(jīng)評(píng)論的那樣:

假期的快樂在你離開營房的那一刻就結(jié)束了。

訓(xùn)練課程結(jié)束了,我開始在辦公室擔(dān)任一名雇員,但那里也感受到了互聯(lián)網(wǎng)連接的缺乏!在晚上,我離開辦公室,從事我熱愛的工作。有時(shí),你在有限的時(shí)間內(nèi)會(huì)有更好的表現(xiàn)。因此,從下午 4 點(diǎn)到晚上 9 點(diǎn),我必須創(chuàng)造一些特別的東西。對(duì)我來說,它確實(shí)很特別!

不鳴則已

畢竟,在此系列的幫助下,我設(shè)法從教程中編寫了另一個(gè) Kubernetes  operator但這一次,它有所不同。

我的同事已經(jīng)開發(fā)了一個(gè)備份系統(tǒng),但它似乎運(yùn)行得不太好。因此,他們探索了另一種解決方案,并遇到了一個(gè)名為gobackup的項(xiàng)目,該項(xiàng)目旨在定期備份數(shù)據(jù)庫并將它們推送到存儲(chǔ)中。問題是該項(xiàng)目不包括對(duì) etcd 數(shù)據(jù)庫的支持。因此,他們決定通過添加 etcd 支持來滿足要求,從而為該項(xiàng)目做出貢獻(xiàn)。這最終導(dǎo)致了一個(gè)新的版本。

在我缺席期間,他們決定在此基礎(chǔ)上開發(fā)一個(gè) Kubernetes  operator 。這對(duì)我是重要的一步。當(dāng)他們與我分享時(shí),我急切地檢查了該項(xiàng)目,并想,“終于,就是它了。operator 即將創(chuàng)建。耶!”

在閱讀該項(xiàng)目時(shí),我注意到該項(xiàng)目的自述文件中存在一個(gè)問題。其中一個(gè)鏈接指向 404 頁面。我主動(dòng)修復(fù)了這個(gè)問題并提交了一個(gè)拉取請(qǐng)求。

所有者欣然接受了它。:)

遇到如此開放的態(tài)度后,我的一個(gè)同事建議我們可以將此 operator 放在gobackup 組織下,以便更多的人可以為其開發(fā)做出貢獻(xiàn)。

我打開了一個(gè)問題并提出了gobackup 組織下的一個(gè)存儲(chǔ)庫,并且仍然存在合作的開放性。

白天,我在軍隊(duì)服役,晚上,我致力于 gobackup-operator 項(xiàng)目。

深入項(xiàng)目

我首先設(shè)置我的環(huán)境。

幸運(yùn)的是,我已經(jīng)在計(jì)算機(jī)上安裝了 Golang、Docker 和 kubectl。通過之前的實(shí)踐,我已熟悉本地機(jī)器 Kubernetes 集群(如 Kind)和用于創(chuàng)建 operator 的工具(如 kubebuilder)。

因此,我啟動(dòng)了 operator 代碼。

$ kubebuilder init --domain gobackup.io --repo github.com/gobackup/gobackup-operator

然后我繼續(xù)為 operator 創(chuàng)建 API:

$ kubebuilder create api --group gobackup --version v1 --kind Backup
Create Resource [y/n]
y
Create Controller [y/n]
y

數(shù)據(jù)庫和存儲(chǔ)也是如此:

$ kubebuilder create api --group database.gobackup --version v1 --kind PostgreSQL
Create Resource [y/n]
y
Create Controller [y/n]
y


$ kubebuilder create api --group storage.gobackup --version v1 --kind S3
Create Resource [y/n]
y
Create Controller [y/n]
y

修改 API

我根據(jù)項(xiàng)目的具體要求修改了 API:

// Backup is the Schema for the backups API
type Backup struct {
 metav1.TypeMeta   `json:",inline"`
 metav1.ObjectMeta `json:"metadata,omitempty"`


 Spec   BackupSpec   `json:"spec,omitempty"`
 Status BackupStatus `json:"status,omitempty"`


 BackupModelRef BackupModelRef `json:"backupModelRef,omitempty"`
 StorageRefs    []StorageRef   `json:"storageRefs,omitempty"`
 DatabaseRefs   []DatabaseRef  `json:"databaseRefs,omitempty"`
}

然后修改 Reconcile 方法

//+kubebuilder:rbac:groups=gobackup.io,resources=backups,verbs=get;list;watch;create;update;patch;delete
//+kubebuilder:rbac:groups=gobackup.io,resources=backups/status,verbs=get;update;patch
//+kubebuilder:rbac:groups=gobackup.io,resources=backups/finalizers,verbs=update
func (r *BackupReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
 // reconcile implementation
}

測(cè)試

在對(duì)其進(jìn)行測(cè)試之前,你需要準(zhǔn)備一個(gè)可供備份的測(cè)試數(shù)據(jù)庫。因此,使用 gobackup-operator-postgres-deployment.yaml 文件創(chuàng)建 PostgreSQL 部署:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: postgres-deployment
spec:
  selector:
    matchLabels:
      app: postgres
  replicas: 1
  template:
    metadata:
      labels:
        app: postgres
    spec:
      containers:
      - name: postgres
        image: postgres:14.11
        env:
        - name: POSTGRES_USER
          value: ""
        - name: POSTGRES_PASSWORD
          value: ""
        - name: PGDATA
          value: "/var/lib/postgresql/data/pgdata"
        volumeMounts:
        - mountPath: /var/lib/postgresql/data
          name: postgredb
      volumes:
      - name: postgredb
        persistentVolumeClaim:
          claimName: postgres-pvc

請(qǐng)記住在清單中修改POSTGRES_USER和POSTGRES_PASSWORD并應(yīng)用它:

kubectl apply -f example/gobackup-opetator-postgres-deployment.yaml,
example/gobackup-opetator-postgres-service.yaml

此外,我還添加了一些資源在 Kubernetes 集群中進(jìn)行測(cè)試,包括部署、角色、集群角色、服務(wù)帳戶等,所有這些都可以在 gobackup-operator/example/ 目錄中找到。

因此,應(yīng)用這些清單以添加基本資源:

kubectl apply -f example/gobackup-opetator-serviceaccount.yaml,
gobackup-opetator-pvc.yaml,
gobackup-opetator-namespace.yaml,
gobackup-opetator-clusterrolebinding.yaml,
gobackup-opetator-clusterrole.yaml

然后是存儲(chǔ)和數(shù)據(jù)庫清單:

kubectl apply -f example/gobackup-opetator-storage/*
kubectl apply -f example/gobackup-opetator-database/*

使用以下清單,我能夠在我的本地機(jī)器上運(yùn)行該 operator :

kubectl apply -f example/gobackup-opetator-deployment.yaml

因此,每當(dāng)創(chuàng)建或更改 Backup 或 CronBackup 對(duì)象時(shí), operator 都會(huì)執(zhí)行必要的任務(wù)。

要?jiǎng)?chuàng)建備份模型以設(shè)置備份配置:

kubectl apply -f example/gobackup-opetator/gobackup-opetator-backupmodel.yaml

應(yīng)用 gobackup-operator/example/gobackup-operator 目錄中的清單之一(備份或 cronbackup)將觸發(fā) operator 運(yùn)行備份:

kubectl apply -f example/gobackup-opetator/gobackup-opetator-cronbackup.yaml

結(jié)論

起初,我對(duì)在自述文件中做出如此小的更改感到尷尬。感覺就像你為了參與 Hacktoberfest 提交而做出的那些 PR 之一。

但后來我考慮到了它的有效性。即使是那些單行提交也產(chǎn)生了影響。誰知道呢,如果我沒有對(duì) README 文件進(jìn)行更改,我可能就不會(huì)創(chuàng)建這個(gè) operator 。

責(zé)任編輯:武曉燕 來源: 云云眾生s
相關(guān)推薦

2022-11-02 10:21:41

K8s pod運(yùn)維

2024-07-29 10:35:44

KubernetesCSI存儲(chǔ)

2024-09-11 08:02:27

k8sgitlab升級(jí)

2024-01-26 06:05:16

KuberneteseBPF網(wǎng)絡(luò)

2022-07-26 08:03:27

Kubernetes節(jié)點(diǎn)磁盤

2024-01-30 18:29:29

微服務(wù)架構(gòu)Ingress

2022-11-30 09:54:57

網(wǎng)絡(luò)令牌身份驗(yàn)證

2024-01-02 12:05:26

Java并發(fā)編程

2023-08-01 12:51:18

WebGPT機(jī)器學(xué)習(xí)模型

2024-01-19 08:25:38

死鎖Java通信

2023-01-10 08:43:15

定義DDD架構(gòu)

2024-02-04 00:00:00

Effect數(shù)據(jù)組件

2023-07-26 13:11:21

ChatGPT平臺(tái)工具

2024-09-30 08:01:44

2024-08-21 08:27:30

擴(kuò)展數(shù)據(jù)庫服務(wù)器

2024-08-09 08:17:07

SSH服務(wù)器架構(gòu)

2023-04-26 00:41:36

A/B測(cè)試郵件數(shù)量

2023-09-12 07:26:46

2024-05-29 09:20:41

2021-11-26 11:30:07

身高重建隊(duì)列
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

蜜臀久久99精品久久久无需会员| 欧美性jizz18性欧美| av成人午夜| www.av麻豆| 成人羞羞网站| 欧美一区二区日韩| 精品www久久久久奶水| 成人免费视屏| 91亚洲精品久久久蜜桃网站| 国产99久久精品一区二区| 五月天激情丁香| 妖精一区二区三区精品视频| 91麻豆精品国产91久久久资源速度 | 国产精品久久久久毛片| 黄色日韩在线| 这里只有精品丝袜| 91九色蝌蚪porny| 国产精品久久久久久久久免费高清| 亚洲精品视频免费观看| 日本不卡久久| 熟妇人妻一区二区三区四区| 久久成人久久鬼色| 欧美一级免费看| 九九热精品免费视频| 成人午夜国产| 精品亚洲va在线va天堂资源站| 一区二区三区四区毛片| 欧美黑人一区| 黄色精品一区二区| av片在线免费| 超碰在线观看免费| 18涩涩午夜精品.www| 日本中文不卡| 四虎影视精品成人| 成人黄色av网站在线| 91九色国产视频| 中文字幕乱码视频| 天堂蜜桃91精品| 日韩美女毛茸茸| 国产成人无码精品久在线观看| 综合视频在线| 久久精品国产一区| 国产传媒在线看| 精品国产一区一区二区三亚瑟| 精品性高朝久久久久久久| 无码人妻精品一区二区三| 日韩在线亚洲| 日韩精品专区在线影院观看| 夜夜爽久久精品91| 亚洲高清999| 精品日韩欧美一区二区| 一本色道久久hezyo无码| 试看120秒一区二区三区| 欧美一区二区三区不卡| 91av免费观看| 97品白浆高清久久久久久| 欧美成人官网二区| 午夜男人的天堂| 亚洲妇女av| 亚洲性日韩精品一区二区| 亚洲第一视频区| 国产精品久久久久无码av| 久久久精品国产亚洲| 午夜免费激情视频| 亚洲大胆在线| 青青草原一区二区| 中文字幕视频在线播放| 黑人精品欧美一区二区蜜桃| 91亚洲va在线va天堂va国| 国产又大又粗又长| 国产一区在线不卡| 91国产丝袜在线放| 色婷婷中文字幕| 久久色在线视频| 日韩欧美亚洲在线| 欧美精品videos另类| 亚洲日本韩国一区| 丁香色欲久久久久久综合网| av蜜臀在线| 亚洲午夜电影在线| 免费在线观看视频a| 欧美激情网站| 欧美午夜精品电影| www.成年人| 91精品国产自产精品男人的天堂 | 黄色片视频在线播放| 日韩大片欧美大片| 欧美视频在线一区二区三区| 欧美成年人视频在线观看| 高清一区二区| 亚洲国产精品久久久| 国产精品无码久久久久一区二区| 欧美午夜精品一区二区三区电影| 日韩午夜在线视频| 久草成人在线视频| 日韩激情中文字幕| 97se亚洲综合| www.亚洲.com| 亚洲一区视频在线观看视频| 欧美v在线观看| 岛国精品在线| 欧美日韩国产一级片| 潘金莲激情呻吟欲求不满视频| jizz性欧美23| 伊人伊人伊人久久| 国产亚洲精品码| 日韩中文字幕麻豆| 国产精品果冻传媒潘| 国产鲁鲁视频在线观看免费| 亚洲激情网站免费观看| 欧洲精品在线播放| 欧美大片网站| 日韩成人av在线播放| 中文字幕av久久爽一区| 国内自拍一区| 国产精品香蕉av| 无码国精品一区二区免费蜜桃| 中文字幕av一区 二区| 久久国产精品网| 欧美美女福利视频| 一区二区亚洲精品国产| 国产精品1234区| 久久99这里只有精品| 麻豆蜜桃91| 在线heyzo| 欧美另类变人与禽xxxxx| 人妻在线日韩免费视频| 欧美成人tv| 成人一区二区电影| 国产免费永久在线观看| 亚洲一二三级电影| 伦伦影院午夜理论片| 欧洲激情视频| 456亚洲影院| 丰满肉嫩西川结衣av| 一区二区三区视频在线看| 日韩av手机版| 国产99久久精品一区二区300| 欧美激情免费视频| 91精品国自产| 国产精品理论片| 无人在线观看的免费高清视频 | 制服丝袜日韩国产| 谁有免费的黄色网址| 日韩高清在线观看| 欧美一区二区三区四区在线观看地址| 久草在线资源站手机版| 日韩三级精品电影久久久| 黄色免费一级视频| 日本在线不卡视频| 欧美自拍资源在线| 香蕉视频亚洲一级| 亚洲成在人线av| 日韩毛片在线播放| 成人av在线观| 黄色a级片免费看| 精品国产不卡一区二区| 久久精品成人欧美大片古装| 伊人精品在线视频| 国产三级精品视频| 九九热免费在线观看| 日韩久久久久| 成人福利在线视频| 最新av在线播放| 日韩欧美综合在线| av资源吧首页| 91美女片黄在线观看91美女| 日韩精品一区在线视频| 精品国产午夜肉伦伦影院| 韩日欧美一区二区| 你懂的在线网址| 欧洲亚洲精品在线| 亚洲女人毛茸茸高潮| 国产一区二区三区久久悠悠色av| 一级黄色片播放| 综合久久成人| 欧美一级淫片videoshd| 第一视频专区在线| 在线观看91av| 日本三级片在线观看| 久久亚洲一区二区三区明星换脸| 黑鬼大战白妞高潮喷白浆| 久久一区二区三区喷水| 97人人模人人爽人人少妇| 手机av免费在线| 日韩成人中文字幕在线观看| 欧美一级特黄视频| 中文在线资源观看网站视频免费不卡| 久久久久亚洲av无码麻豆| 亚洲国产裸拍裸体视频在线观看乱了中文| 国产伦精品一区二区| 欧美电影免费观看高清完整| 色老头一区二区三区在线观看| 国产ts人妖调教重口男| 精品久久久久人成| 911国产在线| 26uuu亚洲综合色| 福利片一区二区三区| 亚洲国产欧美国产综合一区| 日本精品一区二区三区高清 久久 日本精品一区二区三区不卡无字幕 | 国产精品无码专区在线观看| www在线观看播放免费视频日本| 精品久久久久久久久久久院品网| 亚洲精品成人在线视频| 亚洲欧美在线视频| 亚洲专区区免费| 国产精品1区二区.| 欧美 日本 亚洲| 中文字幕一区二区三区欧美日韩 | 亚洲精品在线网址| 欧美中文日韩| 欧美黄网在线观看| 精品一区二区三| 国产成人成网站在线播放青青| 欧美日韩在线精品一区二区三区激情综合| 欧美大片网站在线观看| 爱久久·www| 日韩av有码在线| 亚洲av无码一区二区乱子伦| 日本精品视频一区二区| 国产精品成人免费观看| 欧美激情一区三区| 人妻少妇精品视频一区二区三区| 国产精品一品二品| 久久这里只精品| 久久午夜av| 免费一级特黄毛片| 欧美一区影院| 一区二区三区三区在线| 69精品国产久热在线观看| 成人黄色在线免费| 91福利精品在线观看| 性欧美激情精品| huan性巨大欧美| 日韩在线欧美在线国产在线| 欧美zzoo| 精品视频www| 国产91麻豆视频| 欧美久久高跟鞋激| 国产精品久久免费| 欧美日韩欧美一区二区| 久久精品国产亚洲av麻豆蜜芽| 婷婷久久综合九色综合绿巨人| 久久久久成人精品无码| 亚洲日本欧美天堂| 日韩精品123区| 一区二区三区中文字幕| 中国毛片直接看| 亚洲三级电影网站| 日本女人性生活视频| 国产精品久久久久久亚洲伦| 超碰人人人人人人人| 国产欧美一区二区三区网站 | 国产精品美女久久久久久久| 在哪里可以看毛片| 久久久亚洲欧洲日产国码αv| 韩国无码一区二区三区精品| 成人午夜精品一区二区三区| mm131国产精品| 久久 天天综合| 免费精品99久久国产综合精品应用| 蜜乳av一区二区| 污污的视频免费观看| 久久99精品网久久| 好吊操视频这里只有精品| 成人一区二区在线观看| 中文字幕天堂av| 99国内精品久久| 欧美激情aaa| 中文字幕成人网| 国产1区2区3区4区| 亚洲国产成人91porn| 日韩成年人视频| 日韩欧美主播在线| 亚洲精品一区二三区| 欧美视频中文字幕| 亚洲第一色网站| 日韩精品视频免费| eeuss影院www在线观看| 久热精品视频在线观看| 超免费在线视频| 欧日韩在线观看| 成人亚洲免费| 91视频99| 日韩丝袜视频| 亚洲欧美成人一区| 欧美黄色精品| 日本熟妇人妻xxxxx| 激情久久久久久久久久久久久久久久| 亚洲丝袜在线观看| 91丨九色丨蝌蚪富婆spa| 国产精品久久久视频| 亚洲乱码国产乱码精品精可以看 | 午夜久久久久| 97xxxxx| 日本美女视频一区二区| 日本一区二区免费视频| 久久精品亚洲麻豆av一区二区| 91精品国产闺蜜国产在线闺蜜| 亚洲国产aⅴ成人精品无吗| 7799精品视频天天看| 欧美性猛交xxxxxx富婆| 日韩专区第一页| 搡老女人一区二区三区视频tv| 91豆花视频在线播放| 国产精品偷伦一区二区| 久草在线综合| 先锋影音网一区| 国产精品久久久久久模特 | 不卡一区在线观看| 男人的天堂av网| 性做久久久久久| 波多野结衣电车痴汉| 亚洲电影免费观看高清完整版在线观看 | a视频在线观看免费| 日本成人在线视频网址| 久久av网站| 欧美精品一区二区三区在线四季 | 久久久久久久久久久99| 久久精品国产精品青草| 日韩av手机在线播放| 亚洲精品国产一区二区精华液 | 国户精品久久久久久久久久久不卡| 五月婷婷丁香色| 久久久久亚洲蜜桃| 日本一区二区不卡在线| 51精品秘密在线观看| 国产高清在线看| 欧美影院在线播放| 窝窝社区一区二区| 国产成人永久免费视频| 精品一区二区免费视频| 亚洲第一综合网| 日韩欧美a级成人黄色| 天天干,天天操,天天射| 欧美激情一区二区三区久久久 | 国产色a在线| 国产69久久精品成人| 激情av综合| 僵尸世界大战2 在线播放| 福利一区二区在线| 欧美性猛交xxxxx少妇| 欧美一区二区性放荡片| 幼a在线观看| 91精品国产综合久久久久久蜜臀| 青青草国产免费一区二区下载| av天堂永久资源网| 99久久精品国产导航| www.99re7.com| 亚洲精品国精品久久99热一| 成人福利电影| 国产精华一区二区三区| 韩国在线一区| 在线观看一区二区三区四区| 亚洲国产婷婷综合在线精品| 午夜精品久久久久久久爽| 久久成人这里只有精品| 国产aa精品| 日本xxx免费| 麻豆91精品91久久久的内涵| 一级黄色片日本| 91精品国产福利在线观看| 18+激情视频在线| 国产精品视频在线免费观看| 亚洲国产高清一区| 国产极品一区二区| 欧美日韩亚洲国产一区| 国产中文字幕在线| 国产精品久久久91| 成人嫩草影院| 成人三级做爰av| 午夜伦欧美伦电影理论片| 色窝窝无码一区二区三区| 欧美孕妇与黑人孕交| 日本欧美肥老太交大片| 黄页网站在线看| 狠狠久久亚洲欧美专区| 久草在线青青草| 国产自产女人91一区在线观看| 93在线视频精品免费观看| 91精品又粗又猛又爽| 一本到一区二区三区| 午夜不卡视频| 国产精品日韩一区二区免费视频| 在线视频免费在线观看一区二区| 99在线视频免费| 日韩久久精品一区| 韩国美女久久| 热这里只有精品| 91小视频免费观看| 99久久亚洲精品日本无码| 欧美精品videosex牲欧美| 宅男在线一区| 午夜免费福利视频在线观看| 一区二区三区国产| 性高潮久久久久久久久久| 国产日韩欧美另类| 亚洲精品1区2区| 国产视频精品免费| 亚洲精品美女视频|