Kubernetes Minimal
A minimal deployment of Binacle.Net on an existing Kubernetes cluster.
π οΈ Prerequisites
- An existing Kubernetes cluster.
- One or more eshops already running in the cluster, typically with Nginx Ingress Controller.
- Binacle.Net will run in the same cluster and not be exposed.
kubectlconfigured to interact with your cluster.
π₯ Download the following files
βοΈ Customize
Edit the JSON in binacle-presets-configmap.yaml to use your own bins.
binacle-pvc.yamlassumes your cluster has dynamic provisioning enabled. Otherwise you will need to create a corresponding PersistentVolume.
The CPU and memory values in
binacle-deployment.yamlare a starting point. Measure your own load and adjust them. There is deliberately no CPU limit: packing is CPU bound, and a limit throttles a request mid-solve rather than letting it finish and free the CPU.
π Running the Application
Apply the configurations:
kubectl apply -f binacle-pvc.yaml
kubectl apply -f binacle-presets-configmap.yaml
kubectl apply -f binacle-deployment.yaml
kubectl apply -f binacle-net-service.yaml
This launches the Binacle.Net API with:
- π Custom Presets: loaded from your
binacle-presets-configmap.yaml. - π Logs Folder: a persistent volume for application logs.
- βοΈ Service: a ClusterIP service for internal communication within the cluster.
π Accessing the API
Once the deployment is running, other services in the same cluster reach the API on:
http://binacle-net-service:8080/
π Behind an ingress controller
An ingress controller is a proxy, so the app sees its address rather than the callerβs. If you restrict health checks by IP, or run the Service Module with rate limiting, enable Forwarded Headers as well.