[英]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.