什么是Helm
安装及卸载
详见官网 (opens new window)
- 目前具有16513个包,329602个发行版。 但是该网址只能预览chart,无法直接下载。 下载还得通过helm命令行pull
- 以redis为例:,在该网址能看到 redis的chart仓库地址bitnami,helm版本号信息,app信息等. 地址在搜索结果即可看到,鼠标移上去显示repo地址;
bitnami获取tar.gz压缩包备注
- 注意,配置了代理的情况下,有部分包依然无法下载,比如
helm pull bitnami/nginx
, 但是这时候其他的命令是可以用的。比如 helm repo search nginx
等;
- 此时报错: 'failed to do request: Head "https://registry-1.docker.io/v2/bitnamicharts/nginx/manifests/19.0.1": dial tcp 128.242.240.117:443: i/o timeout'
- 但是代理是生效了的
- 此时可以用url的方式直接下载,Bitnami 的 Helm Chart 托管在公共仓库中,其 URL 结构是固定的,结构如下:
https://charts.bitnami.com/bitnami/<CHART-NAME>-<VERSION>.tgz
- 由于此时代理是可用的,直接使用
curl https://charts.bitnami.com/bitnami/<CHART-NAME>-<VERSION>.tgz
可进行下载
Helm命令
仓库相关
仓库交互
helm官方chart仓库
helm最佳实践
一般惯例
- chart名称必须是小写字母和数字,单词之间可以用横杠分隔;
- chart名称中,不能有大写字母
yaml
文件中,使用双空格键缩进,不能使用tab
values规范
- 变量名称以小写字母开头,使用驼峰区分
- 所有的Helm内置变量以大写字母开头
- k8s的资源名称,需要使用横杠分隔;
helm安装资源的顺序
- Namespace
- NetworkPolicy
- ResourceQuota
- LimitRange
- PodSecurityPolicy
- PodDisruptionBudget
- ServiceAccount
- Secret
- SecretList
- ConfigMap
- StorageClass
- PersistentVolume
- PersistentVolumeClaim
- CustomResourceDefinition
- ClusterRole
- ClusterRoleList
- ClusterRoleBinding
- ClusterRoleBindingList
- Role
- RoleList
- RoleBinding
- RoleBindingList
- Service
- DaemonSet
- Pod
- ReplicationController
- ReplicaSet
- Deployment
- HorizontalPodAutoscaler
- StatefulSet
- Job
- CronJob
- Ingress
- APIService
Helm个人理解
- 除了流水线的便捷外,最重要的是应用模板;
- 应用模板便捷的根本原因在于:docker+磁盘挂载+配置挂载+密钥挂载;