如何解决使用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中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。