Kubernetes 开发环境
打开另外一个终端,配置 kubectl 之后就可以开始使用了:
cluster/kubectl.sh
单元测试
单元测试是 Kubernetes 开发中不可缺少的,一般在代码修改的同时还要更新或添加对应的单元测试。这些单元测试大都支持在不同的系统上直接运行,比如 OSX、Linux 等。
端到端(e2e)测试需要启动一个 Kubernetes 集群,仅支持在 Linux 系统上运行。
本地运行方法示例:
make WHAT='test/e2e/e2e.test'
export KUBERNETES_PROVIDER=local
go run hack/e2e.go -v -test --test_args='--ginkgo.focus=Port\sforwarding'
go run hack/e2e.go -v -test --test_args='--ginkgo.focus=Feature:SecurityContext'
Node e2e 测试
Node e2e 测试需要启动 Kubelet,目前仅支持在 Linux 系统上运行。
注:Kubernetes 的每个 PR 都会自动运行 node e2e 测试。
git checkout branch-fix-1
当然,也可以配置 .git/config
并运行 git fetch
拉取所有的 Pull Requests(注意 Kubernetes 的 Pull Requests 非常多,这个过程可能会很慢):
其他参考
- 编译 release 版:
make quick-release
- 机器人命令: 和 使用文档。
- ,包含所有的测试历史
- Kuberentes Submit Queue Status,包含所有的 Pull Request 状态以及合并队列
- ,包含 Node 组性能测试报告
- Kubernetes Performance Dashboard,包含 Density 和 Load 测试报告
- 和 Prow Status,包含所有 Pull Request 的 Jenkins 测试日志