当前,我们需要为头盔图表存储库选择一个解决方案:
我们尝试保存到GitHub,但我们无法为每个客户提供凭据。 目前,我们正在测试chartmuseum。
哪种产品可以为我们的问题提供最大程度的完整且易于维护的解决方案?
答案 0 :(得分:-1)
Drekar中的头盔图表用法
Helm是Kubernetes的软件包管理器,类似于apt或yum或pip等。在继续之前,需要了解一些关于Helm的概念。 三大概念
图表是Helm软件包。它包含在Kubernetes集群中运行应用程序,工具或服务所需的所有资源定义。可以将其视为类似于Homebrew公式,Apt dpkg或Yum RPM文件的Kubernetes。
存储库是可以收集和共享图表的地方。就像Perl的CPAN归档文件或Fedora软件包数据库一样,但适用于Kubernetes软件包。
Release是在Kubernetes集群中运行的图表的实例。一个图表通常可以多次安装到同一群集中。并且每次安装时,都会创建一个新版本。考虑一个MySQL图表。如果要在群集中运行两个数据库,则可以两次安装该图表。每个人都有其自己的发行版,而后者又具有自己的发行版名称。
考虑到这些概念,我们现在可以像这样解释头盔:
Helm将图表安装到Kubernetes中,为每次安装创建一个新版本。要查找新图表,可以搜索Helm图表存储库。 手提篮头盔
Helm是一个简化安装和管理Kubernetes应用程序的工具。就像Kubernetes的apt / yum / homebrew一样。
Helm has two parts: a client (helm) and a server (tiller)
Tiller runs inside of your Kubernetes cluster, and manages releases (installations) of your charts.
Helm runs on your laptop, CI/CD, or wherever you want it to run.
Charts are Helm packages that contain at least two things:
A description of the package (Chart.yaml)
One or more templates, which contain Kubernetes manifest files
Charts can be stored on disk, or fetched from remote chart repositories (like Debian or RedHat packages)
方法1-手动管理/ charts下的子图表-已解压缩
所有子图都可以在Charts目录下手动管理。这些是实际未打包的头盔图表。
方法2-手动管理/ charts下的子图表-已归档
所有子图都可以在Charts目录下手动管理。这些只是图表的软件包版本。您可以使用以下命令打包图表:
头盔包
方法3-使用requirements.yaml文件管理子图表
使用helm命令和需求文件管理子图。
第三种方法是使用类似于docker注册表的Chart仓库服务器,称为Chart musuem。 https://chartmuseum.com/
的更多信息您将子图表依赖项添加到主头盔仓库中的requirements.yaml中
依赖项:
-名称:kube101-redis-chart
版本:1.0.0
信息库:http://cm.xxyyzz.com/
-名称:elasticsearch
版本:6.5.4-alpha3
信息库:https://helm.elastic.co
-名称:memcached
版本:2.5.0
信息库:https://kubernetes-charts.storage.googleapis.com
-名称:rabbitmq
版本:4.1.0
资料库:https://kubernetes-charts.storage.googleapis.com
现在添加新的存储库并配置存储库推入和拉出。然后使用helm获取依赖项。
helm init --client-only https://cm.xxyyzz.com
头盔回购加cm
头盔插件安装https://github.com/chartmuseum/helm-push
头盔依赖更新
这会提取如下图表/子目录下的所有相关图表
覆盖父图表中的子图表值
kube101-redis-chart:
redis:
规模:
粉丝:3
redis:
储存空间:1
规模:
组长:1
追随者:2
资源:
https://github.com/helm/helm/blob/master/docs/using_helm.md#three-big-concepts
https://github.com/helm/helm/blob/master/docs/charts.md#chart-dependencies
https://github.com/chartmuseum/helm-push
https://github.qualcomm.com/Drekar-tools/public-charts/tree/master/charts/kube101-helm