Services

Overview

In Kubernetes, Service resources are primarily used for providing intra-mesh connectivity and load balancing capabilities by providing DNS resolution using the {{service}}.{{namespace}}.svc.cluster.local URI pattern.

Many RCKMS Kubernetes Workloads expect this pattern for east/west, service-to-service communication, typically configured via container environment variables.

AIMS Environments

Common Shape

As Rancher abstracts much of the common Kubernetes resource types into its own schemas, when we describe services, we are referring to dns entities listed under Cluster > Resources > Workloads > Service Discovery.

Unless otherwise specified, usage of type ClusterIP, mapping service port 80 to the commonly used primary container port 8080, and a selector targeting each workload is suitable for the requirements of the RCKMS platform.

Ingress Controllers

Provisioning external-to-cluster endpoints is accomplished by two mechanisms:

  • AWS Elastic Load Balancers (ELB), which map various *.aimsplatform.org hostnames to AWS Elastic Kubernetes Service (EKS) resources, which in turn map to...

  • Load Balancing targets in Rancher (L7 Ingress entities found under Cluster > Resources > Workloads > Load Balancing)

On a workload-by-workload basis, these load balancing targets can be further classified as:

  • Essential, meaning they are required for nominal operation of the RCKMS platform, which include the following workloads:

    • In the authoring environment, MTS, RRS, and SS

    • In the reportability environment, SS

  • Non-Essential (Diagnostic), meaning they are not required to be exposed for nominal operation of the RCKMS platform, but by being exposed, can greatly improve the troubleshooting and triage of production issues by both Ruvos and HLN operators.

Last updated