Skip to content

Latest commit

 

History

History

k8s

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Team Edition Helm chart for Kubernetes

Minimum requirements

Deployment

How to run services

Note: If you want to store Team Edition data in cloud storage, make sure to configure cloud volumes first.

  1. Clone this repository from GitHub: git clone https://github.com/dbeaver/team-edition-deploy
  2. cd team-edition-deploy/k8s/cbte
  3. cp ./values.example.yaml ./values.yaml
  4. Edit chart values in values.yaml (use any text editor).
  5. Configure domain and SSL certificate:
  • Add an A record in your DNS hosting for a value of cloudbeaverBaseDomain variable with load balancer IP address.
  • Generate internal services certificates:
    On Linux or macOS, run the script to prepare services certificates:
    ./services-certs-generator.sh
  • If you set the HTTPS endpoint scheme, then create a valid TLS certificate for the domain endpoint cloudbeaverBaseDomain and place it into k8s/cbte/ingressSsl:
    • Certificate: ingressSsl/fullchain.pem
    • Private Key: ingressSsl/privkey.pem
  1. Deploy Team Edition with Helm: helm install cloudbeaver-te ./ --values ./values.yaml

Version update procedure

  1. Change directory to team-edition-deploy/k8s/cbte.
  2. Change value of imageTag in configuration file values.yaml with a preferred version. Go to next step if tag latest is set.
  3. Upgrade cluster: helm upgrade cloudbeaver-te ./ --values ./values.yaml

Additional configuration

OpenShift deployment

You need additional configuration changes to deploy Team Edition in OpenShift.

  1. In values.yaml change the ingressController value to haproxy
  2. Add security context: Uncomment the following lines in cloudbeaver-*.yaml files in templates/deployment:
          # securityContext:
          #     runAsUser: 1000
          #     runAsGroup: 1000
          #     fsGroup: 1000
          #     fsGroupChangePolicy: "Always"

Digital Ocean proxy configuration

Edit ingress controller with:

  • kubectl edit service -n ingress-nginx ingress-nginx-controller

and add two lines in the metadata.annotations

  • service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol: "true"
  • service.beta.kubernetes.io/do-loadbalancer-hostname: "cloudbeaverBaseDomain"

AWS ALB configuration

If you want to use AWS Application Load Balancer as ingress controller, follow this instruction.

Clouds volumes configuration