开源项目教程:DandyDeveloper/charts

开源项目教程:DandyDeveloper/charts

chartsVarious helm charts migrated from [helm/stable] due to deprecation项目地址:https://gitcode.com/gh_mirrors/charts17/charts

1. 项目的目录结构及介绍

charts/
├── Chart.yaml
├── charts/
├── templates/
│   ├── NOTES.txt
│   ├── _helpers.tpl
│   ├── deployment.yaml
│   ├── ingress.yaml
│   ├── service.yaml
│   └── tests/
│       └── test-connection.yaml
└── values.yaml
  • Chart.yaml: 包含Chart的基本信息,如名称、版本等。
  • charts/: 存放依赖的子Chart。
  • templates/: 存放模板文件,这些文件在部署时会被渲染成Kubernetes资源文件。
    • NOTES.txt: 部署后显示的帮助信息。
    • _helpers.tpl: 模板助手,用于定义通用的模板片段。
    • deployment.yaml: 定义Kubernetes Deployment资源。
    • ingress.yaml: 定义Kubernetes Ingress资源。
    • service.yaml: 定义Kubernetes Service资源。
    • tests/: 存放测试文件。
      • test-connection.yaml: 用于测试连接的资源文件。
  • values.yaml: 包含Chart的默认配置值。

2. 项目的启动文件介绍

templates/目录下,deployment.yaml是项目的启动文件。它定义了如何部署应用程序到Kubernetes集群中。以下是deployment.yaml的关键部分:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ template "fullname" . }}
  labels:
    app: {{ template "fullname" . }}
spec:
  replicas: {{ .Values.replicaCount }}
  selector:
    matchLabels:
      app: {{ template "fullname" . }}
  template:
    metadata:
      labels:
        app: {{ template "fullname" . }}
    spec:
      containers:
        - name: {{ .Chart.Name }}
          image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
          imagePullPolicy: {{ .Values.image.pullPolicy }}
          ports:
            - containerPort: {{ .Values.service.internalPort }}
  • apiVersion: 指定API版本。
  • kind: 指定资源类型为Deployment。
  • metadata: 定义Deployment的名称和标签。
  • spec: 定义Deployment的详细配置,包括副本数量、选择器和模板。
  • template: 定义Pod的模板,包括容器名称、镜像、拉取策略和端口。

3. 项目的配置文件介绍

values.yaml是项目的配置文件,它包含了Chart的默认配置值。以下是values.yaml的关键部分:

replicaCount: 1

image:
  repository: nginx
  tag: stable
  pullPolicy: IfNotPresent

service:
  type: ClusterIP
  port: 80
  internalPort: 80

ingress:
  enabled: false
  annotations: {}
  hosts:
    - host: chart-example.local
      paths: []

resources: {}
  • replicaCount: 定义Pod的副本数量。
  • image: 定义镜像的仓库、标签和拉取策略。
  • service: 定义服务的类型、端口和内部端口。
  • ingress: 定义Ingress的启用状态、注解和主机配置。
  • resources: 定义容器的资源限制和请求。

通过修改values.yaml文件,可以自定义部署的配置,以满足不同的需求。

chartsVarious helm charts migrated from [helm/stable] due to deprecation项目地址:https://gitcode.com/gh_mirrors/charts17/charts

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蒋闯中Errol

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值