Server OS preparation
Provision every node with Ubuntu, assign static IPs and increase the kernel limits. Generate wildcard TLS certificates for each cluster and update nodes with the latest security patches.
Linux · Bash · OpenSSL
Every engagement runs the same scripted sequence, so the timeline, the scope and the outcome are known before we start.
From a fresh server rack to production handoff in exactly one week, executed with automated shell scripts and GitOps pipelines.
Provision every node with Ubuntu, assign static IPs and increase the kernel limits. Generate wildcard TLS certificates for each cluster and update nodes with the latest security patches.
Linux · Bash · OpenSSL
Deploy the Bind9 DNS cluster with Keepalived and build the HAProxy load balancer cluster with VRRP failover. Bootstrap the Admin, Workload and Storage Kubernetes clusters via kubeadm.
Bind9 · HAProxy · kubeadm
Setup GitLab CE and enable automated backups of the GitLab instace. Import the platform repositories, deploy Argo CD and configure each control plane to pull manifests from Git.
GitLab CE · Docker · Argo CD
Deploy the Gateway API and Istio Ambient mode for mTLS. Build the Rook-Ceph storage cluster on dedicated OSD nodes and connect the the clusters to shared persistent volumes.
Rook-Ceph · Istio Ambient
Install the Harbor OCI registry on the Admin cluster, then deploy Jenkins with dynamic Agents on the Workload cluster and create CI/CD pipelines with Cosign image signing.
Harbor · Cosign · Jenkins
Roll out Prometheus with Thanos sidecars, add Grafana, Loki and Tempo. Federate metrics, logs and traces from all clusters into the Admin cluster for observability and monitoring.
Prometheus · Thanos · Loki · Tempo
We deploy a Spring MVC reference application, run failover drills across DNS, load balancer and control plane VIPs, then hand over the GitOps repositories and operational documentation.
Deliverable
Production-ready platform
The recommended number of nodes for the platform is 27, to enable full high availability and better performance.
| Role | Nodes | Detail |
|---|---|---|
| Load balancers | 3 nodes | HAProxy + Keepalived, shared virtual IP |
| DNS servers | 3 nodes | Bind9 cluster with VRRP failover |
| Admin cluster | 7 nodes | HA control plane, platform tooling workers |
| Workload cluster | 7 nodes | HA control plane, application workers |
| Storage cluster | 6 nodes | Ceph monitors and OSD nodes |
| GitLab server | 1 node | Dedicated source of truth, outside the clusters |
We do not claim resilience — we break the platform in front of you and show it staying up.
The Keepalived VIP is moved between Bind9 nodes while resolution is under load — queries continue to answer without a dropped lookup.
The active HAProxy node is taken offline; the standby claims the VIP and ingress traffic keeps flowing to the workload cluster.
A control plane member is drained, etcd keeps quorum, the API server stays reachable through the VIP and workloads are untouched.
A Ceph OSD node is removed to demonstrate replication, automatic rebalancing and uninterrupted persistent volume access.
Every cluster manifest, Helm value and pipeline definition, in GitLab, reconciled by Argo CD applications.
Step-by-step procedures for upgrades, certificate rotation, GitLab backup and restore, and node replacement.
Kubeconfigs, registry robot accounts, Cosign keys and dashboard access transferred to your team.
Send us your server inventory and target workloads. We'll come back with a topology, a fixed quote and a start date — usually within one business day.