Antes de enseñarte a cómo hacer tu propio repositorio, primero te voy a enseñar cómo administrar los repositorios. Buscar en el repositorio de Helm: ```bash helm search hub grafana ``` Buscar en los repositorios ya instalados: ```bash helm searh repo grafana ``` Para ver los Values de un paquete: ```bash helm show values grafana ``` Supongamos que hiciste tu propio archivo de values y lo quieres aplicar en lugar del que trae por el paquete: ```bash helm install -f miarchivo.yaml aplicación paquete ``` ## Crear repositorio con GitHub 1. Creas un nuevo repositorio público en GitHub. 2. Ahora que estas en el repositorio nuevo que creaste, vas a settings -> Pages (en la barra de la izquierda).
3. En Branch seleccionas la branch que quieres usar, en este ejemplo usaré main y por último seleccionas el directorio que por default es /(root). 4. Por último le das click en Save. Con esto has creado un repositorio. La URL para acceder a tu repositorio es: https://tuuser.github.io/tu-repositorio/ Por ejemplo: https://ahioros.github.io/nginx-charts/
## Subir nuestro paquete al repositorio. En el post anterior creamos nuestro package/paquete de nuestra aplicación. Para que funcione nuestro repositorio debemos crear una carpeta llamada charts y dentro poner nuestro paquete.
Ahora debemos crear un archivo index.yaml para que helm sepa que charts hay dentro del repositorio. ```bash helm repo index . ``` **Nota:** Hay un espacio y un punto después de index. El contenido de este index.yaml es:
Ahora queda subirlo al repositorio de github. ## Agregando nuestro repositorio a Helm Para agregar nuestro repositorio a Helm debemos ejecutar: ```bash helm repo add turepo https://TUURLDETUREPOSITORIO/TUCHARTS helm repo add ahioros https://ahioros.github.io/nginx-charts/ ```
Comprobamos que se ha agregado correctamente nuestro repositorio: ```bash helm search repo turepo helm search repo ahioros ```
## Instalando desde tu repositorio Ahora lo que queda es instalar tus propios paquetes desde tu repositorio recien creado. Puedes realizar una "instalación fake" ```bash helm install --dry-run nombrepaquete turepo/nombrepaquete helm install --dry-run test ahioros/nginx-chart ``` **Nota:** esto nos instalará el paquete nginx-chart (sin S al final) de nuestro reposirotorio que se llama nginx-charts (con S al final) el paquete cuando sea instalado se llamará test. Salida: ```bash --- NAME: test LAST DEPLOYED: Tue Aug 27 18:48:41 2024 NAMESPACE: default STATUS: pending-install REVISION: 1 TEST SUITE: None HOOKS: MANIFEST: --- # Source: nginx-chart/templates/namespace.yaml apiVersion: v1 kind: Namespace metadata: name: nginx-chart --- # Source: nginx-chart/templates/lbl-service.yaml apiVersion: v1 kind: Service metadata: name: loadbalancer-test-nginx-chart namespace: nginx-chart spec: ports: - port: 80 targetPort: 80 protocol: TCP type: LoadBalancer selector: app: app.kubernetes.io/name: nginx-chart app.kubernetes.io/instance: test --- # Source: nginx-chart/templates/service.yaml apiVersion: v1 kind: Service metadata: name: test-nginx-chart namespace: nginx-chart spec: selector: app: helm.sh/chart: nginx-chart-1.0.0 app.kubernetes.io/name: nginx-chart app.kubernetes.io/instance: test app.kubernetes.io/version: "1.16.0" app.kubernetes.io/managed-by: Helm ports: - protocol: TCP port: 80 targetPort: 80 --- # Source: nginx-chart/templates/deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: test-nginx-chart namespace: nginx-chart spec: replicas: 2 selector: matchLabels: app: app.kubernetes.io/name: nginx-chart app.kubernetes.io/instance: test template: metadata: labels: app: app.kubernetes.io/name: nginx-chart app.kubernetes.io/instance: test spec: containers: - name: nginx image: nginx:latest ports: - containerPort: 80 NOTES: Nginx se ha desplegado correctamente. Puedes acceder a la aplicación a través de http://IP:80 --- ``` Ahora si todo está bien ya puedes instalar tu paquete, solo debes quitar el --dry-run: ```bash helm install nginx-chart ahioros/nginx-chart ```
Podemos verificar nuestra aplicación instalada con kubectl: ```bash kubectl get all -n nginx-chart ```
Listo hasta aquí la guía de Helm, espero que te sirva, si tienes dudas puedes dejarla en los comentarios.
No hay comentarios.:
Publicar un comentario