The purpose of this documentation is to detail the tools and commands required to create infrastructure in your chosen cloud (GCP, AWS, Azure) which will support the installation of kdb Insights Enterprise. Please read the overview documentation and then navigate to the link for your chosen cloud.
The materials provided will create a managed Kubernetes cluster in any of the 3 major cloud providers. Once provisioned the cluster will be capable of running kdb Insights Enterprise.
The following diagram shows a high level overview of the Cloud infrastructure required to run a kdb Insights Enterprise deployment.
The Kubernetes cluster is deployed into a private network and is only accessible via VPN.
The following components are installed to support the kdb Insights Enterprise deployment:
Cloud Provider resources
- Virtual Network
- Public subnets used by the bastion host and any resources created by the Kubernetes cluster (e.g. Load Balancer)
- Private subnets to deploy the Kubernetes worker nodes
- Bastion Host running on a Compute instance which acts as a VPN server to provide access to the Kubernetes cluster
- Kubernetes Cluster using the Cloud Provider's managed service (AKS,EKS,GKE)
- cert-manager 1.7.1 (generates certificates for any endpoint exposed by nginx-ingress)
- nginx-ingress 4.0.6 (exposes kdb Insights Enterprise endpoint which can be either REST API or Web Interface)
- rook-ceph 1.9.10 (provides a shared filesystem for kdb Insights Enterprise)
- A Storage Class named sharedfiles that is backed by shared storage. A recommended option is to deploy the cloud provider's CSI driver that implements network file storage (AWS,Azure,GCP)
kdb Insights Enterprise is not compatible with rolling updates on Azure AKS. Rolling updates should be disabled in the AKS cluster where kdb Insights Enterprise is deployed.
To simplify the process, a Dockerfile is provided to generate a Docker image which is used primarily during cluster deployment but can also be used to install and manage the kdb Insights Enterprise installation. The Docker image includes all tools needed to deploy the cluster to avoid the process of installing multiple tools which could introduce issues on the deployment workstation.