首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    基于helm部署Kubernetes下的高可用redis

    笔者用过 helm,它是Kubernetes下的包管理器,相当于apt-get、yum、brew这样的软件工具,用的是 helm(v2)版本,下面所介绍的 helm指的都是 v2 版本。通过使用 helm 解决了安装和部署复杂的 Kubernetes 应用,比如经常使用的 memecache、redis、MySQL。也解决过部分粉丝在用 helm 部署程序过程遇到一些问题,其中有几个粉丝一再建议我写一篇文章介绍下 helm,其实我是不想写的,究其原因有两点,第一、helm 官网和镜像仓库介绍非常详尽,当然安装也非常简单。第二、helm 如果想深入使用,必须搞明白 go 的模板语法,对于大多数用户来说,只是用来管理不同环境的编排文件,现在又要学一门模板语言,有一定的学习成本,所以就这点我是不太认可 helm 的。当然很多人会说,不如直接选择 Kubernetes 集成的 Kustomize,不用安装任何多余程序,即可完成不同环境应用配置和打包,但从本质上来说,helm 和 Kustomize 是有一定区别的,Kustomize 利用base+overlay的思想生成最终的描述文件,对原有yaml 编排文件不用怎么修改,即可无缝集成,使用上更简单。而 helm 则又分为仓库、helm 客户端、tiller 服务端,使用过程中,在底层定义模板,外层赋值。使用起来更复杂,但不可否认 helm 更强大,它不仅能够完成不同环境应用的打包和配置,更是对应用进行全生命周期的管理,比如查看历史部署版本、回退、升级等;另外支持应用程序的查找、以及应用程序依赖关系定制化等功能。之前介绍过 Kustomize 的使用,下文结合 redis-ha 安装部署介绍下 helm,使你对 Kustomize 和 helm 之间的功能点有一个更清楚的认识。

    02

    二进制安装k8s集群(20)-安装chartmuseum和helmpush

    在上一篇文章中我们介绍安装了helm和tiller server,两者用来作为k8s应用包管理的客户端提供命令行工具,以及作为服务端提供最终安装部署功能。这里我们介绍安装chartmuseum和helmpush,chartmuseum作为chart的私有仓库,helmpush作为插件工具来实现将chart推送到chart repo。当然作为chart repo,也不一定用chartmuseum,只要是web server就好,不过chartmuseum也属于helm项目,所以我们选择chartmuseum,这里对于chartmuseum采用linux systemd安装方式。另外,把chart推送到chart repo也不一定用helmpush,甚至用原始的curl https命令就好。同样helmpush也是属于helm项目的插件,所以我们选择使用它。对于实际应用,请根据自己的需求来选择chart repo和推送工具。

    03

    k8s的Helm

    ● kubernetes上的应用对象,都是由特定的资源描述组成,包括Deployment、Service等,都保存在各自文件中或者集中写在一个配置文件,然后通过kubectl apply -f 部署。如果应用只由一个或几个这样的服务组成,上面的部署方式就足够了。但是对于一个复杂的应用,会有很多类似上面的资源描述文件,例如微服务架构应用,组成应用的服务可能多达几十、上百个,如果有更新或回滚应用的需求,可能要修改和维护所涉及到大量的资源文件,而这种组织和管理应用的方式就显得力不从心了。并且由于缺少对发布过的应用进行版本管理和控制,使得kubernetes上的应用维护和更新面临诸多的挑战,主要面临以下的问题:

    00
    领券