Instalar Budibase en el clúster de Kubernetes

Kubernetes

Instale Budibase en el clúster de Kubernetes.

Antes de que podamos comenzar a usar Budibase en Kubernetes, debemos instalar algunas utilidades de línea de comandos. Siga la guía a continuación para instalar Kubectl y Helm.

:::consejo
Recomendamos ejecutar en nodos K8S con al menos 2 GB de memoria, pero para casos de uso de mayor capacidad recomendamos instancias más grandes.
:::

Instalar un clúster de Kubernetes

Si aún no tiene un clúster de Kubernetes existente, siga una de las siguientes guías para su proveedor.

Instalar el gráfico de timón de Budibase

Ahora que su clúster de Kubernetes está en funcionamiento, puede instalar el gráfico de timón de Budibase, que proporcionará toda la infraestructura relevante para ejecutar Budibase en un entorno K8S. Ejecute los siguientes comandos para descargar el gráfico de timón de nuestro repositorio e instalarlo.

::: consejo
Debe instalar Budibase en un espacio de nombres de Kubernetes llamado Budibase. Esto ayuda a aislar los recursos de Budibase del resto del clúster.
:::

helm repo add budibase https://budibase.github.io/budibase/
helm repo update
helm install --create-namespace --namespace budibase budibase budibase/budibase

Espere un momento, Budibase creará todos los contenedores y recursos. Entonces puedes ejecutar:

kubectl get pods -n budibase

Ahora debería poder ver el instalador de Budibase funcionando en su clúster K8S.

[Falló la transferencia de la imagen del enlace externo, el sitio de origen puede tener un mecanismo anti-leeching, se recomienda guardar la imagen y cargarla directamente (img-YuOc9IiB-1650374896976)(https://res.cloudinary.com/daog6scxm/image /upload/v1646670651/docs /Captura de pantalla_2021-08-16_en_22.19.58_pnzppx.png)]

Debe obtener la dirección IP del controlador de ingreso. Budibase utiliza el controlador de ingreso NGINX para dirigir el tráfico entrante a otros servicios de Budibase.

Puede acceder a la instalación de Budibase utilizando la dirección IP del controlador de entrada, que puede obtener con el siguiente comando:

kubectl get ingress -n budibase

Visite la URL de entrada en su navegador y verá la instalación de Budibase en funcionamiento.

Interfaz de administración de Budibase

Gráfico de actualización

Para obtener lo último y lo mejor, puede ejecutar el siguiente comando para actualizar el repositorio e instalar el último Budibase Helm Chart en su entorno.

helm repo update
helm upgrade budibase-kubernetes budibase/budibase

configuración

balanceo de carga

De forma predeterminada, Budibase configura un controlador de entrada NGINX básico para enrutar el tráfico a su servicio de Budibase. Si desea ejecutar su propio balanceador de carga, puede apagar el controlador de entrada NGINX incluido con Budibase y ejecutar su propio controlador de entrada.

ingress:
  nginx: false
  aws: true

Utilice un nombre de dominio personalizado

Si instaló con un nombre de dominio personalizado, debe agregarlo a la sección de host del controlador de ingreso en values.yaml. Observe cómo agregamos yourdomain.com. Entonces debería poder agregar un registro A a su proveedor de DNS que apunte a la URL de su controlador de ingreso.

ingress:
  enabled: true
  nginx: true
  className: ""
  annotations: 
    kubernetes.io/ingress.class: nginx
  hosts:
    - host: yourdomain.com
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: proxy-service
            port:
              number: 10000 

Ampliar Budibase

Puede escalar nodos en su instalación actualizando el número de réplicas para un servicio determinado en el archivo values.yaml del gráfico de helm de Budibase. Por ejemplo, si queremos ampliar el servicio de la aplicación y el trabajador debido a una carga alta, podemos actualizar nuestro archivo values.yaml para tener un número de réplicas más alto. Después de actualizar, actualice su gráfico para aplicar los cambios.

services:
  dns: cluster.local

  proxy:
    port: 10000
    replicaCount: 1

  apps:
    port: 4002
    replicaCount: 2
    logLevel: info

  worker:
    port: 4001
    replicaCount: 2

Gestión de secretos

Si establece createSecrets en true en values.yaml, budibase creará las siguientes credenciales para usted:

  • clave de API interna, que se puede utilizar para solicitudes de API.
  • Un secreto JWT
  • Clave de acceso al almacenamiento de objetos (si usa MinIO)
  • Clave de almacenamiento de objetos (si usa MinIO)

Si necesita leer el valor de una clave, puede usar kubectl con el siguiente comando para leer el valor de una clave k8s:

# for internal API key
kubectl get secret budibase-budibase -o go-template='{
   
   { .data.internalApiKey }}' -n budibase | base64 --decode

# JWT secret
kubectl get secret budibase-budibase -o go-template='{
   
   { .data.jwtSecret }}' -n budibase | base64 --decode

# MinIO Access Key
kubectl get secret budibase-budibase -o go-template='{
   
   { .data.objectStoreAccess }}' -n budibase | base64 --decode

# MinIO Secret Key
kubectl get secret budibase-budibase -o go-template='{
   
   { .data.objectStoreSecret }}' -n budibase | base64 --decode

redis

El gráfico de timón de Budibase viene con un servidor Redis incluido de forma predeterminada. Si desea utilizar su propio clúster de Redis externo, puede configurar el archivo values.yaml en el gráfico de helm y desactivar uno de Budibase al habilitarlo. Si desea omitir el paquete predeterminado de Redis y usar un clúster de Redis externo alojado en myrediscluster.io, su configuración podría tener este aspecto.

  redis:
    enabled: false # disable if using external redis
    port: 6379
    replicaCount: 1
    host: "myrediscluster.io"
    password: "your-redis-password"

CouchDB

El gráfico de timón de Budibase iniciará automáticamente un clúster de couchDB de 3 nodos en su entorno. Si prefiere utilizar una instancia existente de CouchDB, puede desactivar la proporcionada por Budibase y apuntar a su propia instancia. Tenga en cuenta que debe tener la búsqueda instalada en su clúster de CouchDB para usar todas las funciones de búsqueda proporcionadas por Budibase. Aquí hay una configuración de ejemplo de cómo apuntar Budibase a una instalación de CouchDB alojada en mycouch.io:

  couchdb:
    enabled: false
    replicaCount: 3
    url: "http://mycouch.io:1234"
    user: "couchuser"
    password: "couchpassword"

MinIO/Amazon S3

Budibase se envía con un servidor MinIO para el almacenamiento de objetos. Dado que MinIO es compatible con Amazon S3, puede cambiar el MinIO incluido por los depósitos de S3 en su cuenta de AWS. Este es el aspecto que debe tener values.yaml si desea usar S3 en lugar de MinIO.

  objectStore:
    minio: false
    browser: false
    port: 9000
    replicaCount: 1
    accessKey: "your-access-key" # AWS_ACCESS_KEY
    secretKey: "your-secret-key" # AWS_SECRET_ACCESS_KEY

solución de problemas

Problemas de conexión en el clúster

Asegúrese de que su instalación de Budibase se esté ejecutando en el espacio de nombres de Budibase en Kubernetes. El proxy que enruta el tráfico al servicio Budibase se basa en esto.

¿Todavía tienes preguntas?

Si necesita ayuda o encuentra un error, presente una discusión en nuestro foro de discusión de GitHub. Para las instalaciones de Kubernetes, intente incluir la siguiente información en sus debates:

Qué proveedor de K8S está utilizando (AWS/MiniKube, etc.)
Una captura de pantalla/registro del error que está ocurriendo Una
captura de pantalla de sus valores.yaml si cambió alguna configuración
Cualquier otra cosa relacionada con el problema que está teniendo.

Supongo que te gusta

Origin blog.csdn.net/weixin_42553583/article/details/124284125
Recomendado
Clasificación