Service Onboarding
Last updated
Last updated
Once a container registry is added, you can create service deployment templates to onboard and deploy your services seamlessly. This feature allows you to configure all the necessary details about your service, such as its source code, runtime settings, and resource allocations, in one place. Scoutflo simplifies Kubernetes service deployment by combining GitOps workflows with intuitive UI-driven configurations.
This Service Cataloge will have all your added Service templates listed.
1. Service Name
Field Name: Service Name
Description: A unique, user-defined name for your service.
Purpose: This name is used to identify the service in Scoutflo and Kubernetes deployments.
Example Input: "Backend Auth Service"
2. Container Registry
Field Name: Container Registry
Description: The previously configured container registry where the service's container images are stored. You can select from the registries added in Step 3 (e.g., AWS ECR or Docker Hub).
Purpose: Scoutflo pulls the container image from the selected registry for deployment.
Example Input: "Production ECR Registry"
3. Registry Image
Field Name: Registry Image
Description: Specifies the version tag of the container image to deploy.
Purpose: Allows you to deploy specific versions of your container image.
Example Input: "latest"
, "v1.0.1"
4. Description
Field Name: Description
Description: A brief explanation of the service's purpose or functionality.
Purpose: Helps provide context for the service within Scoutflo and Kubernetes environments.
Example Input: "Backend server for user authentication and authorization."
5. Repository URL
Field Name: Repository URL
Description: The URL of the GitHub repository containing your service’s code.
Purpose: Scoutflo uses this to link your service's codebase for GitOps workflows.
Example Input: "https://github.com/MyApp/Auth-Service"
6. Service Type
Field Name: Service Type
Description: Specifies the type of Kubernetes service (e.g., ClusterIP, LoadBalancer, NodePort).
Purpose: Determines how the service will be exposed within the Kubernetes cluster or externally.
Example Input: "ClusterIP"
Requests
Fields: CPU
and Memory
Description:
Requests: Minimum resources guaranteed to the service.
CPU: Measured in millicores (e.g., 20m
= 0.02 CPU).
Memory: Measured in megabytes (e.g., 512MB
).
Purpose: Ensures the service has sufficient resources to run efficiently.
Limits
Fields: CPU
and Memory
Description:
Limits: Maximum resources the service can consume.
CPU: Measured in millicores.
Memory: Measured in megabytes.
Purpose: Prevents the service from over-consuming cluster resources.
Example Input:
Requests: CPU: 20m
, Memory: 512MB
Limits: CPU: 20m
, Memory: 512MB
Protocol
Field Name: Protocol
Description: Specifies the protocol used by the service for communication (e.g., HTTP, HTTPS).
Purpose: Determines how the service handles incoming requests.
Example Input: "HTTP"
Port
Field Name: Port
Description: The port on which the service will be exposed.
Purpose: Configures the service to listen for requests on a specific port.
Example Input: "80"
Field Name: Environment Variables
Description: Key-value pairs used to pass runtime configuration values to the service.
Purpose: Allows you to dynamically configure the service without modifying the codebase.
Example Input:
Key: "NODE_ENV"
Value: "production"
Tags
Fields: Tag Name
and Tag Value
Description: User-defined metadata for categorizing and identifying services.
Purpose: Helps in organizing and filtering services in Scoutflo.
Example Input:
Tag Name: "Environment"
Tag Value: "Production"
Container Deployment:
Scoutflo uses the selected container registry and registry image to pull the container image for the service.
Service Configuration:
The provided compute, networking, and environment variables configure the Kubernetes Deployment and Service resources.
GitOps Workflow:
The repository URL and tags link the service configuration to a GitOps pipeline. This ensures changes to the configuration are tracked in version control.
Cost Estimation:
Scoutflo calculates the estimated cost based on the requested and limited resources for transparency in resource usage.