首页
/ Concourse Helm Chart 使用教程

Concourse Helm Chart 使用教程

2024-09-01 01:52:08作者:齐添朝

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

Concourse Helm Chart 项目的目录结构如下:

concourse-chart/
├── Chart.yaml
├── README.md
├── templates/
│   ├── _helpers.tpl
│   ├── deployment.yaml
│   ├── ingress.yaml
│   ├── NOTES.txt
│   ├── secrets.yaml
│   └── service.yaml
├── values.yaml

目录结构介绍

  • Chart.yaml: 包含 Helm Chart 的基本信息,如名称、版本等。
  • README.md: 项目的说明文档。
  • templates/: 包含 Kubernetes 资源文件的模板。
    • _helpers.tpl: 模板助手文件,用于定义通用的模板函数。
    • deployment.yaml: 定义 Concourse 的部署配置。
    • ingress.yaml: 定义 Ingress 资源,用于外部访问。
    • NOTES.txt: 安装后的提示信息。
    • secrets.yaml: 定义敏感信息的配置。
    • service.yaml: 定义服务资源,用于内部访问。
  • values.yaml: 包含默认的配置值,可以在安装时进行覆盖。

2. 项目的启动文件介绍

Concourse Helm Chart 的启动文件主要是 templates/deployment.yaml。这个文件定义了 Concourse 的部署配置,包括容器镜像、端口、环境变量等。

deployment.yaml 关键部分介绍

apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ template "concourse.fullname" . }}
  labels:
    app: {{ template "concourse.name" . }}
    chart: {{ template "concourse.chart" . }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
spec:
  replicas: {{ .Values.replicaCount }}
  selector:
    matchLabels:
      app: {{ template "concourse.name" . }}
      release: {{ .Release.Name }}
  template:
    metadata:
      labels:
        app: {{ template "concourse.name" . }}
        release: {{ .Release.Name }}
    spec:
      containers:
        - name: {{ .Chart.Name }}
          image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
          ports:
            - containerPort: 8080
          env:
            - name: CONCOURSE_EXTERNAL_URL
              value: {{ .Values.externalURL | quote }}
          livenessProbe:
            httpGet:
              path: /
              port: 8080
          readinessProbe:
            httpGet:
              path: /
              port: 8080

3. 项目的配置文件介绍

Concourse Helm Chart 的配置文件是 values.yaml。这个文件包含了所有可以自定义的配置项,如镜像地址、副本数量、外部 URL 等。

values.yaml 关键部分介绍

replicaCount: 1

image:
  repository: concourse/concourse
  tag: "7.11.2"
  pullPolicy: IfNotPresent

externalURL: "http://localhost:8080"

resources: {}

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

service:
  type: ClusterIP
  port: 8080

配置项说明

  • replicaCount: 定义部署的副本数量。
  • image: 定义使用的镜像地址和标签。
  • externalURL: 定义外部访问的 URL。
  • resources: 定义容器的资源限制。
  • ingress: 定义 Ingress 资源的相关配置。
  • service: 定义服务资源的相关配置。

通过修改 values.yaml 文件,可以灵活地配置 Concourse 的部署参数。

登录后查看全文
热门项目推荐