【云原生】Helm应用商店

【云原生】Helm应用商店

一、简介

一个应用:(比如博客程序,wordpress+mysql),自己得写很多东西

  • Deployment.yaml
  • Service.yaml
  • PVC.yaml
  • Ingress.yaml
  • ...

二、安装Helm

https://helm.sh/zh/docs/v3/intro/install

每个Helm 版本都提供了各种操作系统的二进制版本,这些版本可以手动下载和安装。

  1. 下载合适K8s的版本 :wget https://get.helm.sh/helm-v3.5.4-linux-amd64.tar.gz
  2. 解压(tar -zxvf helm-v3.5.4-linux-amd64.tar.gz)
  3. 在解压目录中找到helm程序,移动到需要的目录中(mv linux-amd64/helm /usr/local/bin/helm)
  4. 给权限:chmod +x /usr/local/bin/helm

三、入门使用

1、三大概念

  • Chart 代表着 Helm 包。它包含在 Kubernetes 集群内部运行应用程序,工具或服务所需的所有资源定义。你可以把它看作是 Homebrew formula,Apt dpkg,或 Yum RPM 在Kubernetes 中的等价物。【charts:图表; 发布charts】

  • Repository(仓库) 是用来存放和共享 charts 的地方。它就像 Perl 的 CPAN 档案库网络 或是 Fedora 的 软件包仓库,只不过它是供 Kubernetes 包所使用的。

  • Release 是运行在 Kubernetes 集群中的 chart 的实例。一个 chart 通常可以在同一个集群中安装多次。每一次安装都会创建一个新的 release 。以 MySQL chart为例,如果你想在你的集群中运行两个数据库,你可以安装该chart两次。每一个数据库都会拥有它自己的 releaserelease name

在了解了上述这些概念以后,我们就可以这样来解释 Helm:

Helm 安装 charts 到 Kubernetes 集群中,每次安装都会创建一个新的 release 。你可以在 Helm 的 chart repositories 中寻找新的 chart。

2、charts 结构

3、自定义变量值

4、推送helm chart

sh 复制代码
helm registry login --insecure 192.168.86.5
helm chart save /root/mariadb 192.168.86.5/chart/mariadb:test
helm chart push 192.168.86.5/chart/mariadb:test
helm registry logout 192.168.86.5

四、Helm使用总结

1、拉仓库

2、下安装包

3、解压;cp values.yaml myself.yaml;修改myself.yaml

4、helm install helm -f values.yaml -f myself.yaml applicationName ./ -n namespace

5、helm list -A

6、uninstall


sh 复制代码
helm repo add bitnami https://helm-charts.itboon.top/bitnami 【找到的国内源】
helm repo add azure http://mirror.azure.cn/kubernetes/charts/ 
...

helm repo list
bitnami     https://helm-charts.itboon.top/bitnami  
azure     	http://mirror.azure.cn/kubernetes/charts/


helm repo update
sh 复制代码
helm search repo  mysql -l | grep 8.0.
                                              Chart 版本       App 版本
bitnami/mysql                                 	10.2.1       	8.0.36 
第二列是 Chart 版本(Chart 自身的打包版本)
第三列是 App 版本(Chart 中部署的应用程序的版本)

helm pull bitnami/mysql --version 10.2.1 # 使用 Chart 版本号拉取
ls
tar -zxvf mysql-10.2.1.tgz
...
[root@k8s-master mysql]# pwd
/home/lpruoyu/helm/mysql
[root@k8s-master mysql]# ls
Chart.lock  charts  Chart.yaml  README.md  templates  values.schema.json  values.yaml

# 用 helm install -f values.yaml my-mysql ./ 这种方式安装,修改values.yaml即可自定义【pv供应商的nfs路径最好搞个新的】
相关推荐
张忠琳1 小时前
【NVIDIA】k8s-device-plugin v0.19.3 标签管理模块 (internal/lm) 深度分析之六
云原生·容器·架构·kubernetes·nvidia
小匠石钧知1 小时前
02_在多个RockyLinux10虚拟机上安装k8s集群
云原生·容器·kubernetes·k8s
阿里云云原生2 小时前
一周上线!信永中和基于阿里云 AgentTeams + AI 网关打造多智能体 AI 平台
阿里云·云原生·ai网关·agentteams
名字还没想好☜6 小时前
Kubernetes Pod 调度实战:nodeSelector、亲和性与 taint/toleration 把 Pod 放到指定节点
运维·云原生·容器·kubernetes·调度
张忠琳6 小时前
【NVIDIA】k8s-device-plugin v0.19.3 辅助命令模块深度分析之七
云原生·容器·架构·kubernetes·nvidia
池以遇8 小时前
云原生——LVS
运维·云原生·lvs
林浅不想努力18 小时前
LVS知识点总结
服务器·云原生·lvs
阿里云云原生1 天前
将内核专家经验封装进 Agent:SysOM 巡检 Skill 开源,赋能你的运维自动化闭环
云原生
自律懒人1 天前
AI应用从原型到上线的最后一公里——灵光闪应用一键部署深度实测,30+免费API + Serverless零配置发布
人工智能·云原生·开源·serverless
风曦Kisaki1 天前
Kubernetes(K8s)笔记Day03: Pod命名空间,标签,Pod 的调度,污点与容忍度,Pod 常见状态和重启策略,Pod 生命周期
linux·运维·笔记·docker·云原生·容器·kubernetes