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.

Contribuyendo a SUSE Rancher Prime

Aprende sobre los repositorios utilizados para Rancher y la documentación de Rancher, cómo construir repositorios de Rancher y qué información incluir al presentar un problema.

Para obtener información más detallada sobre cómo contribuir al desarrollo de proyectos de Rancher, consulta el Wiki de Desarrolladores de Rancher. El wiki tiene recursos sobre muchos temas, incluyendo los siguientes:

  • Cómo configurar el entorno de desarrollo de Rancher y ejecutar pruebas

  • El flujo típico de un problema a través del ciclo de vida del desarrollo

  • Directrices de codificación y mejores prácticas de desarrollo

  • Depuración y solución de problemas

  • Desarrollando la API de Rancher

En el Slack de Usuarios de Rancher, el canal para desarrolladores es #developer.

Documentación de Rancher

Si tienes sugerencias para la documentación de este sitio web, abre un problema en el repositorio principal documentación de Rancher. Este repositorio contiene documentación para Rancher v2.0 y versiones posteriores.

Consulta el README de la documentación de Rancher para más detalles sobre cómo contribuir y construir el repositorio de documentación de Rancher v2.x.

Para la documentación que describe Rancher v1.6 y versiones anteriores, consulta el repositorio documentación de Rancher 1.x, que contiene archivos fuente para https://rancher.com/docs/rancher/v1.6/en/.

Repositorios de Rancher

Todos los repositorios están ubicados dentro de nuestra organización principal de GitHub. Hay muchos repositorios utilizados para Rancher, pero proporcionaremos descripciones de algunos de los principales utilizados en Rancher.

Repositorio URL Descripción

Rancher

https://github.com/rancher/rancher

Este repositorio es el código fuente principal para Rancher 2.x.

Tipos

https://github.com/rancher/types

Este repositorio contiene todos los tipos de API para Rancher 2.x.

Marco de API

https://github.com/rancher/norman

Este repositorio es un marco de API para construir APIs al estilo de Rancher respaldadas por Recursos Personalizados de Kubernetes.

Interfaz de usuario

https://github.com/rancher/dashboard/

Este repositorio es la fuente de la interfaz de usuario del Dashboard.

(Rancher) Docker Machine

https://github.com/rancher/machine

Este repositorio es la fuente del binario de Docker Machine utilizado al usar Controladores de Nodo. Este es un fork del repositorio docker/machine.

machine-package

https://github.com/rancher/machine-package

Este repositorio se utiliza para construir el binario de Docker Machine de Rancher.

kontainer-engine

https://github.com/rancher/kontainer-engine

Este repositorio es la fuente de kontainer-engine, la herramienta para aprovisionar clústeres de Kubernetes alojados.

CLI

https://github.com/rancher/cli

Este repositorio es el código fuente para la CLI de Rancher utilizada en Rancher 2.x.

(Rancher) repositorio de Helm

https://github.com/rancher/helm

Este repositorio es la fuente del binario empaquetado de Helm. Este es un fork del repositorio helm/helm.

repositorio loglevel

https://github.com/rancher/loglevel

Este repositorio es la fuente del binario loglevel, utilizado para cambiar dinámicamente los niveles de registro.

Para ver todas las bibliotecas/proyectos utilizados en Rancher, consulta el go.mod archivo en el repositorio rancher/rancher.

diagrama de Rancher
Figure 1. Componentes de Rancher utilizados para aprovisionar/gestionar clústeres de Kubernetes

Construyendo repositorios de Rancher

Cada repositorio debería tener un Makefile y puede ser construido utilizando el comando make. Los objetivos make se basan en los scripts en el directorio /scripts en el repositorio, y cada objetivo utilizará Dapper para ejecutar el objetivo en un entorno aislado. El Dockerfile.dapper se utilizará para este proceso, e incluye todas las herramientas de construcción necesarias.

El objetivo por defecto es ci, y ejecutará ./scripts/validate, ./scripts/build, ./scripts/test y ./scripts/package. Los binarios resultantes de la construcción estarán en ./build/bin y generalmente también se empaquetan en una imagen de Docker.

Errores, problemas o preguntas de Rancher

Si encuentras algún error o tienes algún problema, por favor, busca el problema reportado, ya que alguien puede haber experimentado el mismo problema o estamos trabajando activamente en una solución.

Si no puedes encontrar nada relacionado con tu problema, contáctanos mediante abrir un problema. Aunque tenemos muchos repositorios relacionados con Rancher, queremos que los errores se registren en el repositorio de Rancher para no perdernos ninguno. Si quieres hacer una pregunta o preguntar a otros usuarios sobre un caso de uso, te sugerimos crear una publicación en los Foros de Rancher.

Lista de verificación para informar de problemas

Por favor, sigue esta lista de verificación al informar de un problema, lo que nos ayudará a investigar y solucionar el problema. Más información significa más datos que podemos utilizar para determinar qué está causando el problema o qué podría estar relacionado con el problema.

Para grandes cantidades de datos, por favor utiliza GitHub Gist o similar y enlaza el recurso creado en el problema.

Importante:

Por favor, elimina cualquier dato sensible ya que será visible públicamente.

  • Recursos: Proporciona tantos detalles como sea posible sobre los recursos utilizados. Dado que la fuente del problema puede ser muchas cosas, incluir tantos detalles como sea posible ayuda a determinar la causa raíz. Ve algunos ejemplos a continuación:

    • Hosts: ¿Qué especificaciones tiene el host, como CPU/memoria/disco, en qué nube ocurre, qué Amazon Machine Image estás utilizando, qué droplet de DigitalOcean estás utilizando, qué imagen estás aprovisionando que podamos reconstruir o usar cuando intentemos reproducir?

    • Sistema operativo: ¿Qué sistema operativo estás utilizando? Proporcionar detalles específicos ayuda aquí, como la salida de cat /etc/os-release para la versión exacta del SO y uname -r para el núcleo de Linux exacto utilizado.

    • Docker: ¿Qué versión de Docker estás utilizando, cómo lo instalaste? La mayoría de los detalles de Docker se pueden encontrar proporcionando la salida de docker version y docker info.

    • Entorno: ¿Estás en un entorno de proxy, estás utilizando certificados CA reconocidos/autofirmados, estás utilizando un balanceador de carga externo?

    • Rancher: ¿Qué versión de Rancher estás utilizando? Esto se puede encontrar en la parte inferior izquierda de la interfaz o se puede recuperar del tag de la imagen que estás ejecutando en el host.

    • Clústeres: ¿Qué tipo de clúster creaste, cómo lo creaste, qué especificaste al crearlo?

  • Pasos para reproducir el problema: Proporciona tantos detalles como sea posible sobre cómo llegaste a la situación reportada. Esto ayuda a la persona a reproducir la situación en la que te encuentras.

    • Proporciona pasos manuales o guiones de automatización utilizados para pasar de una configuración recién creada a la situación que reportaste.

  • Registros: Proporciona datos/registros de los recursos utilizados.

    • Rancher

      • Instalación de Docker

          docker logs \
          --timestamps \
          $(docker ps | grep -E "rancher/rancher:|rancher/rancher " | awk '{ print $1 }')
      • Instalación de Kubernetes utilizando kubectl

      Asegúrate de que configuraste el kubeconfig correcto (por ejemplo, export KUBECONFIG=$PWD/kube_config_cluster.yml si Rancher está instalado en un clúster de Kubernetes) o de que estás utilizando el kubectl integrado a través de la interfaz.

      kubectl -n cattle-system \
      logs \
      -l app=rancher \
      --timestamps=true
    • Registro del sistema (es posible que no todos existan, dependiendo del sistema operativo)

      • /var/log/messages

      • /var/log/syslog

      • /var/log/kern.log

    • Registro del daemon de Docker (es posible que no todos existan, dependiendo del sistema operativo)

      • /var/log/docker.log

  • Métricas: Si estás experimentando problemas de rendimiento, por favor proporciona la mayor cantidad de datos (archivos o capturas de pantalla) de métricas que puedan ayudar a determinar qué está sucediendo. Si tienes un problema relacionado con una máquina, es útil proporcionar la salida de top, free -m, df que muestra el uso de procesos/memoria/disco.