【问题标题】:Workaround to run Sonobuoy e2e tests on K8S cluster having node taints在具有节点污点的 K8S 集群上运行 Sonobuoy e2e 测试的解决方法
【发布时间】:2020-01-12 03:31:36
【问题描述】:

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

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】:

    我认为 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 版本上,它更加复杂。我没有对此进行测试,但根据文档:

    【讨论】:

      猜你喜欢
      • 2023-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-31
      • 1970-01-01
      • 2016-02-01
      • 1970-01-01
      相关资源
      最近更新 更多