Deploy Seeker Server on Kubernetes
Build and deploy prepackaged server Docker images on Kubernetes.
- A Seeker installer file, for example, seeker-server-linux64-2024.10.0.sh or seeker-server-linux-arm64-2024.10.0.sh, has been copied to the /seeker_docker/images/installer/ folder.
- You have run the installer on Linux, and have access to:
- A Kubernetes cluster version 1.19 or higher
- A Docker registry with push authorization
- Helm version 2.x/3.x
After you have chosen the Kubernetes/Docker Compose deployment option in the installer, the Seeker Docker deployment package is downloaded and extracted into the seeker_docker subfolder of the installation folder.
To deploy the Seeker server on Kubernetes, perform the following steps:
-
Set the
DOCKER_REGISTRY
environment variable to your Docker registry host name, for example,my-registry.azurecr.io
, and run thebuild
script to build and publish all the images to your registry.cd images export DOCKER_REGISTRY=my-registry.azurecr.io ./build.sh
-
Navigate to the Seeker Helm chart folder.
cd orchestrators/kubernetes/seeker
-
Create the Seeker namespace.
kubectl create ns seeker
-
As of version 2022.8.0, a database password is required for every deployment.
Create a secret to hold your database password.
-
Choose one of the installation options:
- Install the Seeker chart
(default).
helm install --namespace seeker --set registry=${DOCKER_REGISTRY} --set externalDatabasePasswordSecret=seeker-dbpass seeker .
- Install with sizing restrictions.
Depending on your Seeker deployment size, use the following command with the corresponding file name, for example,
medium.yaml
.helm install --namespace seeker --set registry=${DOCKER_REGISTRY} --set externalDatabasePasswordSecret=seeker-dbpass -f medium.yaml seeker .
For recommendations regarding deployment sizes, see Sizing Guidelines.
- Install with a user-managed
database.
helm install \ --namespace seeker \ --set registry=${DOCKER_REGISTRY} \ --set seekerManagedDatabase.enabled=false \ --set externalDatabaseHost=database-host \ --set externalDatabasePort=5432 \ --set externalDatabaseName=seeker-db \ --set externalDatabaseUsername=seeker-user \ --set externalDatabasePasswordSecret=seeker-dbpass \ -f medium.yaml \ seeker .
- Install the Seeker chart
(default).
kubectl get pods -n seeker
NAME READY STATUS RESTARTS AGE
seeker-nginx-d744bdf9d-jz2q6 1/1 Running 0 50s
seeker-postgres-7ccb44cdd7-6wqq5 1/1 Running 0 50s
seeker-sensor-5c474bf4f-dw2dr 1/1 Running 0 50s
seeker-server-67df999d68-m7zjt 1/1 Running 0 50s
- If you are using a single-node Kubernetes cluster, such as the one available when running Docker on a personal computer, the Seeker container exposes the 30080 (HTTP) and 30443 (HTTPS) ports of your cluster.
- For multi-node Kubernetes clusters, configure your ingress controller to route external traffic to the Seeker service inside your cluster.
If you need to upgrade your Seeker server deployment from versions before 2022.8.0, see Upgrade on Kubernetes.