在 Kubernetes 中使用 Helm 部署 Portainer

善用 K8S 的 Helm 真的很爽,如果没有太多定制化的需求,大多数时候,找到服务的 chart,添加到 helm repo 中,然后 helm install 一安装,服务就上线了,省去了很多配置 DeployMent 啦,配置 ConfigMap 啦,配置 Volume 啦,这些繁琐的步骤。

而且很多时候用这些已经集成好的 Charts 是无伤大雅的,没有人会在意你写了多漂亮的 DeployMent YAML 文件,也没有人会在意你专门为这个服务定制的 Volume 存储有多合乎规定。他们只会在乎你的服务有没有起来,项目上线时间会不会晚。

在 K8S 中 安装 Portainer

1
2
3
4
# 添加 portainer 的 Helm Charts 
helm repo add portainer https://portainer.github.io/k8s/
# 更新 REPO
helm repo updatebash
1
2
#下面的代码会在名为 portainer 的命名空间(没有则会创建该命名空间) 部署 Portainer 
helm upgrade --install --create-namespace -n portainer portainer portainer/portainer --set tls.force=true

小 Tips

不是所有时候都能用 helm 一键搞定服务上线的,需要具备以下几点才可以

  • 所选择的 Charts 已经被充分验证可用

  • 服务不要求各种特殊定制化

  • 小型企业及个人开发者

  • 对生产环境无直接影响

如果以上条件有一项不被满足,就需要重新考虑如何慎重部署该服务了。别偷懒

这里经过我的愚笨的尝试,我发现在 K8S 中想要 DIY 一个自己的 GitLab-CE,是比较麻烦的,需要调试的地方太多了,并且性能也不如我用 Portainer 一键部署的。

推荐大家如果想要部署自己的 GitLab-CE, 可以直接使用 Docker-Compose 一键部署。