k8s应用的包管理Helm工具

二 部署helm

三 helm常用操作

命令 描述
create 创建一个 chart 并指定名字
dependency 管理 chart 依赖
get 下载一个 release。可用子命令:all、hooks、manifest、notes、values
history 获取 release 历史
install 安装一个 chart
list 列出 release
package 将 chart 目录打包到 chart 存档文件中
pull 从远程仓库中下载 chart 并解压到本地 # helm pull stable/mysql -- untar
repo 添加,列出,移除,更新和索引 chart 仓库。可用子命令:add、index、 list、remove、update
rollback 从之前版本回滚
search 根据关键字搜索 chart。可用子命令:hub、repo
show 查看 chart 详细信息。可用子命令:all、chart、readme、values
status 显示已命名版本的状态
template 本地呈现模板
uninstall 卸载一个 release
upgrade 更新一个 release
version 查看 helm 客户端版本

helm有官方仓库,但是不能连接上

添加第三方镜像源仓库

从指定的本地源来查看,可以看到刚刚加载的镜像源

查看有多少镜像源

搜索镜像源里有多少镜像

删除镜像源

搜索本地所有的源

安装项目

查看项目详细信息

卸载项目

查看是否还在

拉取项目

安装项目前预定义项目选项

就先解压开压缩包,然后进入目录中去,目录中就都是项目的全部信息了

缺少的镜像上传下来

镜像源位置

不用改变

更新项目

对内有IP,对外没有

从上面变成ClusterIP

更新配置文件

查看更新历史


四 构建helm中的chart包

建立chart项目

bash 复制代码
[root@k8s-master helm]# tree timinglee/
timinglee/
├── charts							#目录里存放这个chart依赖的所有子chart。
├── Chart.yaml						#用于描述这个 Chart 的基本信息
									#包括名字、描述信息以及版本等。

├── templates						#目录里面存放所有 yaml 模板文件。
│   ├── deployment.yaml
│   ├── _helpers.tpl				#放置模板助手的地方,可以在整个 chart 中重复使用
│   ├── hpa.yaml
│   ├── ingress.yaml
│   ├── NOTES.txt
│   ├── serviceaccount.yaml
│   ├── service.yaml
│   └── tests
│       └── test-connection.yaml
└── values.yaml						#用于存储 templates 目录中模板文件中用到变量的值。

3 directories, 10 files

构建方法

这里没有写版本,就会识别刚刚写的配置文件(就是上面的配置文件)里的版本号V1

ingress的配置

检测是否有语法错误

安装项目

报错情况:

之前的实验项目未删除干净,导致影响这里的实验

删除之后重新运行又因为之前运行失败的一次还是创建了,所以导致用户名冲突

查看是否有相同命名的项目,然后删除重复的,就可以成功创建了

成功以后,该做的都会一键生成

删除项目

对项目进行打包

不用解压,一键安装压缩包就行


五 构建helm仓库

通过软件的地址直接安装到插件里

但是此时是安装不上的,地址无效

此时需要我们自己创建插件的地址

要解到能被检测到的目录里

这个私有地址当中这个目录是默认的

#添加仓库时报错,因为我们用的是加密访问

证书位置是识别不到的

更新之后,才能使用

搜索项目

安装项目

列出所有版本

访问测试

六 helm的版本迭代

打包修改后的项目

上传之后

跟新一下

直接搜索默认展示最新的

-l 才能展示所有

直接跟新就行

回滚版本

版本更新和回滚会留下记录,想要改变直接输入记录的版本号,也能直接变化版本了