第十二章节 xxjob, seata, zk, minio,activeMQ进行 helm化

要将你提供的 Docker 命令转换为 Helm Chart,你需要将相关的配置转化为 Kubernetes 资源文件,并使用 Helm 的模板语法进行参数化配置。以下是一个基本的 Helm Chart 示例,包括 DeploymentServiceValues.yaml 文件。

helm create xxl-job-admin

1. values.yaml

这是 Helm Chart 中用于定义默认值的文件。你可以在这里配置镜像、端口和环境变量等。

image:

  repository: xuxueli/xxl-job-admin
  tag: "2.3.0"
  pullPolicy: IfNotPresent

service:
  port: 8080

env:
  params: "--spring.datasource.url=jdbc:mysql://my-stack-mysql:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai"

volumeMounts:
  logPath: /tmp

resources: {}

2. deployment.yaml

用于定义容器的 Deployment 资源。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ .Release.Name }}-xxl-job-admin
  labels:
    app: {{ .Release.Name }}-xxl-job-admin
spec:
  replicas: 1
  selector:
    matchLabels:
      app: {{ .Release.Name }}-xxl-job-admin
  template:
    metadata:
      labels:
        app: {{ .Release.Name }}-xxl-job-admin
    spec:
      containers:
        - name: xxl-job-admin
          image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
          imagePullPolicy: {{ .Values.image.pullPolicy }}
          ports:
            - containerPort: {{ .Values.service.port }}
          env:
            - name: PARAMS
              value: {{ .Values.env.params | quote }}
          volumeMounts:
            - name: applogs
              mountPath: /data/applogs
      volumes:
        - name: applogs
          hostPath:
            path: {{ .Values.volumeMounts.logPath }}

3. service.yaml

用于定义容器的 Service 资源。

apiVersion: v1
kind: Service
metadata:
  name: {{ .Release.Name }}-xxl-job-admin
  labels:
    app: {{ .Release.Name }}-xxl-job-admin
spec:
  type: ClusterIP
  ports:
    - port: 8080
      targetPort: 8080
      protocol: TCP
      name: http
  selector:
    app: {{ .Release.Name }}-xxl-job-admin

4. Chart.yaml

用于定义 Helm Chart 的基本信息。

apiVersion: v2
name: xxl-job-admin
description: A Helm chart for XXL-Job Admin
version: 0.1.0
appVersion: "2.3.0"

5. templates/_helpers.tpl

可以包含一些通用的模板帮助方法。

默认就够了

部署步骤

  1. 创建 Helm Chart

    helm create xxl-job-admin
    
    
  2. 替换生成的 values.yamldeployment.yamlservice.yaml: 将上面的内容替换到生成的 values.yaml 和模板文件中。

  3. 安装 Chart

    helm install my-xxl-job-admin
    

创建 helm命令

你可能感兴趣的:(docker,kubernetes,容器)