Helm rend Kubernetes plus convivial. C'est un gestionnaire de packages. Les graphiques de tête facilitent la conception, l'installation et la mise à niveau d'une application Kubernetes. Ils gèrent la complexité pour rendre le processus d'installation reproductible. Les utilisateurs peuvent facilement mettre à jour et partager leurs conceptions. De plus, Helm a une fonction de recul pour revenir facilement aux versions de commande.
Structure du graphique de la barre
Avec la commande Create, Helm fournit une structure prédéterminée pour assurer une norme.
Bonjour le mondeLes fichiers ci-dessus seront générés automatiquement. Helm utilise le format YAML pour les fichiers de configuration.
Helm invoquant
Pour utiliser Helm, vous aurez besoin des choses suivantes:
(Assurez-vous que les versions Minikube et Tiller sont compatibles avec le cluster Kubernetes)
Une fois que tous les composants ont été installés, démarrez votre minikube:
$ minikube start
Vous devrez également utiliser la commande suivante pour initialiser la barre et la barre:
$ Helm init
Ensuite, utilisez la commande HELM suivante pour créer la structure décrite ci-dessus:
$ Helm Créer Hello-World
Écrire votre premier tableau de barre
Vérifions l'état des pods:
$ kubectl get pod - all-namespaces
Nom de l'espace de noms Ready Status Restarts Age
Kube-System Kube-Addon-Manager-Minikube 1/1 Running 2 1H
kube-system kube-dns-54cccfbdf8-xcltd 3/3 exécutant 6 1h
Kube-system kubernetes-dashboard-77d8b98585-sj9lm 1/1 en cours d'exécution 2 1h
Kube-System Storage-Provisioner 1/1 Exécution 2 1h
Kube-System Tiller-Deploy-59D854595C-97HDP 1/1 Running 2 1H
Le till Pod et les Minikube Pods fonctionnent. Faisons quelques modifications aux graphiques de barreaux. Nous allons ouvrir la valeur.YML. Cela ressemble à ceci:
# Valeurs par défaut pour Hello-World.
# Il s'agit d'un fichier à format YAML.
# Déclarer les variables à passer dans vos modèles.
Réplicacont: 1
image:
Référentiel: Heroku / Nodejs-Hello-monde
Tag: stable
pullPolicy: ifnotpresent
service:
Type: Clusterrip
Port: 80
entrée:
activé: faux
Annotations:
# Kubernetes.Io / entrée.Classe: Nginx
# Kubernetes.io / tls-acme: "true"
chemin: /
Hôtes:
- graphique-exemple.local
TLS: []
# - Secretname: graphique-exemple-TLS
# hôtes:
# - Exemple de graphique.local
ressources:
# Nous recommandons généralement de ne pas spécifier les ressources par défaut et de laisser cela comme un conscient
# Choix pour l'utilisateur. Cela augmente également les chances que les graphiques fonctionnent sur des environnements avec peu
# Ressources, comme Minikube. Si vous souhaitez spécifier des ressources, l'intervalle
# lignes, ajustez-les si nécessaire et retirez les accolades bouclées après `` Ressources: '.
# limites:
# CPU: 100m
# Mémoire: 128mi
# Demandes:
# CPU: 100m
# Mémoire: 128mi
NODEDELECTEOR:
Tolérations: []
Affinité:
La ligne en surbrillance a été modifiée. Au lieu de Nginx, nous allons télécharger Heroku / Nodejs-Hello-World. Vous pouvez définir les valeurs par défaut dans cette valeur.fichier yml. Ils seront partagés avec d'autres fichiers.
Si nous vérifions Helm, nous ne voyons rien:
$ helm ls
Commençons le graphique de la barre:
$ Helm Installer Hello-World
Nom: baiser-markhor
Dernière déploiement: ven 9 mars 09:13:04 2018
Espace de noms: par défaut
Statut: déployé
RESSOURCES:
==> v1 / service
Type de nom Cluster-IP Port (s) IP-IP Port (S)
baiser-markhor-hello-monde clusterrip 10.110.109.7380 / TCP 1
==> v1beta2 / déploiement
Nom souhaité actuel à jour l'âge disponible
baiser-markhor-hello-monde 1 1 1 0 1s
==> v1 / pod (lié)
Nom Ready Status Restarts Age
Kissing-Markhor-Hello-World-6BBB947B9C-RTTNZ 0/1 Container Creating 0 1s
REMARQUES:
REMARQUES:
1. Obtenez l'URL d'application en exécutant ces commandes:
exporter pod_name = $ (kubectl get pods --namespace default -l "app = hello-world, release = baiser
-markhor "-o jsonpath =" .articles [0].métadonnées.nom")
Echo "Visitez http: // 127.0.0.1: 8080 pour utiliser votre application "
Kubectl Port-Forward $ pod_name 8080: 80
La partie notable est le «nom». Ce nom a été généré par Helm.
Vérifions la barre:
$ helm ls
Nom Revision Updated Status Status Chart Names Names
Kissing-Markhor 1 ven 9 mars 09:13:04 2018 déployé Hello-World-0.1.0 par défaut
Aussi Kubernetes:
$ kubectl get pod - all-namespaces
Nom de l'espace de noms Ready Status Restarts Age
par défaut Kissing-Markhor-hello-world-6bbb947b9c-rttnz 1/1 Running 0 5m
Kube-System Kube-Addon-Manager-Minikube 1/1 Running 2 2h
kube-system kube-dns-54cccfbdf8-xcltd 3/3 exécutant 6 2h
Kube-System Kubernetes-Dashboard-77D8B98585-SJ9LM 1/1 Running 2 2H
Kube-System Storage-Provisioner 1/1 Exécution 2 2h
Kube-System Tiller-Deploy-59D854595C-97HDP 1/1 Running 2 2H
Le pod a donc été déployé à Kubernetes. Nous pouvons utiliser le transfert de port:
$ Kubectl Port-Forward Kissing-Markhor-Hello-World-6BBB947B9C-RTTNZ 8080: 80
Vous devriez maintenant pouvoir vérifier votre application déployée.
$ curl http: // 127.0.0.1: 8080Si vous voyez cette page, le serveur Web Nginx est installé avec succès et
fonctionnement. Une configuration supplémentaire est requise.
Pour la documentation et le soutien en ligne, veuillez vous référer à
nginx.org.
Le support commercial est disponible à
nginx.com.
Merci d'utiliser Nginx.
Alternativement, vous pouvez vérifier http: // 127.0.0.1: 8080 pour voir l'application nouvellement créée. Allons ranger. Trouvez le nom du serveur:
$ helm ls
Nom Revision Updated Status Status Chart Names Names
Kissing-Markhor 1 ven 9 mars 09:13:04 2018 déployé Hello-World-0.1.0 par défaut
Utilisez la commande suivante pour supprimer:
$ Helm Supprimer le baiser-markhor
Sortie "Kissing-Markhor" supprimé
Vérifions le cluster:
$ kubectget pod - all-namespaces
Nom de l'espace de noms Ready Status Restarts Age
Kube-System Kube-Addon-Manager-Minikube 1/1 Running 2 2h
kube-system kube-dns-54cccfbdf8-xcltd 3/3 exécutant 6 2h
Kube-System Kubernetes-Dashboard-77D8B98585-SJ9LM 1/1 Running 2 2H
Kube-System Storage-Provisioner 1/1 Exécution 2 2h
Kube-System Tiller-Deploy-59D854595C-97HDP 1/1 Running 2 2H
On peut voir le pod de marketing de baiser est parti.
Conclusion
Ce qui précède devrait vous donner l'inspiration pour commencer à utiliser des graphiques de barre. Cela devrait rendre vos déploiements Kubernetes plus faciles à gérer.