Skip to content

Latest commit

 

History

History
88 lines (65 loc) · 3.66 KB

README.md

File metadata and controls

88 lines (65 loc) · 3.66 KB

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