k8s ~ helm construye una aplicación

Tres conceptos

  1. gráfico: contiene la información necesaria para crear una instancia de aplicación de Kubernetes
  2. config: contiene información de configuración de la versión de la aplicación
  3. lanzamiento: es una instancia en ejecución de un gráfico y su configuración

Crea un gráfico de timón

helm create hello-world
  • Chart.yaml se utiliza para describir la información relevante de este gráfico, incluido el nombre, la información descriptiva y la versión.
    Solo algunas descripciones de texto simples

  • values.yaml se utiliza para almacenar los valores de las variables utilizadas en los archivos de plantilla en el directorio de plantillas.

  • NOTES.txt se usa para introducir información después de implementar el Gráfico, por ejemplo: cómo usar el Gráfico, enumerar la configuración predeterminada, etc.

  • En el directorio de plantillas hay plantillas para archivos YAML, que siguen la sintaxis de la plantilla Go.

Los valores de las plantillas de archivo YAML en el directorio de plantillas están definidos en values.yaml de forma predeterminada, como la imagen del contenedor definida en deploy.yaml.
imagen: "{{.Values.image.repository}}: {{.Values.image.tag}}"
El valor de .Values.image.repository es nginx, .Values.image. definido en values.yaml El valor de la etiqueta es estable.
Los dos valores variables anteriores son los valores predeterminados que se generan automáticamente cuando se crea el gráfico, y puede modificarlos de acuerdo con la situación real. De hecho, todos son textos estáticos, que solo se analizan cuando se ejecutan.

Construir una aplicación de timón

Abra Chart.yaml, puede ver el siguiente contenido, nombre de configuración y versión

apiVersion: v1
appVersion: "1.0"
description: A Helm chart for Kubernetes
name: mychart
version: 0.1.0

Edite values.yaml, desplegará un Nginx en Kubernetes de forma predeterminada. El siguiente es el contenido del archivo values.yaml aplicado por mychart:

$ cat mychart/values.yaml
# Default values for mychart.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

replicaCount: 1

image:
  repository: nginx
  tag: stable
  pullPolicy: IfNotPresent

service:
  type: ClusterIP
  port: 80

ingress:
  enabled: false
  annotations: {}
    # kubernetes.io/ingress.class: nginx
    # kubernetes.io/tls-acme: "true"
  path: /
  hosts:
    - chart-example.local
  tls: []
  #  - secretName: chart-example-tls
  #    hosts:
  #      - chart-example.local

resources: {}
  # We usually recommend not to specify default resources and to leave this as a conscious
  # choice for the user. This also increases chances charts run on environments with little
  # resources, such as Minikube. If you do want to specify resources, uncomment the following
  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  # limits:
  #  cpu: 100m
  #  memory: 128Mi
  # requests:
  #  cpu: 100m
  #  memory: 128Mi

nodeSelector: {}

tolerations: []

affinity: {}

Verifique la configuración del módulo

$ helm lint hello-world/

Pack

helm package hello-world
helm package mychart --debug #显示详细信息

Iniciar el almacén local de helm (se ha eliminado helm3)

helm serve  --repo-path /data/helm/repository/ --url http://172.17.0.22:8879/charts/ &

Aplicación de actualización y consulta de almacén

$ helm repo update
$ helm search mychart
NAME         	CHART VERSION	APP VERSION	DESCRIPTION
local/hello-world	0.1.0        	1.0        	A Helm chart for Kubernetes

Implementar aplicaciones en Kubernetes

Después de que el gráfico se publique en el almacén, el gráfico se puede implementar mediante el comando helm install.

helm install  hello local/hello-world

Ver la información de estado de Release

 helm status wordpress

Gráficos de actualización

helm upgrade  wordpress stable/wordpress
helm upgrade --install --force hello-world ./hello.tgz --namespace test  # 也可以指定命名空间和它的taz包

Regrese a la versión anterior

helm rollback hello-world 1 # 向上归滚一个版本

Supongo que te gusta

Origin www.cnblogs.com/lori/p/12671586.html
Recomendado
Clasificación