Helm Charts in ArtifactHub through alojamiento in Github pages

Diseñado para la velocidad: ~ 10 ms de latencia, incluso bajo carga
¡Una forma increíblemente rápida de crear, rastrear e implementar sus modelos!
- Gestiona más de 350 RPS en solo 1 vCPU, sin necesidad de ajustes
- Listo para la producción con soporte empresarial completo
Analicemos cómo podemos alojar nuestros gráficos de timón en las páginas de GitHub y permitir que otras personas usen nuestros gráficos en ArtifactHub. Antes de entender el proceso, trataremos de entender estos términos de la forma más simple
¿Qué es un gráfico de timon?
Helm Charts es la forma de crear plantillas para los recursos de Kubernetes que deseas implementar. Si quieres crear un recurso de Kubernetes en varios clústeres (o incluso en el mismo clúster) con valores diferentes, debes crear una plantilla para los recursos y empaquetarla. Este paquete se conoce como helm chart.
GitHub Pages
GitHub Pages es una función de GitHub que te permite crear un sitio web o una página web alojada en servidores de GitHub. Si tienes una sencilla index.html entonces puede alojar este archivo HTML utilizando el nombre de dominio proporcionado por GitHub, que generalmente tiene el formato nombre de usuario.github.io . Es una forma de compartir tu trabajo o exhibir tus proyectos en línea sin la necesidad de un servicio de alojamiento web independiente. En nuestro caso, lo haremos anfitrión nuestros gráficos de timón en GitHub Pages.
Artepanty Hub
ArtifactHub es una plataforma basada en la web que actúa como un repositorio central para varias distribuciones de software, como Helm Charts, OPA, etc. Una vez que hayamos creado nuestro gráfico de tiempos y lo hayamos alojado en las páginas de GitHub, lo haremos visible para la comunidad mostrándolo en Artifacthub.
ArtifactHub no aloja los gráficos de Helm en sí, sino que sirve como registro para los repositorios de gráficos de Helm. Los desarrolladores pueden publicar sus gráficos de Helm en su repositorio preferido, como GitHub, GitLab o Bitbucket, y luego registrar su repositorio en ArtifactHub.
Alojamiento de Helm Charts a través de GitHub Pages
Ahora veremos cómo podemos aprovechar las funciones de Páginas de GitHub para alojar los gráficos de control de nuestra aplicación. En este ejemplo, estoy tomando un ejemplo de gráficos de timbre, pero también puedes usar tus propios gráficos de timbre personalizados de la misma manera
Paso 1: Create an example of timon graphic
Empezaremos creando un ejemplo de gráfico de timon
helm create sample-nginx
Paso 2: Crear un repositorio de GitHub
Crearemos un repositorio público de GitHub donde alojaremos los gráficos.
- Create a GitHub Repository
- Asegúrese de que sea público
- Cree un directorio con el nombre de
cartasque contendrá tu carta de timon cartasel directorio está en el nivel raíz de tu repositorio- Envía tus gráficos al repositorio
director de escuelasucursal
$ árbol.
.
├── README.md
Graphics ──
── muestra-nginx
├── Gráfico.YAML
├── gráficos
├── plantillas
│ ├── NOTES.txt
│ ├── _helpers.tpl
│ ├── deployment.yaml
│ ├── hpa.yaml
│ ├── ingress.yaml
│ ├── service.yaml
│ ├── serviceaccount.yaml
│ ── tests
│ ── prueba.yaml connection
── valores.yaml
Hemos creado un repositorio y está alojado aquí:
Paso 3: Crear un token de acceso a Github
Una vez que nuestros gráficos estén en director de escuela rama necesitamos crear una canalización que pueda crear una versión de GitHub. Esta versión de GitHub, a cambio, publicará nuestros gráficos. Para ello necesitamos un simbólico se creará con un conjunto específico de permisos que luego se utilizará en nuestra cartera para publicar listas.
- Haz clic en tu perfil de GitHub en la esquina superior derecha
- Ir a Ajustes.
- Ir a Setgument for dev en la última opción del panel izquierdo.
- Ir a Identificadores de acceso personal Por selecciona Fichas detalladas.
- Haga clic en Generar un nuevo token

- Si le asigna un nombre de token y se selecciona la fecha de caducidad. Por ahora estoy usando 7 días después de que el token se vuelva inútil.
- En el Acceso al repositorio, selecciona Solo seleccionar repositorios y elige nuestro repositorio de github en el que estamos trabajando

- En la sección de permisos solo necesitamos usar los permisos del Repositorio.
- En esta selección necesitamos
Leer y escribirporContenidos

- En resumen, solo debemos tener estos permisos
- Una vez que se haya generado el token, guárdelo en un lugar seguro para el siguiente paso.
Paso 4: Configurar las páginas de GitHub
Podremos usar las páginas de GitHub para alojar nuestro sitio web directamente en GitHub (de forma estática).
- Vamos a crear otra rama en el repositorio con el nombre
gh-pagesy asegúrese de nombrar la sucursal porgh-pagesúnicamente. - En esta rama, elimine todo y simplemente cree un archivo simple.
index.htmlpara probar el alojamiento. Envía tus cambios a GitHub.
<DOCTYPE html>
<html>
<head>
<title>Gráficos de muestra</title>
<style>
.gráfico {
Width: 400 px;
height: 300 px;
margen: 20 píxeles;
borde: 1 px sólido #ccc;
shade of box: 2 px 2 px 5 px #ccc;
screen: line bloc;
alineación vertical: arriba;
relleno: 10 px;
size of box: box with border;
source size: 14 px;
line height: 1.5;
}
.gráfico h3 {
margen superior: 0;
source size: 18 px;
source weight: black;
}
.gráfico p {
margen: 0;
}
</style>
</head>
<body>
<h1>Gráficos de muestra</h1>
<div class="chart">
<h3>Gráfico 1</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Entero euismod diam et purus hendrerit mollis.</p>
<!-- add your chart code here -->
</div>
<div class="chart">
<h3>Gráfico 2</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Entero euismod diam et purus hendrerit mollis.</p>
<!-- add your chart code here -->
</div>
<div class="chart">
<h3>Gráfico 3</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Entero euismod diam et purus hendrerit mollis.</p>
<!-- add your chart code here -->
</div>
</body>
</html>
- Ve a Configuración bajo el nombre de tu repositorio y haz clic en Páginas en el panel izquierdo.

- En la sección Creación e implementación, elija la sucursal
gh-pagesy espera un tiempo a que GitHub lo procese. Una vez hecho esto, obtendrás una URL en la misma ventana. Al hacer clic en ella, se mostrará laindex.htmlhemos creado. - Haga clic aquí para ver nuestro archivo index.html — https://dunefro.github.io/sample-charts/
- Ahora, en lugar de alojar este archivo HTML, alojaremos nuestras cartas de timon.
Paso 5: Crear una canalización en GitHub Actions
En los pasos anteriores hablamos sobre la canalización que utilizará el token de acceso para crear una versión de GitHub. Puedes elegir cualquier herramienta que prefieras para realizar esta tarea, pero yo elegiré GitHub Actions para ello. GitHub Actions es otra herramienta compatible de forma nativa en GitHub para realizar tareas de CI/CD.
Antes de crear la canalización, crearemos una variable secreta para pasar el token que creamos en la tarea anterior.
- Ve a tu repositorio y haz clic en Configuración debajo del nombre de tu repositorio

- Ve a Secretos y variables en el panel izquierdo y haz clic en Acciones
- Haz clic en Nuevo repositorio secreto y pega el token

Este token ahora se puede usar en preparación para impulsar los lanzamientos.
Ahora crearemos la canalización de GitHub Action.
- Create a directory
.github/work flujosin the level raíz of your repository indirector de escuelasucursal. - Este directorio es el directorio predeterminado en el que guardamos todas las canalizaciones de CI/CD para que se ejecuten las GitHub Actions.
- Crea un archivo con el nombre
lanzar.yamldentro del directorio anterior. - Pega the next content
nombre: Listas de lanzamientos
es:
empuja:
sucursales:
- director
trabajos:
launch:
permisos:
content: escribe # para impulsar el lanzamiento de la lista y crear una versión (helm/chart-releaser-action)
se ejecuta: ubuntu-latest
Pasos:
- nombre: Checkout Code
usos: actions/checkout @v3
contra:
profundidad de captura: 0
- name: Configure Git
ejecutar: |
git config user.name «$GITHUB_ACTOR»
git config user.email «$ GITHUB_ACTOR@users.noreply.github.com»
- nombre: Set up Helm
usos: azure/setup-helm @v3 .5
contra:
versión: v3.9.2
- nombre: Run chart-releaser
usos: helm/chart-releaser-action @v1 .5.0
entorno:
CR_TOKEN: «$ {{secrets.HELM_RELEASE_TOKEN}}»
Este oleoducto es muy sencillo. Vamos a entenderlo muy rápido
nombre— nombre del oleoductoes— condición para ejecutar la canalización, aquí especificamos que se ejecute en cada envío adirector de escuelasucursal.trabajos— el trabajo real que contiene el código de canalización. Comprueba los permisos deescribiren contenidos que ya hemos presentadopasosdefine los pasos del oleoducto. En el que el primer paso es utilizaracciones/checkout @v3. Lo ideal es que, si estás creando la canalización, primero compruebes el código. In lugar de escribir el código para echar un vistazo, GitHub proporciona unaacciónque se puede usar directamente en lugar de escribir el código.- En el segundo paso ejecutamos los comandos para configurar git. Del mismo modo, en el tercer paso utilizamos
azure/setup-helmacción que nos sentará las bases. - En el último paso utilizamos
helm/chart-releaser-actionpara publicar la tabla de tiempos. En cuanto al lanzamiento, necesitamos el token secreto, que ya hemos creado y que ya hemos introducido con el nombre del tokenHELM_RELEASE_TOKEN. Esta acción también creará unindex.yamlesgh-pagesrama que hará que la página de GitHub actúe como un registro estático para los gráficos de timon.
Paso 6: Ejecute la canalización y compruebe si las versiones se han creado o no
Ahora haremos un cambio muy pequeño en el README.md archive of repository in the director de escuela bifurcar para que se active la canalización. Cuando presiono los cambios, puedo ver un pequeño punto naranja que significa que hay una canalización en funcionamiento

- Ve a Acciones bajo el nombre del repositorio y comprueba si hay canalizaciones en ejecución.
- Una vez que termine el oleoducto, podemos ir a
gh-pagesbifurcar y comprobar siindex.yamlUsa crema o no. index.yamles una forma a través de la cual helm puede identificar cualquier sitio web alojado estáticamente como helm registry.- Una vez que la canalización termine, se activará automáticamente otra canalización con el nombre de
creación e implementación de páginasque GitHub crea automáticamente para alojar los cambios que realizamos en elsucursal gh-pageshaciendoindex.yamldisponible públicamente. — https://dunefro.github.io/sample-charts/index.yaml - Podemos revisar los lanzamientos en GitHub para observar que nuestra tabla de lanzamientos se publicó en la página de lanzamientos. — https://github.com/dunefro/sample-charts/releases
Paso 7: Confirme la versión implementándola en un clúster de minikube
Para comprobar si nuestro registro de tiempos se creó correctamente o no
- Crea un
minikuberacimo - Ejecute el siguiente comando
# añadir el repositorio
helm repo agrega gráficos de muestra https://dunefro.github.io/sample-charts/
helm repository updated
# install graphics
helm upgrade --install test-nginx sample-charts/sample-nginx
# comprobar las cápsulas
$ kubectl consigue cápsulas
EL ESTADO DE NOMBRE LISTO REINICIA LA EDAD
test-nginx-sample-nginx-b95bb4f46-tbppn 1/1 Ejecutando 0 30 s
Nuestros gráficos funcionan bien.
Configuración de ArtifactHub
Ahora intentaremos ver cómo podemos configurar una cuenta en ArtifactHub para poder mostrar nuestras cartas de timón a la comunidad. También puedes encontrar otros gráficos de la comunidad, como
Paso 1: Crea una cuenta en ArtifactHub y crea un repositorio
Ahora nuestras cartas están alojadas. Tenemos que asegurarnos de que otros desarrolladores puedan utilizarlos a través de ArtifactHub.
- Ir a https://artifcathub.io y regístrate.
- Publica esto, haz clic en tu perfil desde el icono de la esquina superior izquierda y luego haz clic en el Panel de control.
- Haga clic en + Agregar repositorio y añada los detalles del repositorio. Asegúrate de usar la URL en la que se alojan tus gráficos en las páginas de GitHub.

- Ahora espera y relájate. ArtifactHub extraerá automáticamente los detalles usando el
index.yamlalojadas en nuestras páginas
Paso 2: Verifica tu repositorio
Podemos ver cómo se está creando nuestro repositorio y, una vez que ArtifactHub pueda extraer los datos, también comenzará a reflejarse en las búsquedas. Ahora queremos aplicar la etiqueta de editor verificado de una forma similar a la siguiente

Para ello necesitamos añadir un archivo artifacthub-repo.yml en el gh-pages branch como un archivo de metadatos que ArtifactHub leerá a cambio de verificar que somos los propietarios del registro.
- Copia el ID del repositorio que hemos creado.
- Crea un archivo con el nombre
artifacthub-repo.ymlen elgh-pagessucursal con los siguientes contenidos
ID del repositorio: 67d52f16-b102-4661-bfa5-9e6694587e24
propietarios: # (opcional, se usa para reclamar la propiedad del repositorio)
- nombre: Vedant Pareek
correo electrónico: dunefro@gmail.com
- Actualiza el version de tu gráfico para que ArtifactHub y GitHub Actions puedan recogerlo.
- Espere un momento a que ArtifactHub realice la comprobación del registro.
Esta es la misma forma en la que solíamos alojar nuestras listas de éxitos públicas en Verdadera fundición. TrueFoundry sí TRAPEADOR, LLMOP plataforma que facilita todo el ciclo de vida de llevar los modelos de aprendizaje automático del desarrollo a la producción. Tiene en cuenta todos los puntos débiles a lo largo del ciclo de vida del aprendizaje automático para brindar facilidad y comodidad a la hora de crear modelos.
TrueFoundry AI Gateway ofrece una latencia de entre 3 y 4 ms, gestiona más de 350 RPS en una vCPU, se escala horizontalmente con facilidad y está listo para la producción, mientras que LitellM presenta una latencia alta, tiene dificultades para superar un RPS moderado, carece de escalado integrado y es ideal para cargas de trabajo ligeras o de prototipos.
La forma más rápida de crear, gobernar y escalar su IA



















.png)


.webp)




.webp)







