使用envTest进行kubernetes Operator-SDK测试

问题描述

我是operator-sdk的新手。现在,我正在使用envtest框架为操作员编写测试,所以我有一个假的环境控制面板。

在控制器协调循环内部,一旦我初始化了CR,控制器就会拉下Pod的映像并部署该Pod。

以上所有行为均发生在实际的k8s集群中。我的问题是,在envtest的环境下,控制器是否真的下拉了用于部署Pod的映像?

解决方法

这取决于o_i = 1 # initial value num_loops = 10 # or however many loop iterations you want results = [] # the list that stores the results for _ in range(num_loops): o_i = o_f(l,o_i,f_1) results.append(o_i) print(o_i) 的配置。以下是来自kubebuilder book的引文:

[envtest]设置并启动etcd和Kubernetes API服务器的实例,而无需kubelet,控制器管理器或其他组件

除非您使用的是现有集群,否则请记住,在测试环境中没有内置控制器在运行

因此,如果您未将envtest env var设置为true,那么USE_EXISTING_CLUSTER将仅使用API​​服务器和etcd来设置控制平面。例如,如果您的控制器应该在某个事件中创建Deployment,则测试环境中没有可以创建ReplicaSet和Pod的Deployment Controller。基本上,它所做的只是将测试环境的状态存储在etcd中。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...