簡體   English   中英

使用 envTest 進行 kubernetes Operator-sdk 測試

[英]kubernetes Operator-sdk test with envTest

我是operator-sdk的新手。 現在我正在使用envtest框架為操作員編寫測試,所以我有一個用於環境的假控制平面。

在控制器協調循環中,一旦我初始化了一個 CR,控制器就會為 pod 拉下一個鏡像並部署那個 Pod。

以上所有行為都發生在真正的 k8s 集群中。 我的問題是,在envtest下,控制器真的會拉下鏡像來部署 Pods 嗎?

這取決於envtest配置。 以下是kubebuilder 書中的引述:

[envtest] 設置並啟動 etcd 實例和 Kubernetes API 服務器,無需 kubelet、controller-manager 或其他組件

除非您使用現有集群,否則請記住在測試上下文中沒有運行任何內置控制器

因此,如果您不將USE_EXISTING_CLUSTER env var 設置為 true, envtest將僅使用 API 服務器和 etcd 設置控制平面。 例如,如果您的控制器應該在某個事件中創建部署,則測試環境中沒有部署控制器可以創建 ReplicaSet 和 Pod。 基本上,它所做的就是在 etcd 中存儲測試環境的狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM