helm部署的服务如何修改配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了helm部署的服务如何修改配置相关的知识,希望对你有一定的参考价值。

参考技术A 在Kubernetes上进行容器化部署时,使用helm可以简化操作,以部署Jenkins为例,只需要以下命令即可完成部署:

注意:关于helm部署的体验Jenkins的详情,请参考《》

上述命令部署的Jenkins服务,参数都是默认的,例如CPU和内存,如果您已装了metrics-server,用命令<font color="blue">kubectl top pod --all-namespaces</font>可以看到Jenkins所占内存仅有515兆,如下图:

Jenkins服务Java应用,如果内存不足会导致频繁的垃圾回收,下图是通过docker exec在Jenkin容器中执行jstat命令看到的JVM状况,可见YGC频繁,还有FGC出现:

本次操作在以下环境进行:

如果应用已经通过helm部署好了,用命令<font color="blue">kubectl edit</font>来修改最直接有效:

如果服务还没部署,可改用以下步骤部署:

https://github.com/zq2599/blog_demos

安装helm服务以及搭建Helm测试环境

参考技术A Helm will figure out where to install Tiller by reading your Kubernetes configuration file (usually $HOME/.kube/config). This is the same file that kubectl uses.

各release版本:

helm指定特定的kubectl配置中特定的context dev描述的集群去部署:

tiller支持两种存储:

无论使用哪种部署方式,这两种存储都可以使用.memory存储在tiller重启后,release等数据会丢失.

执行helm init后,会

在k8s集群kube-system namespace下安装了deployment tiller-deploy和service tiller-deploy.

补充 :

https://github.com/kubernetes/helm/issues/2409
未解决.

尝试了几次,又成功了.

已解决:
在kubelet node上安装socat即可. https://github.com/kubernetes/helm/issues/966

2.5版本安装的tiller,在出现 context deadline exceeded 时,使用2.4版本的helm执行 heml reset --remove-helm-home --force 并不能移除tiller创建的pod和配置.这是2.4版本的问题.

https://docs.helm.sh/using_helm/#running-tiller-locally

When Tiller is running locally, it will attempt to connect to the Kubernetes cluster that is configured by kubectl. (Run kubectl config view to see which cluster that is.)

必须要执行 helm init --client-only 来初始化helm home下的目录结构.否则helm repo list会报以下的错误:

这种方法如果k8s集群,没有办法测试 helm install ./testChart --dry-run 类似的命令,
即使通过 ./tiller -storage=memory 配置存储为内存

在本地运行tiller,但指定后端运行的k8s集群

helm还是和之前的一样.

以上是关于helm部署的服务如何修改配置的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Helm 更改 Prometheus 配置 scrape_interval 以进行 Prometheus 部署

如何编辑 Helm Chart 的配置?

Helm安装及配置

k8s实践17:监控利器prometheus helm方式部署配置测试

部署helm服务

Jenkins-k8s-helm-harbor-githab-mysql-nfs微服务发布平台实战