{"id":15350,"date":"2024-04-20T20:52:53","date_gmt":"2024-04-20T17:22:53","guid":{"rendered":"https:\/\/www.itpiran.net\/blog\/?p=15350"},"modified":"2024-04-20T20:52:53","modified_gmt":"2024-04-20T17:22:53","slug":"how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager","status":"publish","type":"post","link":"https:\/\/www.itpiran.net\/blog\/es\/tutorials\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\/","title":{"rendered":"C\u00f3mo instalar software en cl\u00fasteres de Kubernetes con la gesti\u00f3n de paquetes de Helm 3"},"content":{"rendered":"<h2 id=\"%d9%85%d9%82%d8%af%d9%85%d9%87\">Introducci\u00f3n<\/h2>\n<p>Helm es un administrador de paquetes para Kubernetes que permite a los desarrolladores y operadores configurar e implementar aplicaciones f\u00e1cilmente en cl\u00fasteres de Kubernetes.<\/p>\n<p>Los paquetes de Helm se denominan gr\u00e1ficos y contienen plantillas de definiciones de recursos que implementan y configuran aplicaciones espec\u00edficas con un m\u00ednimo esfuerzo por parte del usuario. Con las plantillas, se puede administrar el gr\u00e1fico, su configuraci\u00f3n y su comportamiento mediante la transferencia de definiciones de variables sin modificar el gr\u00e1fico real. Helm gestiona autom\u00e1ticamente las definiciones de recursos personalizadas, as\u00ed como los cambios en las definiciones preimplementadas. El gr\u00e1fico implementado, con posibles personalizaciones, se denomina versi\u00f3n.<\/p>\n<p>En este tutorial, configurar\u00e1s Helm 3 y aprender\u00e1s a instalar, actualizar, restaurar y administrar cartas y versiones. Tambi\u00e9n aprender\u00e1s a crear y empaquetar tus propias cartas, as\u00ed como a configurar repositorios de cartas que alojan cartas que puedes instalar inmediatamente.<\/p>\n<h5 id=\"%d9%be%db%8c%d8%b4-%d9%86%db%8c%d8%a7%d8%b2%d9%87%d8%a7\">Requisitos previos<\/h5>\n<ul>\n<li>Un cl\u00faster de Kubernetes con control de acceso basado en roles (RBAC) habilitado.<\/li>\n<li>La herramienta de l\u00ednea de comandos kubectl est\u00e1 instalada en su m\u00e1quina local y configurada para conectarse a su cl\u00faster.<\/li>\n<li>Puede probar su conexi\u00f3n con el siguiente comando:<\/li>\n<li>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>kubectl cluster-info<\/code><\/pre>\n<\/div>\n<\/li>\n<li>Si no recibe ning\u00fan error, est\u00e1 conectado al cl\u00faster. Si accede a varios cl\u00fasteres con kubectl, aseg\u00farese de haber seleccionado el contexto de cl\u00faster correcto ejecutando lo siguiente:<\/li>\n<li>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>kubectl config get-contexts<\/code><\/pre>\n<\/div>\n<\/li>\n<li>La salida enumera las configuraciones disponibles:<\/li>\n<li>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nCURRENT NAME CLUSTER AUTHINFO NAMESPACE\r\n* do-fra1-helm3-example do-fra1-helm3-example do-fra1-helm3-example-admin<\/code><\/pre>\n<\/div>\n<\/li>\n<li>Aqu\u00ed, el asterisco (*) indica que estamos conectados al cl\u00faster do-fra1-helm3-example. Para cambiar de cl\u00faster, ejecute:<\/li>\n<li>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>kubectl config use-context context-name<\/code><\/pre>\n<\/div>\n<\/li>\n<li>Una vez que est\u00e9 conectado al cl\u00faster correcto, contin\u00fae con el Paso 1 para comenzar a instalar Helm.<\/li>\n<\/ul>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-1-%d9%86%d8%b5%d8%a8-helm-3\">Paso 1: Instalar Helm 3<\/h2>\n<p>En esta secci\u00f3n, instalar\u00e1 Helm 3 utilizando el script de shell proporcionado oficialmente.<\/p>\n<p>Comience yendo a \/tmp, donde podr\u00e1 encontrar el script de instalaci\u00f3n ejecutando:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>cd \/tmp<\/code><\/pre>\n<\/div>\n<p>Descargue el script con el siguiente comando:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>curl -fsSL -o get_helm.sh https:\/\/raw.githubusercontent.com\/helm\/helm\/master\/scripts\/get-helm-3<\/code><\/pre>\n<\/div>\n<p>Puedes verificar get_helm.sh en tu editor de texto para asegurarte de que sea seguro.<\/p>\n<p>Hazlo ejecutable estableciendo sus permisos de la siguiente manera:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>chmod u+x get_helm.sh<\/code><\/pre>\n<\/div>\n<p>Finalmente, ejec\u00fatelo para instalar Helm 3:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>.\/get_helm.sh<\/code><\/pre>\n<\/div>\n<p>Obtendr\u00e1 un resultado similar al siguiente:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nDownloading https:\/\/get.helm.sh\/helm-v3.5.2-linux-amd64.tar.gz\r\nVerifying checksum... Done.\r\nPreparing to install helm into \/usr\/local\/bin\r\nhelm installed into \/usr\/local\/bin\/helm<\/code><\/pre>\n<\/div>\n<p>Has instalado Helm 3 en tu equipo. Ahora conocer\u00e1s los repositorios de gr\u00e1ficos y c\u00f3mo usarlos.<\/p>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-2-%d8%b1%d8%a7%d9%87-%d8%a7%d9%86%d8%af%d8%a7%d8%b2%db%8c-%d9%85%d8%ae%d8%a7%d8%b2%d9%86-%d9%86%d9%85%d9%88%d8%af%d8%a7%d8%b1\">Paso 2: Configuraci\u00f3n de repositorios de gr\u00e1ficos<\/h2>\n<p>Los gr\u00e1ficos de Helm se almacenan en repositorios de gr\u00e1ficos que cualquier persona puede alojar. Por defecto, Helm 3 no viene preconfigurado con ning\u00fan repositorio. Las versiones anteriores de Helm inclu\u00edan un repositorio central de gr\u00e1ficos. Sin embargo, el dise\u00f1o de Helm 3 se orient\u00f3 espec\u00edficamente a que los desarrolladores de gr\u00e1ficos gestionaran su propio repositorio, lo que les permiti\u00f3 mayor libertad y agilizar los lanzamientos. Esto significa que, para cada gr\u00e1fico que desee utilizar, debe asegurarse de a\u00f1adir el repositorio de alojamiento a su instalaci\u00f3n de Helm.<\/p>\n<p>Para ayudarte a encontrar el repositorio adecuado, puedes usar ArtifactHub.io, un sitio web de c\u00f3digo abierto administrado por CNCF que cataloga los gr\u00e1ficos de Helm y sus repositorios. Tambi\u00e9n rastrea gr\u00e1ficos populares y \u00fatiles que utilizan otros proyectos de CNCF, por lo que es diferente del repositorio estable con el que funcionaban las versiones anteriores de Helm. Es un excelente recurso para proyectos comunes, como registros de Nginx o herramientas de monitorizaci\u00f3n.<\/p>\n<p>Puedes buscar el gr\u00e1fico que deseas instalar desde la p\u00e1gina principal. La b\u00fasqueda de Nginx mostrar\u00e1 todos los gr\u00e1ficos indexados relacionados.<\/p>\n<p><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"1913\"  height=\"844\"  class=\"aligncenter wp-image-15351 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 1913px) 100vw, 1913px\"  data-pk-src=\"https:\/\/www.itpiran.net\/blog\/wp-content\/uploads\/2024\/04\/1-11.png\"  data-pk-srcset=\"https:\/\/www.itpiran.net\/blog\/wp-content\/uploads\/2024\/04\/1-11.png 1913w, https:\/\/www.itpiran.net\/blog\/wp-content\/uploads\/2024\/04\/1-11-300x132.png 300w, https:\/\/www.itpiran.net\/blog\/wp-content\/uploads\/2024\/04\/1-11-1024x452.png 1024w, https:\/\/www.itpiran.net\/blog\/wp-content\/uploads\/2024\/04\/1-11-768x339.png 768w, https:\/\/www.itpiran.net\/blog\/wp-content\/uploads\/2024\/04\/1-11-1536x678.png 1536w, https:\/\/www.itpiran.net\/blog\/wp-content\/uploads\/2024\/04\/1-11-110x49.png 110w, https:\/\/www.itpiran.net\/blog\/wp-content\/uploads\/2024\/04\/1-11-200x88.png 200w, https:\/\/www.itpiran.net\/blog\/wp-content\/uploads\/2024\/04\/1-11-380x168.png 380w, https:\/\/www.itpiran.net\/blog\/wp-content\/uploads\/2024\/04\/1-11-255x113.png 255w, https:\/\/www.itpiran.net\/blog\/wp-content\/uploads\/2024\/04\/1-11-550x243.png 550w, https:\/\/www.itpiran.net\/blog\/wp-content\/uploads\/2024\/04\/1-11-800x353.png 800w, https:\/\/www.itpiran.net\/blog\/wp-content\/uploads\/2024\/04\/1-11-1160x512.png 1160w\" ><br \/>\nInstalar\u00e1 la versi\u00f3n comunitaria administrada por el equipo de Kubernetes. Busque ingress-nginx para encontrarlo en los resultados. Selecci\u00f3nelo para acceder a la p\u00e1gina.<\/p>\n<p><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"1897\"  height=\"646\"  class=\"aligncenter wp-image-15352 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 1897px) 100vw, 1897px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/04\/20195803\/2-9.png\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/04\/20195803\/2-9.png 1897w, https:\/\/cdn.itpiran.net\/2024\/04\/20195803\/2-9-300x102.png 300w, https:\/\/cdn.itpiran.net\/2024\/04\/20195803\/2-9-1024x349.png 1024w, https:\/\/cdn.itpiran.net\/2024\/04\/20195803\/2-9-768x262.png 768w, https:\/\/cdn.itpiran.net\/2024\/04\/20195803\/2-9-1536x523.png 1536w, https:\/\/cdn.itpiran.net\/2024\/04\/20195803\/2-9-110x37.png 110w, https:\/\/cdn.itpiran.net\/2024\/04\/20195803\/2-9-200x68.png 200w, https:\/\/cdn.itpiran.net\/2024\/04\/20195803\/2-9-380x129.png 380w, https:\/\/cdn.itpiran.net\/2024\/04\/20195803\/2-9-255x87.png 255w, https:\/\/cdn.itpiran.net\/2024\/04\/20195803\/2-9-550x187.png 550w, https:\/\/cdn.itpiran.net\/2024\/04\/20195803\/2-9-800x272.png 800w, https:\/\/cdn.itpiran.net\/2024\/04\/20195803\/2-9-1160x395.png 1160w\" > <img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"1889\"  height=\"808\"  class=\"aligncenter wp-image-15353 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 1889px) 100vw, 1889px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/04\/20195821\/3-8.png\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/04\/20195821\/3-8.png 1889w, https:\/\/cdn.itpiran.net\/2024\/04\/20195821\/3-8-300x128.png 300w, https:\/\/cdn.itpiran.net\/2024\/04\/20195821\/3-8-1024x438.png 1024w, https:\/\/cdn.itpiran.net\/2024\/04\/20195821\/3-8-768x329.png 768w, https:\/\/cdn.itpiran.net\/2024\/04\/20195821\/3-8-1536x657.png 1536w, https:\/\/cdn.itpiran.net\/2024\/04\/20195821\/3-8-110x47.png 110w, https:\/\/cdn.itpiran.net\/2024\/04\/20195821\/3-8-200x86.png 200w, https:\/\/cdn.itpiran.net\/2024\/04\/20195821\/3-8-380x163.png 380w, https:\/\/cdn.itpiran.net\/2024\/04\/20195821\/3-8-255x109.png 255w, https:\/\/cdn.itpiran.net\/2024\/04\/20195821\/3-8-550x235.png 550w, https:\/\/cdn.itpiran.net\/2024\/04\/20195821\/3-8-800x342.png 800w, https:\/\/cdn.itpiran.net\/2024\/04\/20195821\/3-8-1160x496.png 1160w\" ><br \/>\nCada gr\u00e1fico debe incluir una descripci\u00f3n que detalle la tarea, junto con instrucciones para agregar su repositorio a la instalaci\u00f3n del gr\u00e1fico. De lo contrario, puede obtener las instrucciones necesarias pulsando el bot\u00f3n INSTALAR a la derecha de la p\u00e1gina.<\/p>\n<p><img  loading=\"lazy\"  decoding=\"async\"  src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=\"  alt=\"\"  width=\"981\"  height=\"523\"  class=\"aligncenter wp-image-15354 size-full pk-lazyload\"  data-pk-sizes=\"auto\"  data-ls-sizes=\"auto, (max-width: 981px) 100vw, 981px\"  data-pk-src=\"https:\/\/cdn.itpiran.net\/2024\/04\/20195948\/4-7.png\"  data-pk-srcset=\"https:\/\/cdn.itpiran.net\/2024\/04\/20195948\/4-7.png 981w, https:\/\/cdn.itpiran.net\/2024\/04\/20195948\/4-7-300x160.png 300w, https:\/\/cdn.itpiran.net\/2024\/04\/20195948\/4-7-768x409.png 768w, https:\/\/cdn.itpiran.net\/2024\/04\/20195948\/4-7-110x59.png 110w, https:\/\/cdn.itpiran.net\/2024\/04\/20195948\/4-7-200x107.png 200w, https:\/\/cdn.itpiran.net\/2024\/04\/20195948\/4-7-380x203.png 380w, https:\/\/cdn.itpiran.net\/2024\/04\/20195948\/4-7-255x136.png 255w, https:\/\/cdn.itpiran.net\/2024\/04\/20195948\/4-7-550x293.png 550w, https:\/\/cdn.itpiran.net\/2024\/04\/20195948\/4-7-800x427.png 800w\" ><br \/>\nPuedes hacer clic en el bot\u00f3n azul junto al comando para copiarlo. Para el primer comando, haz lo siguiente y ejec\u00fatalo:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>helm repo add ingress-nginx https:\/\/kubernetes.github.io\/ingress-nginx<\/code><\/pre>\n<\/div>\n<p>Para agregar un repositorio a Helm, ejecute helm repo add. Los par\u00e1metros que acepta son el nombre del repositorio y su ubicaci\u00f3n.<\/p>\n<p>La salida ser\u00e1:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\n\"ingress-nginx\" has been added to your repositories<\/code><\/pre>\n<\/div>\n<p>Cuando agrega un nuevo repositorio, debe indicarle a Helm qu\u00e9 contiene ejecutando:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>helm repo update<\/code><\/pre>\n<\/div>\n<p>Recibir\u00e1 el siguiente resultado indicando que la actualizaci\u00f3n fue exitosa:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nHang tight while we grab the latest from your chart repositories...\r\n...Successfully got an update from the \"ingress-nginx\" chart repository\r\nUpdate Complete. \u2388Happy Helming!\u2388<\/code><\/pre>\n<\/div>\n<p>En este punto, ya se ha familiarizado con ArtifactHub y sus funciones. Tambi\u00e9n ha a\u00f1adido un nuevo repositorio a su instalaci\u00f3n de Helm. A continuaci\u00f3n, instalar\u00e1 el diagrama de Helm.<\/p>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-3-%d9%86%d8%b5%d8%a8-%d9%86%d9%85%d9%88%d8%af%d8%a7%d8%b1-%d9%87%d9%84%d9%85\">Paso 3 \u2013 Instalaci\u00f3n del gr\u00e1fico de tim\u00f3n<\/h2>\n<p>En la secci\u00f3n anterior, agreg\u00f3 el repositorio de gr\u00e1ficos ingress-nginx. Ahora lo instalar\u00e1 en su cl\u00faster.<\/p>\n<p>Cada gr\u00e1fico tiene variables de configuraci\u00f3n que puedes configurar para cambiar su comportamiento. Estas variables se almacenan en un archivo llamado values.yaml que forma parte del gr\u00e1fico. A menos que hayas descargado el gr\u00e1fico en tu dispositivo, deber\u00e1s ejecutar el siguiente comando para verlo:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>helm show values chart_name<\/code><\/pre>\n<\/div>\n<p>Para mostrar las variables disponibles para ingress-nginx, reemplace chart_name:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>helm show values ingress-nginx\/ingress-nginx<\/code><\/pre>\n<\/div>\n<p>La salida ser\u00e1 larga y mostrar\u00e1 el contenido de values.yaml para ingress-nginx.<\/p>\n<p>Para instalar el gr\u00e1fico, puede utilizar el comando de instalaci\u00f3n:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>helm install release_name repository\/chart_name<\/code><\/pre>\n<\/div>\n<p>Una versi\u00f3n es una instancia implementada del gr\u00e1fico y aqu\u00ed la llamamos ingress-nginx.<\/p>\n<p>Este comando instalar\u00e1 el gr\u00e1fico con los valores predeterminados de las variables de su cl\u00faster. Si desea cambiar alguno, puede pasar nuevos valores de variable mediante \u2013set:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\">helm install ingress-nginx\/ingress-nginx --set variable_name=variable_value<\/pre>\n<\/div>\n<p>Puedes repetir &quot;\u2013set&quot; para tantas variables como necesites. Como no lo personalizaremos ahora, inst\u00e1lalo tal cual ejecutando:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>helm install ingress-nginx ingress-nginx\/ingress-nginx<\/code><\/pre>\n<\/div>\n<p>La salida ser\u00e1 similar a la siguiente:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nNAME: ingress-nginx\r\nLAST DEPLOYED: Wed Feb 24 10:12:37 2021\r\nNAMESPACE: default\r\nSTATUS: deployed\r\nREVISION: 1\r\nTEST SUITE: None\r\nNOTES:\r\nThe ingress-nginx controller has been installed.\r\nIt may take a few minutes for the LoadBalancer IP to be available.\r\nYou can watch the status by running 'kubectl --namespace default get services -o wide -w ingress-nginx-controller'\r\n...<\/code><\/pre>\n<\/div>\n<p>Tenga en cuenta que NOMBRE coincide con el nombre de la versi\u00f3n que especific\u00f3. Helm tambi\u00e9n muestra informaci\u00f3n com\u00fan, como el estado de la versi\u00f3n y el espacio de nombres en el que se implementa. La secci\u00f3n NOTAS var\u00eda seg\u00fan el gr\u00e1fico y suele contener consejos de inicio r\u00e1pido o advertencias sobre problemas comunes al usar los recursos del gr\u00e1fico. Aqu\u00ed se menciona que se est\u00e1 creando el balanceador de carga y que su creaci\u00f3n puede tardar un tiempo.<\/p>\n<p>Para comprobar los gr\u00e1ficos implementados, utilice la lista de comandos:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>helm list<\/code><\/pre>\n<\/div>\n<\/div>\n<p>Notar\u00e1s que ingress-nginx es el \u00fanico gr\u00e1fico implementado actualmente:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nNAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION\r\ningress-nginx default 1 2021-02-24 10:12:37.281049711 +0000 UTC deployed ingress-nginx-3.23.0 0.44.0<\/code><\/pre>\n<\/div>\n<p>Puede encontrar los servicios que tiene en su cl\u00faster ejecutando lo siguiente:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>kubectl get services<\/code><\/pre>\n<\/div>\n<p>La salida ser\u00e1 similar a esto:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE\r\ningress-nginx-controller LoadBalancer 10.245.211.81 46.101.68.67 80:30704\/TCP,443:30700\/TCP 7m19s\r\ningress-nginx-controller-admission ClusterIP 10.245.50.17 &lt;none&gt; 443\/TCP 7m19s\r\nkubernetes ClusterIP 10.245.0.1 &lt;none&gt; 443\/TCP 83m<\/code><\/pre>\n<\/div>\n<p>Ahora que ha implementado una versi\u00f3n en su cl\u00faster, cambiar\u00e1 su configuraci\u00f3n durante la implementaci\u00f3n.<\/p>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-4-%d8%a7%d8%b1%d8%aa%d9%82%d8%a7%d8%a1-%db%8c%da%a9-%d9%86%d8%b3%d8%ae%d9%87\">Paso 4 \u2013 Actualizar una versi\u00f3n<\/h2>\n<p>Una vez que una versi\u00f3n est\u00e1 en ejecuci\u00f3n, no es necesario destruirla y volver a crearla para cambiar su configuraci\u00f3n. Puede usar el comando de actualizaci\u00f3n para actualizar la versi\u00f3n con una nueva versi\u00f3n del gr\u00e1fico o para establecer nuevos ajustes.<\/p>\n<p>El diagrama de ingress-nginx muestra la variable controller.replicaCount, que controla el n\u00famero de pods de controlador implementados. De forma predeterminada, est\u00e1 establecida en uno, lo cual puede verificarse enumerando los pods disponibles:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>kubectl get pods<\/code><\/pre>\n<\/div>\n<p>Notar\u00e1s que solo hay uno:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nNAME READY STATUS RESTARTS AGE\r\ningress-nginx-controller-7fc74cf778-kjtst 1\/1 Running 0 12m<\/code><\/pre>\n<\/div>\n<p>Si desea que se implementen m\u00e1s para redundancia (por ejemplo, tres), puede actualizar la versi\u00f3n y establecer la variable en 3 ejecutando:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>helm upgrade ingress-nginx ingress-nginx\/ingress-nginx --set controller.replicaCount=3 --reuse-values<\/code><\/pre>\n<\/div>\n<p>Tambi\u00e9n pasa --reuse-values, que le indica a Helm que coloque sus cambios sobre la versi\u00f3n implementada y preserve la configuraci\u00f3n anterior.<\/p>\n<p>En la salida, Helm realiza correcciones para indicar que la versi\u00f3n se ha actualizado:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nNAME: ingress-nginx\r\nLAST DEPLOYED: Wed Feb 24 12:07:54 2021\r\nNAMESPACE: default\r\nSTATUS: deployed\r\nREVISION: 2\r\nTEST SUITE: None\r\nNOTES:\r\n...<\/code><\/pre>\n<\/div>\n<p>Puede enumerar los pods disponibles ejecutando lo siguiente:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>kubectl get pods<\/code><\/pre>\n<\/div>\n<p>En lugar de uno, encontrar\u00e1 tres pods enumerados:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nNAME READY STATUS RESTARTS AGE\r\ningress-nginx-controller-7fc74cf778-4hk9g 1\/1 Running 0 18s\r\ningress-nginx-controller-7fc74cf778-kjtst 1\/1 Running 0 22m\r\ningress-nginx-controller-7fc74cf778-wz595 1\/1 Running 0 18s<\/code><\/pre>\n<\/div>\n<p>A continuaci\u00f3n, revertir\u00e1 los cambios y eliminar\u00e1 la publicaci\u00f3n por completo.<\/p>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-5-%d8%a8%d8%a7%d8%b2%da%af%d8%b1%d8%af%d8%a7%d9%86%d8%af%d9%86-%d9%88-%d8%ad%d8%b0%d9%81-%db%8c%da%a9-%d9%86%d8%b3%d8%ae%d9%87\">Paso 5 \u2013 Restaurar y eliminar una copia<\/h2>\n<p>Al actualizar una versi\u00f3n, su n\u00famero de revisi\u00f3n aumenta. Helm almacena internamente todas las versiones de una versi\u00f3n, lo que permite volver a una anterior si es necesario.<\/p>\n<p>Para revertir el n\u00famero de pods a uno solo, puede volver a ejecutar el comando de actualizaci\u00f3n y ajustar manualmente el n\u00famero, ya que se trata de un cambio peque\u00f1o. Sin embargo, al trabajar con gr\u00e1ficos grandes con muchas variables, la reversi\u00f3n manual no es posible y deber\u00eda ser autom\u00e1tica.<\/p>\n<p>Para restaurar una versi\u00f3n, utilice el comando restaurar:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>helm rollback release_name release_revision<\/code><\/pre>\n<\/div>\n<p>Puedes usarlo para revertir los cambios que realizaste en ingress-nginx, volviendo a la versi\u00f3n 1:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>helm rollback ingress-nginx 1<\/code><\/pre>\n<\/div>\n<p>Recibir\u00e1 el siguiente resultado indicando que la operaci\u00f3n fue exitosa:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nRollback was a success! Happy Helming!<\/code><\/pre>\n<\/div>\n<p>Puedes comprobar la versi\u00f3n actual enumerando las versiones:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>helm list<\/code><\/pre>\n<\/div>\n<p>Notar\u00e1s que la revisi\u00f3n ahora es 3 y no 1:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nNAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION\r\ningress-nginx default 3 2021-02-24 12:43:21.523664768 +0000 UTC deployed ingress-nginx-3.23.0 0.44.0<\/code><\/pre>\n<\/div>\n<p>Helm considera cada cambio, incluyendo una reversi\u00f3n, como una nueva revisi\u00f3n en una versi\u00f3n. Al comprobar el n\u00famero de pods implementados, ejecute:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>kubectl get pods<\/code><\/pre>\n<\/div>\n<p>Notar\u00e1s que solo hay uno:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nNAME READY STATUS RESTARTS AGE\r\ningress-nginx-controller-7fc74cf778-kjtst 1\/1 Running 0 41m<\/code><\/pre>\n<\/div>\n<p>Para eliminar una versi\u00f3n y todas sus revisiones, puedes usar helm delete:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>helm delete release_name<\/code><\/pre>\n<\/div>\n<p>Como ya no lo necesitar\u00e1, elimine ingress-nginx ejecutando el siguiente comando:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>helm delete ingress-nginx<\/code><\/pre>\n<\/div>\n<p>La salida ser\u00e1:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nrelease \"ingress-nginx\" uninstalled<\/code><\/pre>\n<\/div>\n<p>Puedes enumerar las versiones para comprobar que no existe ninguna:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>helm list<\/code><\/pre>\n<\/div>\n<p>La tabla de salida no tendr\u00e1 filas:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nNAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION\r\n<\/code><\/pre>\n<\/div>\n<p>Ahora que se ha eliminado la versi\u00f3n, puedes reutilizar su nombre para futuras implementaciones.<\/p>\n<h2 id=\"%d9%85%d8%b1%d8%ad%d9%84%d9%87-6-%d8%a7%d8%ae%d8%aa%db%8c%d8%a7%d8%b1%db%8c-%d8%a7%db%8c%d8%ac%d8%a7%d8%af-%d9%86%d9%85%d9%88%d8%af%d8%a7%d8%b1%d9%87%d8%a7%db%8c-%d8%b3%d9%81%d8%a7%d8%b1\">Paso 6 \u2013 (Opcional) Crear gr\u00e1ficos personalizados<\/h2>\n<p>En este paso opcional, aprender\u00e1 c\u00f3mo crear un gr\u00e1fico personalizado, d\u00f3nde colocar las definiciones de recursos y c\u00f3mo empaquetarlo para su posterior distribuci\u00f3n.<\/p>\n<p>Crear\u00e1 un nuevo gr\u00e1fico llamado sample-chart. Para crearlo, ejecute el siguiente comando:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>helm create example-chart<\/code><\/pre>\n<\/div>\n<p>Esto crear\u00e1 un nuevo directorio llamado example-chart con los siguientes archivos y estructura:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>charts\/\r\ntemplates\/\r\n\u251c\u2500 tests\/\r\n\u2502 \u251c\u2500 test-connection.yaml\r\n\u251c\u2500 deployment.yaml\r\n\u251c\u2500 hpa.yaml\r\n\u251c\u2500 ingress.yaml\r\n\u251c\u2500 NOTES.txt\r\n\u251c\u2500 service.yaml\r\n\u251c\u2500 serviceaccount.yaml\r\n\u251c\u2500 _helpers.tpl\r\nChart.yaml\r\nvalues.yaml<\/code><\/pre>\n<\/div>\n<p>Las definiciones de recursos que tu gr\u00e1fico instala en los cl\u00fasteres de destino se encuentran en el directorio de plantillas. Las predeterminadas que Helm cre\u00f3 como punto de partida implementan un controlador de entrada Nginx. Aunque su extensi\u00f3n de archivo es YAML, utilizan la sintaxis de formato de Go para seguir siendo configurables mediante variables expuestas que puedes pasar. Puedes ver el contenido de service.yaml ejecutando:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>cat example-chart\/templates\/service.yaml<\/code><\/pre>\n<\/div>\n<p>Notar\u00e1s que tiene instrucciones de formato para producir valores rodeados por par\u00e9ntesis dobles:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>OutputapiVersion: v1\r\nkind: Service\r\nmetadata:\r\nname: {{ include \"mychart.fullname\" . }}\r\nlabels:\r\n{{- include \"mychart.labels\" . | nindent 4 }}\r\nspec:\r\ntype: {{ .Values.service.type }}\r\nports:\r\n- port: {{ .Values.service.port }}\r\ntargetPort: http\r\nprotocol: TCP\r\nname: http\r\nselector:\r\n{{- include \"mychart.selectorLabels\" . | nindent 4 }}<\/code><\/pre>\n<\/div>\n<p>Las variables referenciadas se exponen al usuario y se definen en values.yaml. El texto de las NOTAS de Helm se almacena en NOTES.txt tras la implementaci\u00f3n y tambi\u00e9n se formatea. Los metadatos de los gr\u00e1ficos, como el nombre, la versi\u00f3n y la versi\u00f3n del software que se est\u00e1 implementando, se especifican en Chart.yaml:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>apiVersion: v2\r\nname: mychart\r\ndescription: A Helm chart for Kubernetes\r\n...\r\ntype: application\r\n...\r\nversion: 0.1.0\r\n...\r\nappVersion: \"1.16.0\"<\/code><\/pre>\n<\/div>\n<p>Para verificar qu\u00e9 est\u00e1 implementando Helm, puede pasar \u2013dry-run y \u2013debug a helm install apuntando al directorio del gr\u00e1fico:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>helm install example-chart --dry-run --debug .\/example-chart<\/code><\/pre>\n<\/div>\n<p>El resultado ser\u00e1 extenso e incluir\u00e1 todas las definiciones de recursos finales que se aplicar\u00e1n a tu cl\u00faster. Mientras trabajas en tu gr\u00e1fico, puedes usar el comando de actualizaci\u00f3n para enviar nuevas versiones a Kubernetes.<\/p>\n<p>Cuando haya terminado de compartir el gr\u00e1fico, puede ponerlo a disposici\u00f3n para su distribuci\u00f3n ejecutando lo siguiente:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>helm package .\/example-chart<\/code><\/pre>\n<\/div>\n<p>La salida ser\u00e1:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nSuccessfully packaged chart and saved it to: ...\/example-chart-0.1.0.tgz<\/code><\/pre>\n<\/div>\n<p>El gr\u00e1fico empaquetado se puede instalar igual que los de los repositorios agregados:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>helm install example-chart example-chart-0.1.0.tgz<\/code><\/pre>\n<\/div>\n<p>En este punto, ya ha creado e implementado un gr\u00e1fico personalizado. Tambi\u00e9n lo ha empaquetado y se ha familiarizado con su estructura.<\/p>\n<h2 id=\"%d9%86%d8%aa%db%8c%d8%ac%d9%87\">Resultado<\/h2>\n<p>Ya sabes usar Helm para instalar y actualizar el software implementado en tu cl\u00faster de Kubernetes. Agregaste repositorios de gr\u00e1ficos y aprendiste por qu\u00e9 son importantes y c\u00f3mo ArtifactHub puede ayudarte a encontrarlos. Tambi\u00e9n creaste un nuevo gr\u00e1fico personalizado y aprendiste sobre las revisiones de versiones y c\u00f3mo revertirlas si es necesario.<\/p>","protected":false},"excerpt":{"rendered":"Introducci\u00f3n Helm es un administrador de paquetes para Kubernetes que permite a los desarrolladores y operadores\u2026","protected":false},"author":1,"featured_media":15355,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_focuskw":"\u0646\u062d\u0648\u0647 \u0646\u0635\u0628 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0631\u0648\u06cc \u062e\u0648\u0634\u0647 \u0647\u0627\u06cc Kubernetes","_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","_yoast_wpseo_canonical":"","_yoast_wpseo_opengraph-description":"","_yoast_wpseo_opengraph-image":"","_yoast_wpseo_twitter-description":"","_yoast_wpseo_twitter-image":"","_yoast_wpseo_focuskeywords":"","_yoast_wpseo_primary_category":"193","footnotes":""},"categories":[193,363],"tags":[419],"class_list":{"0":"post-15350","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tutorials","8":"category-programming","9":"tag-kubernetes"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u0646\u062d\u0648\u0647 \u0646\u0635\u0628 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0631\u0648\u06cc \u062e\u0648\u0634\u0647 \u0647\u0627\u06cc Kubernetes \u0628\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0628\u0633\u062a\u0647 Helm 3 - \u0628\u0644\u0627\u06af ITPiran<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.itpiran.net\/blog\/es\/tutorials\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0646\u062d\u0648\u0647 \u0646\u0635\u0628 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0631\u0648\u06cc \u062e\u0648\u0634\u0647 \u0647\u0627\u06cc Kubernetes \u0628\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0628\u0633\u062a\u0647 Helm 3 - \u0628\u0644\u0627\u06af ITPiran\" \/>\n<meta property=\"og:description\" content=\"\u0645\u0642\u062f\u0645\u0647 Helm \u06cc\u06a9 \u0645\u062f\u06cc\u0631 \u0628\u0633\u062a\u0647 \u0628\u0631\u0627\u06cc Kubernetes \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0648 \u0627\u067e\u0631\u0627\u062a\u0648\u0631\u0647\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.itpiran.net\/blog\/es\/tutorials\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\/\" \/>\n<meta property=\"og:site_name\" content=\"\u0628\u0644\u0627\u06af ITPiran\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-20T17:22:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.itpiran.net\/blog\/wp-content\/uploads\/2024\/04\/asd.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1793\" \/>\n\t<meta property=\"og:image:height\" content=\"1110\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/person\\\/04ed27b919baca468a2273f8e4318f81\"},\"headline\":\"\u0646\u062d\u0648\u0647 \u0646\u0635\u0628 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0631\u0648\u06cc \u062e\u0648\u0634\u0647 \u0647\u0627\u06cc Kubernetes \u0628\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0628\u0633\u062a\u0647 Helm 3\",\"datePublished\":\"2024-04-20T17:22:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\\\/\"},\"wordCount\":108,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/asd.jpg\",\"keywords\":[\"kubernetes\"],\"articleSection\":[\"\u0622\u0645\u0648\u0632\u0634\u06cc\",\"\u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\\\/\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\\\/\",\"name\":\"\u0646\u062d\u0648\u0647 \u0646\u0635\u0628 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0631\u0648\u06cc \u062e\u0648\u0634\u0647 \u0647\u0627\u06cc Kubernetes \u0628\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0628\u0633\u062a\u0647 Helm 3 - \u0628\u0644\u0627\u06af ITPiran\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/asd.jpg\",\"datePublished\":\"2024-04-20T17:22:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/asd.jpg\",\"contentUrl\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/asd.jpg\",\"width\":1793,\"height\":1110},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0622\u0645\u0648\u0632\u0634\u06cc\",\"item\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/category\\\/tutorials\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"\u0646\u062d\u0648\u0647 \u0646\u0635\u0628 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0631\u0648\u06cc \u062e\u0648\u0634\u0647 \u0647\u0627\u06cc Kubernetes \u0628\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0628\u0633\u062a\u0647 Helm 3\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\",\"name\":\"\u0628\u0644\u0627\u06af ITPiran\",\"description\":\"\u0627\u062e\u0628\u0627\u0631 \u0648 \u0645\u0642\u0627\u0644\u0627\u062a \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\",\"name\":\"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\",\"alternateName\":\"ITPIran Blog\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/cdn.itpiran.net\\\/2023\\\/12\\\/27150508\\\/cropped-ITPIRAN-BLOG-LOGO-2.png\",\"contentUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2023\\\/12\\\/27150508\\\/cropped-ITPIRAN-BLOG-LOGO-2.png\",\"width\":512,\"height\":512,\"caption\":\"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/person\\\/04ed27b919baca468a2273f8e4318f81\",\"name\":\"admin\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/es\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"C\u00f3mo instalar software en cl\u00fasteres de Kubernetes con la gesti\u00f3n de paquetes de Helm 3 - Blog de ITPiran","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.itpiran.net\/blog\/es\/tutorials\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\/","og_locale":"es_ES","og_type":"article","og_title":"\u0646\u062d\u0648\u0647 \u0646\u0635\u0628 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0631\u0648\u06cc \u062e\u0648\u0634\u0647 \u0647\u0627\u06cc Kubernetes \u0628\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0628\u0633\u062a\u0647 Helm 3 - \u0628\u0644\u0627\u06af ITPiran","og_description":"\u0645\u0642\u062f\u0645\u0647 Helm \u06cc\u06a9 \u0645\u062f\u06cc\u0631 \u0628\u0633\u062a\u0647 \u0628\u0631\u0627\u06cc Kubernetes \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0648 \u0627\u067e\u0631\u0627\u062a\u0648\u0631\u0647\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627&hellip;","og_url":"https:\/\/www.itpiran.net\/blog\/es\/tutorials\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\/","og_site_name":"\u0628\u0644\u0627\u06af ITPiran","article_published_time":"2024-04-20T17:22:53+00:00","og_image":[{"width":1793,"height":1110,"url":"https:\/\/www.itpiran.net\/blog\/wp-content\/uploads\/2024\/04\/asd.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"admin","Tiempo de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\/#article","isPartOf":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\/"},"author":{"name":"admin","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/person\/04ed27b919baca468a2273f8e4318f81"},"headline":"\u0646\u062d\u0648\u0647 \u0646\u0635\u0628 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0631\u0648\u06cc \u062e\u0648\u0634\u0647 \u0647\u0627\u06cc Kubernetes \u0628\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0628\u0633\u062a\u0647 Helm 3","datePublished":"2024-04-20T17:22:53+00:00","mainEntityOfPage":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\/"},"wordCount":108,"commentCount":0,"publisher":{"@id":"https:\/\/www.itpiran.net\/blog\/#organization"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\/#primaryimage"},"thumbnailUrl":"https:\/\/www.itpiran.net\/blog\/wp-content\/uploads\/2024\/04\/asd.jpg","keywords":["kubernetes"],"articleSection":["\u0622\u0645\u0648\u0632\u0634\u06cc","\u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\/","url":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\/","name":"C\u00f3mo instalar software en cl\u00fasteres de Kubernetes con la gesti\u00f3n de paquetes de Helm 3 - Blog de ITPiran","isPartOf":{"@id":"https:\/\/www.itpiran.net\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\/#primaryimage"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\/#primaryimage"},"thumbnailUrl":"https:\/\/www.itpiran.net\/blog\/wp-content\/uploads\/2024\/04\/asd.jpg","datePublished":"2024-04-20T17:22:53+00:00","breadcrumb":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\/#primaryimage","url":"https:\/\/www.itpiran.net\/blog\/wp-content\/uploads\/2024\/04\/asd.jpg","contentUrl":"https:\/\/www.itpiran.net\/blog\/wp-content\/uploads\/2024\/04\/asd.jpg","width":1793,"height":1110},{"@type":"BreadcrumbList","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-install-software-on-kubernetes-clusters-with-the-helm-3-package-manager\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.itpiran.net\/blog\/"},{"@type":"ListItem","position":2,"name":"\u0622\u0645\u0648\u0632\u0634\u06cc","item":"https:\/\/www.itpiran.net\/blog\/category\/tutorials\/"},{"@type":"ListItem","position":3,"name":"\u0646\u062d\u0648\u0647 \u0646\u0635\u0628 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0631\u0648\u06cc \u062e\u0648\u0634\u0647 \u0647\u0627\u06cc Kubernetes \u0628\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0628\u0633\u062a\u0647 Helm 3"}]},{"@type":"WebSite","@id":"https:\/\/www.itpiran.net\/blog\/#website","url":"https:\/\/www.itpiran.net\/blog\/","name":"Blog de ITPiran","description":"Noticias y art\u00edculos sobre comercio sostenible en Ir\u00e1n","publisher":{"@id":"https:\/\/www.itpiran.net\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.itpiran.net\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.itpiran.net\/blog\/#organization","name":"Blog sobre negocios iran\u00edes sostenibles","alternateName":"ITPIran Blog","url":"https:\/\/www.itpiran.net\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdn.itpiran.net\/2023\/12\/27150508\/cropped-ITPIRAN-BLOG-LOGO-2.png","contentUrl":"https:\/\/cdn.itpiran.net\/2023\/12\/27150508\/cropped-ITPIRAN-BLOG-LOGO-2.png","width":512,"height":512,"caption":"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/person\/04ed27b919baca468a2273f8e4318f81","name":"administraci\u00f3n","url":"https:\/\/www.itpiran.net\/blog\/es\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/posts\/15350","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/comments?post=15350"}],"version-history":[{"count":1,"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/posts\/15350\/revisions"}],"predecessor-version":[{"id":15356,"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/posts\/15350\/revisions\/15356"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/media\/15355"}],"wp:attachment":[{"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/media?parent=15350"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/categories?post=15350"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/tags?post=15350"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}