日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Kubernetes二次开发--Operator的使用

發布時間:2025/3/21 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Kubernetes二次开发--Operator的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Operator是一個感知應用狀態的控制器

Operator是使用CRD實現的定制化Controller,它與K8s內建的Controller遵循同樣的運行模式

1.安裝Operator

git clone https://github.com/operator-framework/operator-sdk.git make dep&make install operator-sdk version

2.Operator開發流程

3.開發準備

git clone https://github.com/kubernetes/kubernetes.git cp -R kuebernetes/staging/src/k8s.io $GOPATH/src/k8s.io mkdir $GOPATH/src/sigs.k8s.io cd $GOPATH/src/sigs.k8s.io git clone https://github.com/kubernetes-sigs/controller-runtime.git

4.創建項目工程

operator-sdk new testpod-operator --skip-validation=true --repo=github.com/test-com/testpod-operator #最后一個參數用作GitHub開源

5.添加CRD資源類型的API

cd testpod-operator operator-sdk add api --api-version=k8s.test.com/v1alpha1 --kind=TestPod #自定義的CRD資源類型為TestPod

上述操作會在pkg目錄下的apis下創建一個k8s的文件夾,其中k8s文件夾下會生成v1alpha1版本的腳手架代碼,后期需要改動的為testpod_types.go這個文件,其中TestPodSpec結構體為期望的狀態,TestPodStatus結構體為集群中實際運行的狀態

6.添加自定義資源的控制器

operator-sdk add controller --api-version=k8s.test.com/v1alpha1 --kind=TestPod

上述操作會在controller文件夾下生成testpod文件夾,該文件夾下的testpod_controller.go文件將會在后期主要開發

7.開發Controller

當k8s文件夾下會生成v1alpha1版本下的腳手架代碼testpod_types.go發生改動時,需要執行operator-sdk generate k8s 重新生成腳手架代碼框架,執行operator-sdk generate crds 更新k8s.test.com_testpods_crd.yaml

8.編譯工程

operator-sdk build registry/testpod-operator #生成工程部署需要的鏡像文件,registry為私有倉庫地址

9.push鏡像到私有倉庫

docker push registry/testpod-operator #方便k8s集群部署時可以從私有倉庫直接拉取

10.部署Operator

# 1.部署service_account kubectl apply -f deploy/service_account.yaml # 2.部署角色 kubectl apply -f deploy/role.yaml # 3.部署角色綁定 kubectl apply -f deploy/role_binding.yaml # 4.部署crd kubectl apply -f deploy/crds/k8s.test.com_testpods-crd.yaml # 5.部署Operator(controller) kubectl apply -f deploy/operator.yaml # 6.部署應用Pod kubectl apply -f deploy/crds/k8s.test.com_v1alph1_testpod_cr.yaml

總結

以上是生活随笔為你收集整理的Kubernetes二次开发--Operator的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。