当前位置: 首页 > news >正文

创建Helm脚本

一、创建脚本

Helm 是 Kubernetes 的包管理工具,它可以帮助您简化和自动化 Kubernetes 应用程序的部署和管理。使用 Helm,您可以创建和管理称为 Helm Chart 的应用程序打包,这些 Chart 包含了 Kubernetes 资源和配置信息,可以在不同的 Kubernetes 集群上部署和管理应用程序。

在 Helm 中,通过执行 `helm create` 命令,您可以快速创建一个新的 Helm Chart。这个命令会生成一个初始的 Helm Chart 目录结构,并包含一些示例文件,让您可以快速开始构建自己的应用程序。

以下是使用 `helm create` 命令初步生成 Helm Chart 文件的步骤:

1. 打开终端或命令行界面。
2. 进入您希望创建 Helm Chart 的目录,例如:`cd /path/to/charts`
3. 执行 `helm create` 命令并指定 Chart 的名称,例如:helm create rabbitmq-management

执行上述命令后,Helm 将在当前目录下创建名为 `rabbitmq-management` 的 Helm Chart 目录,并生成以下文件和目录:

rabbitmq-management
├── Chart.yaml
├── charts
├── templates
│   ├── _helpers.tpl
│   ├── deployment.yaml
│   ├── service.yaml
│   └── tests
│       └── test-connection.yaml
└── values.yaml

生成的文件中,`templates` 目录包含了一些示例模板文件,您可以根据需要修改或添加更多的模板文件来定义要部署的 Kubernetes 资源。`values.yaml` 文件包含了一些默认的配置值,您可以在这里定义 Chart 的默认配置,并在模板中使用这些配置。

一旦生成了初始的 Helm Chart 文件,您可以根据需要编辑和定制 Chart,然后使用 `helm install` 命令将应用程序部署到 Kubernetes 集群中。

二、测试语法

helm lint 

helm lint ./rabbitmq-management
==> Linting ./rabbitmq-management
[INFO] Chart.yaml: icon is recommended1 chart(s) linted, 0 chart(s) failed

 

三、 查看脚本内容

helm template 

helm template rabbitmq-management ./rabbitmq-management---
# Source: rabbitmq-management/templates/service.yaml
apiVersion: v1
kind: Service
metadata:name: rabbitmq-managementlabels:dce.daocloud.io/app: rabbitmq-managementhelm.sh/chart: rabbitmq-management-0.1.0app.kubernetes.io/name: rabbitmq-managementapp.kubernetes.io/instance: rabbitmq-managementapp.kubernetes.io/version: "1.16.0"app.kubernetes.io/managed-by: Helm
spec:type: NodePortports:- port: 5672targetPort: 5672protocol: TCPname: connection- port: 15672targetPort: 15672protocol: TCPname: managementselector:app.kubernetes.io/name: rabbitmq-managementapp.kubernetes.io/instance: rabbitmq-management
---
# Source: rabbitmq-management/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: rabbitmq-managementlabels:dce.daocloud.io/app: rabbitmq-managementdce.daocloud.io/component: rabbitmq-managementhelm.sh/chart: rabbitmq-management-0.1.0app.kubernetes.io/name: rabbitmq-managementapp.kubernetes.io/instance: rabbitmq-managementapp.kubernetes.io/version: "1.16.0"app.kubernetes.io/managed-by: Helm
spec:replicas: 1selector:matchLabels:app.kubernetes.io/name: rabbitmq-managementapp.kubernetes.io/instance: rabbitmq-managementtemplate:metadata:labels:dce.daocloud.io/app: rabbitmq-managementdce.daocloud.io/component: rabbitmq-managementapp.kubernetes.io/name: rabbitmq-managementapp.kubernetes.io/instance: rabbitmq-managementspec:securityContext:{}containers:- name: rabbitmq-managementsecurityContext:{}image: "10.32.224.129/rabbitmq/rabbitmq:3.6.2-management"imagePullPolicy: IfNotPresentports:- name: connectioncontainerPort: 5672protocol: TCP- name: managementcontainerPort: 15672protocol: TCPlivenessProbe:tcpSocket:port: 5672initialDelaySeconds: 45timeoutSeconds: 1periodSeconds: 10successThreshold: 1failureThreshold: 3readinessProbe:tcpSocket:port: 5672initialDelaySeconds: 30timeoutSeconds: 1periodSeconds: 10successThreshold: 1failureThreshold: 9resources:limits:cpu: 1memory: 1Girequests:cpu: 100mmemory: 1Gi
---
# Source: rabbitmq-management/templates/tests/test-connection.yaml
apiVersion: v1
kind: Pod
metadata:name: "rabbitmq-management-test-connection"labels:helm.sh/chart: rabbitmq-management-0.1.0app.kubernetes.io/name: rabbitmq-managementapp.kubernetes.io/instance: rabbitmq-managementapp.kubernetes.io/version: "1.16.0"app.kubernetes.io/managed-by: Helmannotations:"helm.sh/hook": test
spec:containers:- name: wgetimage: busyboxcommand: ['wget']args: ['rabbitmq-management:5672']restartPolicy: Never

 

http://www.lryc.cn/news/108103.html

相关文章:

  • 2.05 购物车后台刷新并显示
  • 2023年第四届“华数杯”数学建模思路 - 案例:异常检测
  • inline的盒子设置transform不生效
  • 自然语言处理学习笔记(四)————词典分词
  • jsoncpp库和nlohmann-json库实现JSON与字符串类型转换
  • 20230803 函数传参引用
  • IDEA SpringBoot项目引入外部jar并打包
  • ModaHub魔搭社区——阿里云通义千问宣布开源!70亿参数模型上线魔搭社区,免费可商用
  • Jenkins 自动化部署实例讲解,另附安装教程!
  • arcgis字段计算器
  • 数据结构: 线性表(无哨兵位单链表实现)
  • Exploring the Underlying Architecture of CSS3
  • 方差分析||判断数据是否符合正态分布
  • java linq多字段排序时间比较
  • 【c++】rand()随机函数的应用(二)——舒尔特方格数字的生成
  • “深入剖析JVM内部机制:探索Java虚拟机的运行原理“
  • pandas 新增数据列的几种方式
  • linux_驱动_iic总线获取si7006温湿度
  • 虚拟机网络图标不见了
  • CTF:信息泄露.(CTFHub靶场环境)
  • Redis学习总结
  • 云原生全栈体系(二)
  • C++设计模式之建造者设计模式
  • HDFS Erasure coding-纠删码介绍和原理
  • STM32 DHT11
  • 词法分析器
  • 【Spring】Spring之启动过程源码解析
  • 状态模式(State)
  • 【uniapp】样式合集
  • 【Spring框架】SpringBoot统一功能处理