helm部署
时间: 2025-05-01 15:39:06 浏览: 18
### 使用 Helm 进行应用部署的教程及示例
#### Helm 的基本概念
Helm 是 Kubernetes 应用程序的包管理工具,它通过 Chart 来描述一组 Kubernetes 资源对象。Chart 可以看作是一个模板集合,用于简化复杂应用程序的部署过程[^3]。
#### 安装 Helm
在开始之前,需要先安装 Helm 工具本身。可以通过官方文档获取最新的安装指南。通常情况下,可以使用以下命令来完成安装:
```bash
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
```
确认安装成功后,运行 `helm version` 查看当前版本号[^2]。
#### 初始化本地环境
如果需要连接到远程 Chart 仓库,则需执行如下操作初始化 Helm 环境并添加默认仓库:
```bash
helm repo add stable https://charts.helm.sh/stable
helm repo update
```
这一步会更新可用 Charts 列表,并允许后续从中拉取所需资源。
#### 创建第一个 Deployment (MySQL 示例)
作为入门练习之一,这里展示如何利用 Helm 部署 MySQL 数据库服务:
1. **搜索目标 chart**
执行下面这条指令找到合适的 mysql chart 版本信息。
```bash
helm search repo mysql
```
2. **安装指定 chart**
下面的例子展示了怎样基于稳定版 charts 中的标准配置去启动一个新的实例。
```bash
helm install my-mysql stable/mysql --set mysqlRootPassword=yourpassword,mariadb.enabled=false
```
此处设置了 root 密码以及禁用了 mariadb 组件选项。
3. **验证 Pod 是否正常工作**
检查新创建出来的 pod 当前状态是否处于 Running 或 Ready 状态下。
```bash
kubectl get pods
```
4. **访问已部署的服务端口映射情况**
如果想测试外部能否连入该数据库服务器的话,可通过 port-forwarding 技术实现临时暴露功能。
```bash
kubectl port-forward svc/my-mysql 3306:3306 &
```
#### 更改现有 Chart 设置(Jenkins 实例调整时区为例)
有时原生提供的 templates 并不完全满足业务需求场景下的定制化参数设定要求。比如 Jenkins 默认设置的时间戳格式不符合中国地区习惯等问题就需要额外处理解决办法:
1. 编辑对应 StatefulSet YAML 文件路径位置;
2. 添加 env 参数字段声明新的 TZ 值等于 Asia/Shanghai 字符串表示形式;
```yaml
spec:
template:
spec:
containers:
- name: jenkins
image: "jenkins/jenkins:lts"
...
env:
- name: TZ
value: "Asia/Shanghai"
```
3. 更新改动后的 manifest 再次 apply 提交至集群生效即可[^4]。
---
### 总结
上述内容涵盖了从基础理论认识到实际动手演练整个流程环节的知识要点介绍。希望可以帮助读者更好地理解掌握关于 Helm 的核心技能知识点[^1]。
阅读全文
相关推荐
















