环境准备
Requirements
除了上面的工具和环境以外,需要有一套可连接的kubernetes环境,要求配置好kubectl config,以便能直连进行调试。
由于Feature gates的 --CustomResourceWebhookConversion
参数是在v1.15及以上的版本k8s才默认为true,为了避免版本导致的额外问题,如果是新部署,建议安装v1.15.4 以上的版本,原有的集群版本较低的话请升级。
参考这里:
安装
go
参考这里:Install Go
docker
mac安装包:
wget https://download.docker.com/mac/stable/Docker.dmg
linux根据不同的发行版来安装,网络资料很多,不再赘述
kubebuilder
os=$(go env GOOS)
arch=$(go env GOARCH)
# download kubebuilder and extract it to tmp
curl -L https://go.kubebuilder.io/dl/2.3.1/${os}/${arch} | tar -xz -C /tmp/
# move to a long-term location and put it on your path
# (you'll need to set the KUBEBUILDER_ASSETS env var if you put it somewhere else)
sudo mv /tmp/kubebuilder_2.3.1_${os}_${arch} /usr/local/kubebuilder
export PATH=$PATH:/usr/local/kubebuilder/bin
kubebuilder/bin路径下额外有kubectl二进制文件,无需再额外安装。
另外,mac版的包里面自带kustomize.tar.gz,直接运行即可,无需再独立安装:
tar -xf /usr/local/kubebuilder kustomize_v3.5.4_darwin_amd64.tar.gz
mv /usr/local/kubebuilder/kustomize /usr/local/kubebuilder/bin
其他平台可通过下面的方式安装kustomize
kustomize
curl -s "https://raw.githubusercontent.com/\
kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash
kubernetes
安装方式众多,文档丰富,不再赘述。