除了 Golang / docker 作为本地开发环境,开发 ChaosMesh 还需要 kubectl / helm / kind 等开发工具。 在这里将先介绍如何安装以及上几种工具。
kubectl 是一个本地的 kubernetes 集群客户端工具,通过 kubectl 我们可以通过几条简单的指令,查询或者操作对应的 Kubernetes 集群。在这里,我们推荐使用官方教程进行 安装 kubectl。
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.5", GitCommit:"20c265fef0741dd71a66480e35bd69f18351daea", GitTreeState:"clean", BuildDate:"2019-10-15T19:16:51Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"darwin/amd64"}
kind 是一个快速建立本地 Kubernetes 集群的工具,通过 kind 我们可以很方便的在本地起一个 Kubernetes 集群,这在开发 Kubernetes 平台应用时非常有帮助。在这里,我们推荐官方文档来安装 kind 工具。
$ kind --version
kind version 0.7.0
helm 是一个 Kubernetes 平台的应用包管理工具,我们可以通过 helm 来管理 Kubernetes 平台上的应用。 在这里我们推荐使用官方教程来安装 helm。
如果你并不熟悉 Kubernetes 与 相关工具 ,我们建议你先进行相关概念与工具的学习。当然,开发 Chaos-mesh 并不需要你掌握所有的概念,我们也非常鼓励在开发工程中进行学习。
如果你并不了解 Operator + CRD 的开发模式,那么我们建议你通过相关资料先熟悉与了解,了解上述概念将更好的帮助你了解 Chaos-mesh 是如何运行的: