ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

k8s Helm

2020-02-19 15:52:04  阅读:401  来源: 互联网

标签:helm 编排 Helm 镜像 docker k8s


Helm简述

Helm 是一个软件包管理器,提供了一种『简单的方法来查找、共享和使用为 Kubernetes 而构建的软件』。

Helm 能够用来管理 k8s 上的复杂应用,它提供了比 k8s 更上一层的编排能力。它的编排目标是应用,而 k8s 的编排目标则是更小粒度的服务。

Helm 能够管理 k8s 中的资源依赖,能够重用 chart 包,能够为不同 k8s 集群制定不同的配置。

Helm 本身的处理逻辑很简单,其自身价值并不大,而有价值的是 Helm 的生态圈和 Helm 官方所提供的众多包含有最佳实践的 chart 包。

举个栗子

比如需要部署一个 nginx 服务,那么就需要分别去创建对应的 Pod 资源、Service 资源和 ingress 资源。 通过这种方式来部署几个服务还是可以接受的,但是如果服务数量众多,这种一个一个的操作方式不仅效率低下,而且非常容易出错。能尽量减少人工的操作那么就需要尽量去减少,甚至消除人工操作。k8s 仅仅只是针对资源对象定义了操作,而非对一个服务整体,又或者是一个应用整体进行定义,它是一种细粒度的编排管理。出于这样的原因,k8s 对高层次的服务或应用编排的支持可能就不够了。Helm 的出现就是为了解决这种粗粒度的编排管理的。  

helm 使用注意事项

1、templates目录下只放有用文件,即使a.yaml.old 也会被识别,为了避免报错备份文件不要放在此处。

2、第一次发布错误,第二次以后的更新就会报错  UPGRADE FAILED: "kzf-test" has no deployed releases。解决办法:helm delete --purge $RELEASE_NAME

3、Helm 创建/更新 一个 release 时候指定的namespace 必须提前创建,helm 不能新建namespace 

4、values.yaml 文件中 image  配置pullPolicy

   pullPolicy 有三个参数:   

  Always :总是拉取远程镜像   

    IfNotPresent :如果本地存在镜像就优先使用本地镜像。

    Never:直接不再去拉取镜像了,使用本地的;如果本地不存在就报异常了。

  使用场景一:

 

  当k8s node 节点拉取远程仓库没有权限或者网络问题时就需要在其本地下载镜像,设置为Never或IfNotPresent 允许使用本地镜像。而不是always参数配置。 

  使用场景二:

  当在kubectl 客户端打包一个镜像再推送至远程仓库,第二次打包的tag 与第一次一样,这样同样可以更新镜像文件内容。但是节点上本地镜像是以第一次创建容器时拉取的        镜像,没有更新,所以应该配置为Always ,这样就会拉取远程仓库的新的镜像到本地并以此启动容器。

5、通过helm 创建release 的时候,node 节点查看创建的pod 显示镜像拉取错误。原因:node 节点没有私有仓库的拉取镜像权限,需要配置登录凭证,而且是指定命名空间下。配置命令如下:

kubectl -n k8s-ecoysystem-apps create secret docker-registry kzfsecret \ --docker-server=registry.wuling.com \ 
--docker-username=admin\ --docker-password=<your-pword> \
--docker-email=12341243@qq.com
z

 在 helm 的values.yaml  配置 imagePullSecrets: kzfsecret

标签:helm,编排,Helm,镜像,docker,k8s
来源: https://www.cnblogs.com/fanggege/p/11970679.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有