在具有节点异味的K8S群集上运行Sonobuoy e2e测试的解决方法

问题描述 投票:1回答:1

[我正在尝试使用Sonobuoy运行E2E Kubernetes测试,但是如果其中一个节点具有自定义污点(NoSchedule),我会得到

Nov 26 08:31:14.626: INFO: >>> kubeConfig: /tmp/kubeconfig-744133672
Nov 26 08:31:14.635: INFO: Waiting up to 30m0s for all (but 0) nodes to be schedulable
Nov 26 09:01:14.652: INFO: Unexpected error occurred: timed out waiting for the condition
Failure [1800.028 seconds]
BeforeSuite] BeforeSuite 
/workspace/anago-v1.12.1-beta.0.52+4ed3216f3ec431/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/e2e.go:137

Expected error:
<*errors.errorString | 0xc4200836b0>: {
s: "timed out waiting for the condition",
}
timed out waiting for the condition
not to have occurred

/workspace/anago-v1.12.1-beta.0.52+4ed3216f3ec431/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/e2e.go:175

Kubernetes版本是1.12。如果我删除测试群集中的污点,则E2E测试成功通过。

我发现它已在1.17版本中修复(请参阅:https://github.com/vmware-tanzu/sonobuoy/issues/599https://github.com/kubernetes/kubernetes/issues/74282https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.17.md]

是否有一种解决方法可以在具有节点污点的生产1.12 Kubernetes集群上运行e2e测试?当然,等待1.17版本和集群升级除外。

kubernetes e2e-testing
1个回答
0
投票

我认为对于1.17之前的kubernetes版本有一个解决方法。


kubernetes版本v1.16]上,您可以通过提供测试框架标志来运行Sonobuoy(Sonobuoy版本v0.16.1或更高版本):--allowed-not-ready-nodes=1

sonobuoy run --plugin-env=e2e.E2E_EXTRA_ARGS="--allowed-not-ready-nodes=1"

并且在v1.16之前的Kubernetes版本上

更复杂。我还没有测试过,但是根据文档:
© www.soinside.com 2019 - 2024. All rights reserved.