|
Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado. |
Creando Apps
|
Para una guía completa sobre el desarrollo de gráficos, consulta el Guía del desarrollador de plantillas de gráficos en la documentación oficial de Helm. |
Tipos de gráficos
Rancher admite dos tipos diferentes de gráficos: gráficos de Helm y gráficos de Rancher.
Charts de Helm
Los gráficos de Helm nativos incluyen una aplicación junto con otro software necesario para ejecutarla. Al desplegar gráficos de Helm nativos, puedes proporcionar los valores de los parámetros del gráfico en un editor YAML.
Gráficos de Rancher
Los gráficos de Rancher son gráficos de Helm nativos con dos archivos que mejoran la experiencia del usuario: app-readme.md y questions.yaml. Lee más sobre ellos en Archivos adicionales para gráficos de Rancher.
Los gráficos de Rancher añaden descripciones simplificadas de gráficos y formularios de configuración para facilitar el despliegue de la aplicación. Los usuarios de Rancher no necesitan leer toda la lista de variables de Helm para entender cómo lanzar una aplicación.
Estructura del directorio de gráficos
Puedes proporcionar gráficos de Helm en un repositorio de Helm estándar basado en HTTP. Para más información, consulta el Guía del repositorio de gráficos en la documentación oficial de Helm.
Alternativamente, puedes organizar tus gráficos en un repositorio de Git y añadirlo directamente al mercado de aplicaciones.
La siguiente tabla demuestra la estructura del directorio para un repositorio de Git. El directorio charts es el directorio de nivel superior bajo la base del repositorio. Agregar el repositorio a Rancher expondrá todos los gráficos contenidos en él. Los archivos questions.yaml, README.md y requirements.yml son específicos para los gráficos de Rancher, pero son opcionales para la personalización del gráfico.
<Repository-Base>/ │ ├── charts/ │ ├── <Application Name>/ # This directory name will be surfaced in the Rancher UI as the chart name │ │ ├── <App Version>/ # Each directory at this level provides different app versions that will be selectable within the chart in the Rancher UI │ │ │ ├── Chart.yaml # Required Helm chart information file. │ │ │ ├── questions.yaml # Form questions displayed within the Rancher UI. Questions display in Configuration Options.* │ │ │ ├── README.md # Optional: Helm Readme file displayed within Rancher UI. This text displays in Detailed Descriptions. │ │ │ ├── requirements.yml # Optional: YAML file listing dependencies for the chart. │ │ │ ├── values.yml # Default configuration values for the chart. │ │ │ ├── templates/ # Directory containing templates that, when combined with values.yml, generates Kubernetes YAML.
Archivos adicionales para gráficos de Rancher
Antes de crear tu propio catálogo personalizado, deberías tener un entendimiento básico sobre cómo un gráfico de Rancher difiere de un gráfico nativo de Helm. Los gráficos de Rancher difieren ligeramente de los gráficos de Helm en sus estructuras de directorio. Los gráficos de Rancher incluyen dos archivos que los gráficos de Helm no tienen.
-
app-readme.mdUn archivo que proporciona texto descriptivo en el encabezado de la interfaz de usuario del gráfico.
-
questions.ymlUn archivo que contiene preguntas para un formulario. Estas preguntas del formulario simplifican el despliegue de un gráfico. Sin él, debes configurar el despliegue utilizando una configuración YAML de valores, lo cual es más difícil. Las siguientes imágenes muestran la diferencia entre un gráfico de Rancher (que incluye
questions.yml) y un gráfico nativo de Helm (que no lo incluye).
questions.yml
questions.ymlChart.yaml
Anotaciones
Rancher soporta anotaciones adicionales que puedes añadir al archivo Chart.yaml. Estas anotaciones te permiten definir dependencias de aplicaciones o configurar valores predeterminados adicionales de la interfaz de usuario:
| Anotación | Descripción | Ejemplo |
|---|---|---|
catalog.cattle.io/auto-install |
Si se establece, instalará el gráfico especificado en la versión especificada antes de instalar este gráfico |
other-chart-name=1.0.0 |
catalog.cattle.io/display-name |
Un nombre de visualización que debería mostrarse en el mercado de aplicaciones en lugar del nombre del gráfico |
Nombre de visualización del gráfico |
catalog.cattle.io/namespace |
Un espacio de nombres fijo donde el gráfico debería ser desplegado. Si se establece, esto no puede ser cambiado por el usuario |
espacio-de-nombres-fijo |
catalog.cattle.io/release-name |
Un nombre de lanzamiento fijo para la instalación de Helm. Si se establece, esto no puede ser cambiado por el usuario |
nombre-de-lanzamiento-fijo |
catalog.cattle.io/requests-cpu |
Cantidad total de CPU que debería estar no reservada en el clúster. Si hay menos CPU disponible, se mostrará una advertencia |
2000m |
catalog.cattle.io/requests-memory |
Cantidad total de memoria que debería estar no reservada en el clúster. Si hay menos memoria disponible, se mostrará una advertencia |
2Gi |
catalog.cattle.io/os |
Restringe el sistema operativo donde este gráfico puede ser instalado. Valores posibles: |
linux |
questions.yml
Dentro del questions.yml, la mayor parte del contenido girará en torno a las preguntas que hacer al usuario final, pero hay algunos campos adicionales que se pueden establecer en este archivo.
Versiones mínimas/máximas de Rancher
Para cada gráfico, puedes añadir la versión mínima y/o máxima de Rancher, que determina si este gráfico está disponible para ser desplegado desde Rancher.
|
A pesar de que las versiones de lanzamiento de Rancher están precedidas por un |
rancher_min_version: 2.3.0 rancher_max_version: 2.3.99
Referencia de variable de pregunta
Esta referencia contiene variables que puedes usar en questions.yml anidadas bajo questions:.
| Variable | Tipo | required | Descripción |
|---|---|---|---|
variable |
cadena |
true |
Define el nombre de la variable especificado en el archivo |
etiqueta |
cadena |
true |
Define la etiqueta de la interfaz de usuario. |
description |
cadena |
false |
Especifica la descripción de la variable. |
tipo |
cadena |
false |
Por defecto es |
obligatorio |
bool |
false |
Define si la variable es requerida o no (verdadero | falso) |
por defecto |
cadena |
false |
Especifica el valor por defecto. Solo se utiliza si no hay un valor correspondiente en el archivo |
grupo |
cadena |
false |
Agrupa preguntas por valor de entrada. |
min_length |
int |
false |
Longitud mínima de caracteres. |
max_length |
int |
false |
Longitud máxima de caracteres. |
min |
int |
false |
Valor entero mínimo. |
max |
int |
false |
Valor entero máximo. |
options |
[]cadena |
false |
Especifica las opciones cuando el tipo de variable es |
valid_chars |
cadena |
false |
Expresión regular para la validación de caracteres de entrada. |
invalid_chars |
cadena |
false |
Expresión regular para la validación de caracteres de entrada no válidos. |
subpreguntas |
[]subpregunta |
false |
Añadir un array de subpreguntas. |
show_if |
cadena |
false |
Mostrar la variable actual si la variable condicional es verdadera. Por ejemplo |
show_subquestion_if |
cadena |
false |
Mostrar subpreguntas si es verdadero o igual a una de las opciones. Por ejemplo |
|
|