Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...


This chapter provides information on how to deploy the product for testing purposes. Keep in mind that the guidelines provided below are not considered the best practices and do not take into account security settings and password encryption. This deployment has been tested with a specific Kubernetes version, CNI, container runtime, and OS. If you use other solutions, use them at your own risk.

Note
titlePrerequisites
  • Kubernetes cluster (for more information, refer to https://kubernetes.io/):
    • 1 virtual machine used as the control plane node and 3 nodes used as worker nodes
      Warning

      The names of worker nodes must match their FQDN.

    • Control plane node: 4 CPU cores, 8GB RAM
    • Worker node: 16 CPU cores, at least 64GB RAM (depends on your deployment size)
  • Kubernetes version: v1.28 or later
  • Container runtime: Containerd (for more information, refer to https://containerd.io/)
  • CNI: Calico
  • Load Balancer: MetalLB
    Warning

    Most cloud providers do not support MetalLB.

  • IP: 1 IP address with the DNS A record that points to this IP (IP from your network that is not used by your cluster nodes).
  • Ingress: ingress-nginx (with sticky session support).
    Info
    Note that there are two nginx ingresses: ingress-nginx is maintained by the Kubernetes community, while nginx-ingress is maintained by F5 inc. The free F5 inc. version of nginx-ingress does not support “sticky sessions” which are required. Therefore, make sure you use ingress-nginx.
  • A Host with Docker or Podman to build images and push them to the image registry.
  • An image registry (repository) such as Harbor, Sonatype Nexus, Gitlab, or Docker registry server to push and pull the images you will build.
  • The applications needed to run Teamwork Cloud and services:

...