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