Deploying on Other Platforms
This page covers deployment options for ECS and generic Kubernetes clusters.
Deploying on Amazon ECS
Coming Soon
Detailed ECS deployment documentation is under development. Contact LimePoint Support for assistance with ECS deployments.
General ECS Guidelines
The consumer can be deployed on Amazon ECS using similar principles as Docker deployment:
- Create an ECS Cluster - Set up your ECS cluster in AWS
- Create a Task Definition - Define the container configuration
- Configure Secrets - Use AWS Secrets Manager for sensitive data
- Set up Service - Create an ECS service to manage the containers
Task Definition Example
{
"family": "solifi-consumer",
"containerDefinitions": [
{
"name": "solifi-consumer",
"image": "limepoint/solifi-consumer:2.2.4",
"memory": 2048,
"cpu": 1024,
"essential": true,
"portMappings": [
{
"containerPort": 8080,
"hostPort": 8080
}
],
"environment": [
{
"name": "spring.config.additional-location",
"value": "/config/application.yml"
}
],
"mountPoints": [
{
"sourceVolume": "config",
"containerPath": "/config"
}
]
}
]
}
Deploying on Generic Kubernetes
For non-Azure Kubernetes clusters (GKE, EKS, on-premises), the deployment process is similar to AKS deployment.
Key Steps
-
Create namespace (optional but recommended):
kubectl create namespace solifi -
Create Docker registry secret:
kubectl create secret docker-registry regcred \
--docker-server=https://index.docker.io/v1/ \
--docker-username=<limepoint_username> \
--docker-password=<limepoint_password> \
-n solifi -
Create ConfigMap:
kubectl create configmap consumer-config \
--from-file=application.yml \
--from-file=license.license \
--from-file=sign256.sign \
-n solifi -
Apply deployment:
kubectl apply -f deployment.yml -n solifi
Deployment YAML
apiVersion: apps/v1
kind: Deployment
metadata:
name: solifi-consumer
namespace: solifi
spec:
replicas: 1
selector:
matchLabels:
app: solifi-consumer
template:
metadata:
labels:
app: solifi-consumer
spec:
containers:
- name: solifi-consumer
image: limepoint/solifi-consumer:2.2.4
env:
- name: spring.config.additional-location
value: "/config/application.yml"
volumeMounts:
- name: config-volume
mountPath: /config
readOnly: true
ports:
- containerPort: 8080
resources:
requests:
memory: "2Gi"
cpu: "1"
limits:
memory: "4Gi"
cpu: "2"
imagePullSecrets:
- name: regcred
volumes:
- name: config-volume
configMap:
name: consumer-config
Platform-Specific Considerations
Google Kubernetes Engine (GKE)
- Use Google Secret Manager for sensitive configuration
- Consider using Workload Identity for service accounts
- Use Cloud SQL for managed database
Amazon EKS
- Use AWS Secrets Manager for sensitive configuration
- Consider using IAM Roles for Service Accounts (IRSA)
- Use RDS for managed database
On-Premises Kubernetes
- Ensure proper network connectivity to Kafka brokers
- Consider using persistent volumes for logging
- Set up proper ingress for health endpoints
Need Help?
For platform-specific deployment assistance, contact LimePoint Support.
Next Steps
- Set up health monitoring
- Learn about running multiple consumers
- Configure scaling