One place for hosting & domains

      Cómo instalar software en clústeres de Kubernetes con el administrador de paquetes Helm 3


      Introducción

      Helm es un administrador de paquetes para Kubernetes que permite a los desarrolladores y operadores configurar e implementar de forma más sencilla aplicaciones en los clústeres de Kubernetes.

      A través de este tutorial, configurará Helm 3 y lo utilizará para instalar, volver a configurar, restaurar y eliminar una instancia de la aplicación Kubernetes Dashboard. El panel es una GUI de Kubernetes oficial basado en la web.

      Para obtener una descripción general conceptual de Helm y su ecosistema de paquetes, lea nuestro artículo Introducción a Helm.

      Requisitos previos

      Para este tutorial, necesitará lo siguiente:

      • Un clúster de Kubernetes con control de acceso basado en roles (RBAC) habilitado. Helm 3.1 admite clústeres de las versiones 1.14 a 1.17. Para obtener más información, consulte la página de versiones de Helm.
      • La herramienta de línea de comandos kubectl instalada en su máquina local, configurada para establecer conexión con su clúster. Puede leer más sobre la instalación de kubectl en la documentación oficial.

      Puede probar su conectividad con el siguiente comando:

      Si no ve errores, estará conectado al clúster. Si accede a varios clústeres con kubectl, asegúrese de verificar que haya seleccionado el contexto de clúster correcto:

      • kubectl config get-contexts

      Output

      CURRENT NAME CLUSTER AUTHINFO NAMESPACE * do-fra1-helm3-example do-fra1-helm3-example do-fra1-helm3-example-admin

      En este ejemplo, el asterisco (*) indica que se estableció conexión con el clúster do-fra1-helm3-example. Para cambiar de clústeres ejecute:

      • kubectl config use-context context-name

      Cuando esté conectado al clúster correcto, continúe con el paso 1 para comenzar a instalar Helm.

      Paso 1: Instalar Helm

      Primero, instalará la utilidad de línea de comandos helm en su máquina local. Helm proporciona una secuencia de comandos que gestiona el proceso de instalación en MacOS, Windows o Linux.

      Pase a un directorio editable y descargue la secuencia de comandos del repositorio de GitHub de Helm:

      • cd /tmp
      • curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3

      Haga que la secuencia de comandos sea ejecutable con chmod:

      Puede utilizar su editor de texto favorito para abrir la secuencia de comandos e inspeccionarla a fin de asegurarse de que sea segura. Cuando esté satisfecho, ejecútela:

      Es posible que se le solicite la contraseña. Ingrésela y presione INTRO para continuar.

      El resultado tendrá el siguiente aspecto:

      Output

      Downloading https://get.helm.sh/helm-v3.1.2-linux-amd64.tar.gz Preparing to install helm into /usr/local/bin helm installed into /usr/local/bin/helm

      Ahora que instaló Helm, está listo para usarlo para instalar su primer chart.

      Paso 3: Instalar un chart de Helm

      Los paquetes de software de Helm se llaman charts. Hay un repositorio administrado de charts llamado stable, el cual consiste principalmente en tablas comunes que puede ver en su repositorio de GitHub. Helm no lo tiene preconfigurado en Helm. Por lo tanto, tendrá que añadirlo manualmente. Luego, a modo de ejemplo, instalará Kubernetes Dashboard.

      Añada el repositorio stable al ejecutar lo siguiente:

      • helm repo add stable https://kubernetes-charts.storage.googleapis.com

      El resultado será lo siguiente:

      Output

      "stable" has been added to your repositories

      Luego, utilice helm para instalar el paquete kubernetes-dashboard desde el repositorio stable:

      • helm install dashboard-demo stable/kubernetes-dashboard --set rbac.clusterAdminRole=true

      El parámetro --set le permite personalizar variables de chart, que el chart expone para permitirle personalizar su configuración. Aquí, establece la variable rbac.clusterAdminRole en true para conceder acceso a Kubernetes Dashboard a todo el clúster.

      El resultado tendrá este aspecto:

      Output

      NAME: dashboard-demo LAST DEPLOYED: Tue Mar 31 15:04:19 2020 NAMESPACE: default STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: ...

      Observe la línea de NAME, resaltada en el resultado del ejemplo anterior. En este caso, especificó el nombre dashboard-demo. Este es el nombre de la versión. Una versión de Helm es una única implementación de un chart con una configuración específica. Puede implementar varias versiones del mismo chart, cada una con su propia configuración.

      Puede enumerar todas las versiones del clúster:

      El resultado tendrá un aspecto similar a este:

      Output

      NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION dashboard-demo default 1 2020-03-31 15:04:19.324774799 +0000 UTC deployed kubernetes-dashboard-1.10.1 1.10.1

      Ahora, podemos usar kubectl para verificar que se haya implementado un nuevo servicio en el clúster:

      El resultado tendrá el siguiente aspecto:

      Output

      NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE dashboard-demo-kubernetes-dashboard ClusterIP 10.245.115.214 <none> 443/TCP 4m44s kubernetes ClusterIP 10.245.0.1 <none> 443/TCP 19m

      Tenga en cuenta que, por defecto, el nombre del servicio correspondiente a la versión es una combinación del nombre de versión de Helm y el nombre del chart.

      Ahora que implementó la aplicación, utilizará Helm para cambiar su configuración y actualizar la implementación.

      Paso 3: Actualizar una versión

      El comando helm upgrade puede utilizarse para actualizar una versión con un chart nuevo o actualizado, o para actualizar sus opciones de configuración (variables).

      Realizará un cambio sencillo en la versión de dashboard-demo para demostrar el proceso de actualización y reversión: actualizará el nombre del servicio de dashboard simplemente a kubernetes-dashboard en lugar de dashboard-demo-kubernetes-dashboard​​​​​​.

      El chart kubernetes-dashboard proporciona una opción de configuración de fullnameOverride para controlar el nombre de servicio. Para cambiar el nombre de la versión, ejecute helm upgrade con esta opción establecida:

      • helm upgrade dashboard-demo stable/kubernetes-dashboard --set fullnameOverride="kubernetes-dashboard" --reuse-values

      Al pasar el argumento --reuse-values, asegúrese de que el proceso de actualización no restablezca las variables de chart que haya establecido anteriormente.

      Visualizará un resultado similar al del paso inicial de ​​​​​​helm install.

      Verifique si sus servicios de Kubernetes reflejan los valores actualizados:

      El resultado será similar a lo siguiente:

      Output

      NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.245.0.1 <none> 443/TCP 38m kubernetes-dashboard ClusterIP 10.245.49.157 <none> 443/TCP 8s

      Observe que el nombre del servicio se actualizó con el nuevo valor.

      Nota: En este punto, es posible que desee cargar Kubernetes Dashboard en su navegador y revisarlo. Para hacerlo, primero ejecute el siguiente comando:

      Esto crea un proxy que le permite acceder a recursos de clústeres remotos desde su computadora local. Conforme a las instrucciones anteriores, su servicio de dashboard se llama kubernetes-dashboard y se ejecuta en el espacio de nombres default. Ahora podrá acceder al panel en la siguiente URL:

      http://localhost:8001/api/v1/namespaces/default/services/https:kubernetes-dashboard:https/proxy/
      

      Las instrucciones para el uso del panel quedan fuera del alcance de este tutorial, pero puede leer los documentos oficiales de Kubernetes Dashboard para obtener más información.

      A continuación, verá la capacidad de revertir y eliminar versiones de Helm.

      Paso 4: Revertir y eliminar una versión

      Cuando actualizó la versión de dashboard-demo en el paso anterior, creó una segunda revisión de la versión. Helm conserva todos los detalles de las versiones anteriores en caso de que deba realizar una reversión a una configuración o un chart anterior.

      Utilice helm list para inspeccionar la versión de nuevo:

      Verá el siguiente resultado:

      Output

      NAME REVISION UPDATED STATUS CHART NAMESPACE dashboard-demo 2 Wed Aug 8 20:13:15 2018 DEPLOYED kubernetes-dashboard-0.7.1 default

      La columna REVISON le indica que ésta es, ahora, la segunda revisión.

      Utilice helm rollback para revertir la primera revisión:

      • helm rollback dashboard-demo 1

      Debería ver el siguiente resultado, lo cual indica que la reversión se realizó:

      Output

      Rollback was a success! Happy Helming!

      En este punto, si ejecuta kubectl get services de nuevo, observará que el nombre de servicio se cambió de nuevo a su valor anterior. Helm volvió a implementar la aplicación con la configuración de la revisión 1.

      Es posible eliminar versiones de helm con el comando helm delete:

      • helm delete dashboard-demo

      El resultado será lo siguiente:

      Output

      release "dashboard-demo" uninstalled

      Puede intentar enumerar las versiones de Helm:

      Verá que no hay ninguna:

      Output

      NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION

      Con esto, la versión se eliminó realmente y podrá reutilizar el nombre de versión.

      Conclusión

      A lo largo de este tutorial, instaló la herramienta de línea de comandos helm y exploró la instalación, la actualización, la reversión y la eliminación de charts y versiones de Helm mediante la administración del chart kubernetes-dashboard.

      Para obtener más información sobre Helm y sus charts, consulte la documentación oficial de Helm.



      Source link

      Comment installer un logiciel sur des clusters Kubernetes avec le gestionnaire de packages Helm 3


      Introduction

      Helm est un gestionnaire de package pour Kubernetes qui permet aux développeurs et aux opérateurs de configurer et à déployer des applications plus facilement sur les clusters Kubernetes.

      Dans ce tutoriel, vous allez configurer Helm 3 et l’utiliser pour installer, reconfigurer, revenir en arrière et supprimer une instance de l’application Kubernetes Dashboard. Le dashboard (tableau de bord) est une interface graphique Kubernetes officielle basée sur le web.

      Pour un aperçu conceptuel de Helm et de son écosystème de packaging, veuillez lire notre article, Une introduction à Helm.

      Conditions préalables

      Pour ce tutoriel, vous aurez besoin de :

      • Un cluster Kubernetes avec contrôle d’accès basé sur les rôles (RBAC) activé. Helm 3.1 prend en charge les clusters des versions 1.14 à 1.17. Pour plus d’informations, consultez la page des versions de Helm.
      • L’outil de ligne de commande kubectl installé sur votre machine locale, configuré pour vous connecter à votre cluster. Vous pouvez en savoir plus sur l’installation de kubectl dans la documentation officielle.

      Vous pouvez tester votre connectivité avec la commande suivante :

      Si vous ne voyez aucune erreur, vous êtes connecté au cluster. Si vous avez accès à plusieurs clusters avec kubectl, veillez à vérifier que vous avez choisi le contexte de cluster adéquat :

      • kubectl config get-contexts

      Output

      CURRENT NAME CLUSTER AUTHINFO NAMESPACE * do-fra1-helm3-example do-fra1-helm3-example do-fra1-helm3-example-admin

      Dans cet exemple, l’astérisque (*) indique que nous sommes connectés au cluster do-fra1-helm3-example. Pour changer les clusters exécutez :

      • kubectl config use-context context-name

      Lorsque vous êtes connecté au bon cluster, continuez à l’Étape 1 pour commencer à installer Helm.

      Étape 1 — Installation de Helm

      Tout d’abord, vous allez installer l’utilitaire de ligne de commande helm sur votre machine locale. Helm fournit un script qui gère le processus d’installation sur MacOS, Windows ou Linux.

      Entrez dans un répertoire inscriptible et téléchargez le script depuis le référentiel GitHub de Helm :

      • cd /tmp
      • curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3

      Rendez le script exécutable avec chmod :

      Vous pouvez utiliser votre éditeur de texte préféré pour ouvrir le script et l’inspecter, afin de vous assurer qu’il est sûr. Lorsque vous êtes satisfait, exécutez-le :

      Votre mot de passe peut vous être demandé. Saisissez-le et appuyez sur ENTER pour continuer.

      La sortie finale ressemblera à ceci :

      Output

      Downloading https://get.helm.sh/helm-v3.1.2-linux-amd64.tar.gz Preparing to install helm into /usr/local/bin helm installed into /usr/local/bin/helm

      Maintenant que vous avez installé Helm, vous êtes prêt à utiliser Helm pour installer votre premier tableau.

      Étape 2 — Installation d’un tableau Helm

      Les packages logiciels Helm sont appelés des tableaux. Il existe un référentiel de tableaux conservé, appelé stable, composé principalement de tableaux communs, que vous pouvez voir dans leur référentiel GitHub. Helm n’est pas préconfiguré pour cela, vous devrez donc l’ajouter manuellement. Ensuite, à titre d’exemple, vous allez installer le tableau de bord Kubernetes.

      Ajoutez le référentiel stable en exécutant :

      • helm repo add stable https://kubernetes-charts.storage.googleapis.com

      Le résultat sera :

      Output

      "stable" has been added to your repositories

      Ensuite, utilisez helm pour installer le package kubernetes-dashboard à partir du référentiel stable :

      • helm install dashboard-demo stable/kubernetes-dashboard --set rbac.clusterAdminRole=true

      Le paramètre --set vous permet de personnaliser les variables de tableaux, que le tableau affiche pour vous permettre de personnaliser sa configuration. Ici, vous définissez la variable d’application rbac.clusterAdminRole sur true pour donner l’accès à votre cluster entier au tableau de bord Kubernetes.

      La sortie ressemblera à :

      Output

      NAME: dashboard-demo LAST DEPLOYED: Tue Mar 31 15:04:19 2020 NAMESPACE: default STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: ...

      Notez la ligne NAME, surlignée dans l’exemple de sortie ci-dessus. Dans ce cas, vous avez spécifié le nom dashboard-demo. C’est le nom de la version. Une version Helm est un simple déploiement d’un tableau avec une configuration spécifique. Vous pouvez déployer plusieurs versions du même tableau, chacune ayant sa propre configuration.

      Vous pouvez énumérer toutes les versions dans le cluster :

      Le résultat sera similaire à celui-ci :

      Output

      NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION dashboard-demo default 1 2020-03-31 15:04:19.324774799 +0000 UTC deployed kubernetes-dashboard-1.10.1 1.10.1

      Vous pouvez maintenant utiliser kubectl pour vérifier qu’un nouveau service a été déployé sur le cluster :

      La sortie finale ressemblera à ceci :

      Output

      NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE dashboard-demo-kubernetes-dashboard ClusterIP 10.245.115.214 <none> 443/TCP 4m44s kubernetes ClusterIP 10.245.0.1 <none> 443/TCP 19m

      Notez que par défaut, le nom de service correspondant à la version est une combinaison du nom de la version Helm et du nom du tableau.

      Maintenant que vous avez déployé l’application, vous utiliserez Helm pour modifier sa configuration et mettre à jour le déploiement.

      Étape 3 — Mise à jour d’une version

      La commande helm upgrade peut être utilisée pour mettre à niveau une version avec un nouveau tableau ou un tableau mis à jour, ou pour mettre à jour ses options de configuration (variables).

      Vous allez apporter une simple modification à la version dashboard-demo pour démontrer le processus de mise à jour et de démantèlement : vous allez mettre à jour le nom du service du tableau de bord en kubernetes-dashboard, au lieu de dashboard-demo-kubernetes-dashboard.

      Le tableau kubernetes-dashboard fournit une option de configuration fullnameOverride pour contrôler le nom du service. Pour renommer la version, exécutez helm upgrade avec ce jeu d’options :

      • helm upgrade dashboard-demo stable/kubernetes-dashboard --set fullnameOverride="kubernetes-dashboard" --reuse-values

      En passant l’argument --reuse values, vous vous assurez que les variables de tableau que vous avez précédemment définies ne seront pas réinitialisées par le processus de mise à niveau.

      Vous verrez une sortie semblable à l’étape initiale d'installation de helm.

      Vérifiez si vos services Kubernetes reflètent les valeurs mises à jour :

      La sortie ressemblera à ce qui suit :

      Output

      NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.245.0.1 <none> 443/TCP 38m kubernetes-dashboard ClusterIP 10.245.49.157 <none> 443/TCP 8s

      Notez que le nom du service a été mis à jour avec la nouvelle valeur.

      Remarque : à ce stade, vous pouvez charger le tableau de bord Kubernetes dans votre navigateur et le consulter. Pour ce faire, exécutez d’abord la commande suivante :

      Cela crée un proxy qui vous permet d’accéder aux ressources de cluster à distance depuis votre ordinateur local. En fonction des instructions précédentes, votre service de tableau de bord est nommé kubernetes-dashboard et il fonctionne dans le namespace par default. Vous pouvez maintenant accéder au tableau de bord grâce à l’URL suivante :

      http://localhost:8001/api/v1/namespaces/default/services/https:kubernetes-dashboard:https/proxy/
      

      Les instructions pour l’utilisation effective du tableau de bord sont hors sujet pour ce tutoriel, mais vous pouvez consulter les documents officiels du tableau de bord Kubernetes pour plus d’informations.

      Ensuite, vous verrez la capacité de Helm à revenir en arrière et à supprimer les versions.

      Étape 4 — Retour en arrière et suppression d’une version

      Lorsque vous avez mis à jour la version dashboard-demo à l’étape précédente, vous avez créé une deuxième révision de la version. Helm conserve tous les détails des versions précédentes si vous devez revenir sur une configuration ou un tableau précédents.

      Utilisez helm list pour inspecter à nouveau la version :

      Vous verrez la sortie suivante :

      Output

      NAME REVISION UPDATED STATUS CHART NAMESPACE dashboard-demo 2 Wed Aug 8 20:13:15 2018 DEPLOYED kubernetes-dashboard-0.7.1 default

      La colonne REVISION vous indique que c’est maintenant la deuxième révision.

      Utilisez helm rollback pour revenir à la première révision :

      • helm rollback dashboard-demo 1

      Vous devriez voir la sortie suivante, indiquant que le retour en arrière a réussi :

      Output

      Rollback was a success! Happy Helming!

      À ce stade, si vous lancez à nouveau kubectl get services, vous remarquerez que le nom du service est revenu à sa valeur précédente. Helm a re-deployé l’application avec la configuration de révision 1.

      Les versions Helm peuvent être supprimées avec la commande helm delete :

      • helm delete dashboard-demo

      Le résultat sera :

      Output

      release "dashboard-demo" uninstalled

      Vous pouvez essayer de lister les versions de Helm :

      Vous verrez qu’il n’y en a pas :

      Output

      NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION

      Maintenant, la version a été réellement supprimée, et vous pouvez réutiliser le nom de la version.

      Conclusion

      Dans ce tutoriel, vous avez installé l’outil de ligne de commande de helm et étudié l’installation, la mise à niveau, le retour en arrière et la suppression des tableaux de bord et des versions de Helm en gérant le tableau kubernetes-dashboard. 

      Pour plus d’informations sur Helm et les tableaux de Helm, veuillez consulter la documentation officielle de Helm.



      Source link

      Установка программного обеспечения в кластерах Kubernetes с помощью диспетчера пакетов Helm 3


      Введение

      Helm — это диспетчер пакетов для Kubernetes, который облегчает для разработчиков и операторов настройку и развертывание приложений в кластерах Kubernetes.

      В этом обучающем руководстве мы настроим Helm 3 и научимся использовать его для установки, изменения конфигурации, отката изменений и последующего удаления экземпляра приложения Kubernetes Dashboard. Dashboard — это официальный графический пользовательский веб-интерфейс Kubernetes.

      С общим описанием Helm и его экосистемы пакетов можно ознакомиться в статье Знакомство с Helm.

      Предварительные требования

      В ходе данного обучающего руководства вам потребуется следующее:

      • Кластер Kubernetes с включенным контролем доступа на основе ролей (RBAC). Helm 3.1 поддерживает кластеры версий с 1.14 по 1.17. Дополнительную информацию можно найти на странице выпусков Helm.
      • Инструмент командной строки kubectl, установленный на локальном компьютере и настроенный для подключения к вашему кластеру. Дополнительную информацию об установке kubectl можно найти в официальной документации.

      Вы можете протестировать подключение с помощью следующей команды:

      Отсутствие ошибок означает, что вы успешно подключились к кластеру. Если у вас есть доступ к нескольким кластерам с kubectl, убедитесь, что вы выбрали правильный контекст кластера:

      • kubectl config get-contexts

      Output

      CURRENT NAME CLUSTER AUTHINFO NAMESPACE * do-fra1-helm3-example do-fra1-helm3-example do-fra1-helm3-example-admin

      В этом примере символ звездочки (*) показывает, что мы подключены к кластеру do-fra1-helm3-example. Чтобы переключаться между запущенными кластерами:

      • kubectl config use-context context-name

      Когда вы будете подключены к нужному кластеру, перейдите к шагу 1 для начала установки Helm.

      Шаг 1 — Установка Helm

      Сначала мы установим утилиту командной строки helm на локальном компьютере. Helm предоставляет скрипт, который отвечает за процесс установки на MacOS, Windows или Linux.

      Перейдите в директорию с возможностью записи и загрузите скрипт из репозитория Helm на GitHub:

      • cd /tmp
      • curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3

      Сделайте скрипт исполняемым с помощью команды chmod:

      Вы можете воспользоваться текстовым редактором, чтобы открыть скрипт и изучить его, чтобы убедиться в его безопасности. Когда вы будете удовлетворены, запустите его:

      Возможно, вам придется ввести пароль. Введите его и нажмите ENTER, чтобы продолжить.

      Итоговый результат будет выглядеть следующим образом:

      Output

      Downloading https://get.helm.sh/helm-v3.1.2-linux-amd64.tar.gz Preparing to install helm into /usr/local/bin helm installed into /usr/local/bin/helm

      Теперь мы установили Helm и готовы использовать его для установки первого чарта.

      Шаг 2 — Установка чарта Helm

      Пакеты программного обеспечения Helm называются чартами. Курируемый репозиторий чартов под названием stable в основном содержит распространенные чарты, которые можно посмотреть в их репозитории на GitHub. Helm не имеет соответствующих предварительных настроек, поэтому добавление следует выполнять вручную. Далее в качестве примера мы установим панель Kubernetes Dashboard.

      Добавьте репозиторий stable, запустив следующую команду:

      • helm repo add stable https://kubernetes-charts.storage.googleapis.com

      Результат будет выглядеть следующим образом:

      Output

      "stable" has been added to your repositories

      Затем используйте helm для установки пакета kubernetes-dashboard из репозитория stable:

      • helm install dashboard-demo stable/kubernetes-dashboard --set rbac.clusterAdminRole=true

      Параметр --set позволяет задавать переменные чарта, с помощью которых вы можете настраивать конфигурацию чарта. Здесь мы задаем для переменной rbac.clusterAdminRole значение true, чтобы предоставить Kubernetes Dashboard доступ ко всему кластеру целиком.

      Вывод будет выглядеть следующим образом:

      Output

      NAME: dashboard-demo LAST DEPLOYED: Tue Mar 31 15:04:19 2020 NAMESPACE: default STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: ...

      Обратите внимание на строку NAME, выделенную в примере вывода выше. В данном случае мы указали имя dashboard-demo. Это имя относится к выпуску. Выпуск Helm — это отдельное развертывание одного чарта с конкретной конфигурацией. Вы можете развернуть несколько выпусков одного чарта, используя отдельные конфигурации для каждого выпуска.

      Вы можете вывести список всех выпусков в кластере:

      Результат будет выглядеть примерно следующим образом:

      Output

      NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION dashboard-demo default 1 2020-03-31 15:04:19.324774799 +0000 UTC deployed kubernetes-dashboard-1.10.1 1.10.1

      Теперь вы можете использовать kubectl, чтобы подтвердить развертывание в кластере новой службы:

      Итоговый результат будет выглядеть следующим образом:

      Output

      NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE dashboard-demo-kubernetes-dashboard ClusterIP 10.245.115.214 <none> 443/TCP 4m44s kubernetes ClusterIP 10.245.0.1 <none> 443/TCP 19m

      Обратите внимание, что по умолчанию имя службы выпуска представляет собой комбинацию имени выпуска Helm и названия чарта.

      Мы развернули приложение и теперь используем Helm для изменения его конфигурации и обновления развертывания.

      Шаг 3 — Обновление выпуска

      Команду helm upgrade можно использовать для обновления выпуска с использованием нового или обновленного чарта или для обновления параметров (переменных) конфигурации.

      Мы внесем простое изменение в выпуск dashboard-demo, чтобы продемонстрировать процесс обновления и отката. Измените имя службы dashboard на kubernetes-dashboard вместо dashboard-demo-kubernetes-dashboard.

      Чарт kubernetes-dashboard предоставляет возможность настройки fullnameOverride для контроля имени службы. Чтобы переименовать выпуск, выполните команду helm upgrade со следующими параметрами:

      • helm upgrade dashboard-demo stable/kubernetes-dashboard --set fullnameOverride="kubernetes-dashboard" --reuse-values

      Благодаря аргументу --reuse-values ранее заданные переменные чарта не сбрасываются в процессе обновления.

      Вы увидите вывод, аналогичный выводу на шаге первоначальной команды helm install.

      Проверьте, отражают ли ваши службы Kubernetes обновленные значения:

      Результат будет выглядеть следующим образом:

      Output

      NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.245.0.1 <none> 443/TCP 38m kubernetes-dashboard ClusterIP 10.245.49.157 <none> 443/TCP 8s

      Обратите внимание, что имя службы было обновлено и получило новое значение.

      Примечание. На данный момент вы можете загрузить приложение Kubernetes Dashboard в браузере и проверить его работоспособность. Для этого нужно запустить следующую команду:

      Команда создает прокси, который позволяет вам получить доступ к удаленным ресурсам кластера с локального компьютера. В результате выполнения вышеперечисленных команд служба dashboard теперь имеет имя kubernetes-dashboard и работает в пространстве имен default. Теперь вы можете получить доступ к панели управления по следующему URL-адресу:

      http://localhost:8001/api/v1/namespaces/default/services/https:kubernetes-dashboard:https/proxy/
      

      Инструкции по использованию панели управления выходят за пределы темы данного руководства, но вы можете ознакомиться с официальной документацией по Kubernetes Dashboard для получения дополнительной информации.

      Теперь посмотрим на возможности отката и удаления выпусков в Helm.

      Шаг 4 — Откат и удаление выпуска

      При обновлении выпуска dashboard-demo на предыдущем шаге мы создали вторую редакцию выпуска. Helm сохраняет все данные предыдущих выпусков на случай, если вам нужно будет вернуться к предыдущей конфигурации или чарту.

      Используйте команду helm list для просмотра выпуска:

      Вывод должен выглядеть так:

      Output

      NAME REVISION UPDATED STATUS CHART NAMESPACE dashboard-demo 2 Wed Aug 8 20:13:15 2018 DEPLOYED kubernetes-dashboard-0.7.1 default

      В столбце REVISION теперь говорится, что это вторая редакция.

      Используйте команду helm rollback для возврата к первой редакции:

      • helm rollback dashboard-demo 1

      Вы должны получить следующий вывод, показывающий, что откат изменений выполнен успешно:

      Output

      Rollback was a success! Happy Helming!

      В данный момент, если вы запустите kubectl get services еще раз, вы заметите, что имя службы изменилось и вернулось к предыдущему значению. Helm выполнил повторное развертывание приложения с конфигурацией 1-й редакции.

      Выпуски Helm можно удалять с помощью команды helm delete:

      • helm delete dashboard-demo

      Результат будет выглядеть следующим образом:

      Output

      release "dashboard-demo" uninstalled

      Вы можете попробовать вывести выпуски Helm в виде списка:

      Вы увидите, что их нет:

      Output

      NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION

      Теперь выпуск был действительно удален и вы можете использовать освободившееся имя выпуска.

      Заключение

      В этом обучающем руководстве мы установили инструмент командной строки helm и изучили возможность установки, обновления, отката и удаления чартов и выпусков Helm посредством управления чартом kubernetes-dashboard.

      Дополнительную информацию о Helm и чартах Helm см. в официальной документации по Helm.



      Source link