k8s ~ helm construire une application

Trois concepts

  1. graphique: contient les informations nécessaires pour créer une instance d'application de Kubernetes
  2. config: contient des informations de configuration de version d'application
  3. release: est une instance en cours d'exécution d'un graphique et sa configuration

Créer un graphique de barre

helm create hello-world
  • Chart.yaml est utilisé pour décrire les informations pertinentes de ce graphique, y compris le nom, les informations de description et la version.
    Juste quelques descriptions textuelles simples

  • values.yaml est utilisé pour stocker les valeurs des variables utilisées dans les fichiers de modèle dans le répertoire des modèles.

  • NOTES.txt est utilisé pour introduire certaines informations après le déploiement du graphique, par exemple: comment utiliser le graphique, répertorier les paramètres par défaut, etc.

  • Sous le répertoire Templates se trouvent des modèles pour les fichiers YAML, qui suivent la syntaxe du modèle Go.

Les valeurs des modèles de fichiers YAML dans le répertoire Templates sont toutes définies par défaut dans values.yaml, comme l'image de conteneur définie dans deployment.yaml.
image: "{{.Values.image.repository}}: {{.Values.image.tag}}"
où la valeur de .Values.image.repository est nginx, .Values.image. définie dans values.yaml La valeur de tag est stable.
Les deux valeurs de variable ci-dessus sont les valeurs par défaut qui sont générées automatiquement lors de la création du graphique, et vous pouvez les modifier en fonction de la situation réelle. En fait, ce sont tous des textes statiques, qui ne sont analysés que lorsqu'ils sont exécutés.

Créer une application de barre

Ouvrez Chart.yaml, vous pouvez voir le contenu, le nom et la version de la configuration suivants

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

Modifiez values.yaml, il déploiera un Nginx sur Kubernetes par défaut. Voici le contenu du fichier values.yaml appliqué par 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: {}

Vérifier la configuration du module

$ helm lint hello-world/

Pack

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

Démarrer l'entrepôt local de la barre (la barre 3 a été supprimée)

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

Actualisation de l'entrepôt et application de requête

$ 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

Déployer des applications dans Kubernetes

Une fois le graphique publié dans l'entrepôt, le graphique peut être déployé via la commande helm install.

helm install  hello local/hello-world

Afficher les informations d'état de la version

 helm status wordpress

Tableaux de mise à niveau

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

Revenir à la version précédente

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

Je suppose que tu aimes

Origine www.cnblogs.com/lori/p/12671586.html
conseillé
Classement