分享好友 最新动态首页 最新动态分类 切换频道
helm的安装、使用以及自定义Chart
2024-12-26 22:06

Helm概述

Helm 是一个 Kubernetes 的包管理工具,类似 Linux 的包管理器,如RedHat系的yum、Debian的apt,可以很方便的将之前打包好的 yaml 文件部署到 Kubernetes 上。Helm主要解决以下问题:1、把yaml作为一个整体管理。2、实现yaml的高效复用。3、实现应用级别的版本管理。

当前 Helm 已经升级到V3版本,相比于V2版本主要变化如下

1、 最明显的变化是删除了 Tiller 。
2、 Release 名称可以在不同命名空间重用。
3、 支持将 Chart 推送至 Docker 镜像仓库中。
4、 使用 JSONSchema 验证 chart values。

Helm 有3个重要概念
    1、helm: 一个命令行客户端工具,主要用于 Kubernetes 应用 chart 的创建、 打包、 发布和管理。
    2、Chart:应用描述,一系列用于描述 k8s 资源相关文件的集合。
    3、Release:基于 Chart 的部署实体,一个 chart 被 Helm 运行后将会生成对应的一个release;release是在 k8s 中创建出真实运行的资源对象。

下图是 Helm V2 与 Helm V3 的架构图对比

V2版本的架构中,Tiller在Kubernetes集群中,Helm Client发请求给Tiller需要经过RBAC认证。而V3版本是Helm通过kubeconfig连接kube-apiserver,避免了使用者去配置RBAC权限。

安装Helm

安装Helm V3版本非常简单,只需要下载Helm的二进制文件,并复制到 Kubernetes 主节点的 /usr/bin 目录即可。

Helm下载地址 https://get.helm.sh/helm-v3.4.2-linux-amd64.tar.gz

解压Helm

tar zxvf helm-v3.4.2-linux-amd64.tar.gz

移动到主节点 /usr/bin 目录

mv linux-amd64/helm /usr/bin/

验证是否安装成功

helm version

如同yum、apt拥有仓库一样,Helm也有仓库,使用Helm默认仓库下载Chart比较慢,可以增加微软、阿里的仓库。

添加微软Chart仓库

helm repo add stable http://mirror.azure.cn/kubernetes/charts

添加阿里Chart仓库

helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

更新Chart仓库

helm repo update

查看仓库列表

helm repo list

删除仓库

helm repo remove aliyun

使用Helm安装K8S应用

Weave Scope 是一款 Docker 和 Kubernetes 可视化监控工具,可以监控 Kubernetes 集群中的一系列资源的状态、资源使用情况、应用拓扑、scale、还提供通过浏览器进入容器内部调试等功能。Helm 仓库提供了 Weave Scope 编写好的 Chart,使用 Helm 安装 Weave Scope 非常方便。

在chart仓库中查找weave

helm search repo weave

安装stable/weave-scope。注意 helm install 后面接的第一个参数叫做Release,名字可以随意取,我们起名为ui

helm install ui stable/weave-scope

查看所有Release

helm list

查看单个Release状态

helm status ui

weave-scope安装完之后,需要配置ingress才能在集群外部用浏览器打开weave-scope的可视化页面。如果你的k8s集群没有安装ingress-controller可以查看这篇博客 https://blog.csdn.net/u010606397/article/details/107815079

配置ingress规则

vim ingress-weave.yaml

 

配置 /etc/hosts 将 weave.k8s01.com 映射到本机 127.0.0.1

vim /etc/hosts

加入如下内容

127.0.0.1 weave.k8s01.com

部署ingress

kubectl apply ingress-weave.yaml

修改宿主机 hosts 文件,添加 DNS 映射,window 系统的 hosts 文件在 C:WindowsSystem32driversetc 目录下。

Kubernetes主节点IP weave.k8s01.com

打开浏览器,访问 Weave Scope 可视化页面。注意,端口不一定是30080,这取决于你集群上ingress-controller的配置

http://weave.k8s01.com:30080/

自定义Chart

如果每部署一个k8s应用都需要写一份deployment、service配置,应用多的时候会很难管理,并且每个应用的deployment、service配置大同小异,将deployment、service做成模板可大大减少配置文件数量。

创建自定义Chart

helm create template-chart

template-chart目录的文件结构如下
├── charts
├── Chart.yaml
├── templates
│ ├── deployment.yaml
│ ├── _helpers.tpl
│ ├── ingress.yaml
│ ├── NOTES.txt
│ └── service.yaml
└── values.yaml

Chart.yaml:用于描述这个 Chart 的基本信息,包括名字、描述信息以及版本等。
values.yaml:用于存储 templates 目录中模板文件中用到变量的值。
Templates:目录里面存放所有 yaml 模板文件。
charts:目录里存放这个 chart 依赖的所有子 chart。
NOTES.txt :用于介绍 Chart 帮助信息,helm install 部署后展示给用户。例如:如何使用这个 Chart、 列出缺省的设置等。
_helpers.tpl:放置模板助手的地方,可以在整个 chart 中重复使用。

为了简单,本博客仅保留部分配置文件,其他文件删除,保留文件如下

values.yaml用于存放变量,values.yaml配置如下

 

templates目录用于存放模板文件,模板文件通过 {{ .Values.xxxxxx }} 获取values.yaml中定义的值,例如:{{ .Values.replicas }} 、{{ .Values.image }}。

另外,部署自定义chart的命令是 helm install nginx-web template-chart 。 helm install 命令的第一个参数称为 Release,名字可以随意取,模板文件使用 {{ .Release.Name }} 可获取Release名称;第二个参数 template-chart 是自定义chart的目录名。

修改 deployment.yaml

 

修改service.yaml

 

NOTES.txt 随便写个欢迎信息即可

 

.helmingore、Chart.yaml 不需要修改

安装自定义chart

helm install nginx-web template-chart

由于service是NodePort类型,对外暴露了端口。查看service对外暴露的端口

kubectl get svc

访问nginx

http://主节点IP:30076/

卸载 Helm 安装的 Release

helm uninstall nginx-web

 

最新文章
百度站点收录 百度站点收录秘籍:提升曝光,优化排名策略
在当今这个信息爆炸的时代,互联网已成为知识传播、商业交流与文化传播的重要平台而在这个浩瀚的数字海洋中,搜索引擎如同指南针,引领着用户快速定位到所需信息作为中文互联网搜索领域的领军者,百度搜索引擎凭借其强大的技术实力和广泛的
独立站SEO优化策略是什么,独立站怎么做好SEO优化
独立站SEO优化策略是什么精准定位关键词:针对目标用户群体,进行深入的关键词研究,找出具有商业价值的关键词,并围绕这些关键词进行内容创作和优化。内容营销:通过发布有价值的内容,吸引用户关注,提高网站权重。同时,积极与其他网站
谷歌搜索联盟 (GSA) SER 外链工具:详细的外链建设规划和执行指南
引言在当今竞争激烈的在线环境中,外链建设对于提高网站排名、获得流量和建立在线权威至关重要。谷歌搜索联盟 (GSA) SER 外链工具是一款功能强大的工具,可帮助企业主和 SEO 专家执行全面的外链建设活动。本文将概述一个详细的外链建设规划
百度推广神器,一站式优化攻略,助力广告效果飞跃
百度推广优化工具,一站式攻略助您快速提升广告效果。涵盖关键词研究、创意设计、数据分析等多功能,助力精准投放,实现广告成本效益最大化。轻松操作,助您在竞争激烈的市场中脱颖而出。随着互联网的普及,越来越多的企业开始重视网络营销
百度蜘蛛池效果:秒收录蜘蛛池SEO博客,揭秘高效内容发布与搜索引擎优化策略
百度蜘蛛池快速收录SEO博客,详解高效内容发布及搜索引擎优化技巧。本文目录导读:什么是秒收录蜘蛛池SEO博客?如何打造秒收录蜘蛛池SEO博客?在互联网时代,搜索引擎优化(SEO)已经成为网站运营和内容创作者不可或缺的一部分,而在这其中
高清美女写真生成新体验,揭秘最强AI工具排行榜!
限时免费,点击体验最近超火的AI生图神器,坐拥3000美女的大男主就是你! https://ai.sohu.com/pc/generate/textToImg?_trans_=030001_yljdaimn 在这个数码盛行的时代,大家是否曾幻想过,随时都能拥有一张超美的自己照片?设想一下,用AI
解锁阿里国际站多元化流量,卖家的关键成功策略
在阿里国际站,网站的流量来源多种多样,主要包括以下几个方面,每个方面都对网站的流量贡献不小:1. 搜索引擎流量: 搜索引擎是许多用户找到阿里国际站的首选方式。用户在搜索引擎上输入相关关键词,然后通过搜索结果页面进入阿里国际站。
文化无界、科技无边 AI开启文化IP体验的沉浸之旅
在此前举办的2024年世界互联网大会乌镇峰会上,“互联网之光”博览会全面聚焦人工智能,来自全球53个国家和地区的665个参展企业,带来了人工智能领域的前沿科技和最新应用。 近年来,我国高度重视科技创新,并在大数据、云计算、人工智能、
男子倍投100倍分三地购买 豪揽排列五1000万大奖
  3月9日,体彩排列五第17061期开奖,奖号“1 9 8 8 5”,全国中出158注。其中,武汉三个销售点合计中得100注,总揽奖1000万元。有意思的是,这三个销售点均位于汉口京汉大道两侧,距离不过2站路,分别中出40注、40注、20注。投注倍数相
香港免费公开资料大全|精选解释解析落实
精选解释解析与落实策略在数据驱动的时代,获取准确、全面且权威的数据资源对于各行各业的决策制定至关重要,特别是在香港这样一个高度发达的国际金融中心和多元文化交汇地,拥有丰富而可靠的公开资料是推动社会进步、促进经济发展的关键,
相关文章
推荐文章
发表评论
0评