用KubeLinter找到并修复你的Helm chart和Kubernetes配置文件中的错误。
KubeLinter是Stackrox发布的一个开源项目,用于分析Kubernetes的YAML文件,以发现安全问题和错误代码。该工具能够分析Helm charts和Kubernetes编排文件、Knative文件。使用它可以改进本地云开发、减少开发时间,并鼓励DevOps最佳实践。
下载和安装
在本教程中,我使用了Pop_OS!20.10, Helm 3,Go1.13.8,和Minikube Kubernetes 1.19。
有几个选项可以安装KubeLinter。
你可以从Git仓库手动安装:
代码语言:javascript复制$ git clone git@github.com:stackrox/kube-linter.git
$ cd kube-linter && make build
$ .gobin/kube-linter version
如果你使用的是Homebrew,你可以使用brew命令来安装:
代码语言:javascript复制$ brew install kube-linter
你也可以用Go安装它(就像我说的那样):
代码语言:javascript复制$ GO111MODULE=on go get golang.stackrox.io/kube-linter/cmd/kube-linter
go: finding golang.stackrox.io/kube-linter latest
go: downloading golang.stackrox.io/kube-linter v0.0.0-20201204022312-475075c74675
go: extracting golang.stackrox.io/kube-linter v0.0.0-20201204022312-475075c74675
[...]
安装完成后,你必须在~/.bashrc中创建一个别名:
代码语言:javascript复制$ echo "alias kube-linter=$HOME/go/bin/kube-linter" >> ~/.bashrc
$ source ~/.bashrc
Helm与KubeLinter
现在工具安装好了,在一个Helm chart上尝试一下。首先,以一个干净的构建和一些小的配置更改启动Minikube:
代码语言:javascript复制$ minikube config set kubernetes-version v1.19.0
$ minikube config set memory 8000
❗ These changes will take effect upon a minikube delete and then a minikube start
$ minikube config set cpus 12
❗ These changes will take effect upon a minikube delete and then a minikube start
$ minikube delete