Service Onboarding

Create Service Deployment Templates

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.


Input Fields and Their Purpose

Source Code

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"

Compute (Requests and Limits)

  1. 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.

  1. 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


Networking

  1. 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"

  1. 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"


Environment Variables

  • 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"


Advanced Settings

  • 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"


How Scoutflo Uses This Information

  1. Container Deployment:

    • Scoutflo uses the selected container registry and registry image to pull the container image for the service.

  2. Service Configuration:

    • The provided compute, networking, and environment variables configure the Kubernetes Deployment and Service resources.

  3. 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.

  4. Cost Estimation:

    • Scoutflo calculates the estimated cost based on the requested and limited resources for transparency in resource usage.

Last updated