3 Guidelines for OSO Installation

Container Naming Convention and limitations

OSO supports having custom prefix and suffix to be configured and used in the container names. The name field in the chart currently supports up to 63 characters only, including the custom "prefix", "suffix" and default "fixed name". Currently the "fixed-name" configured by default for containers without prefix and suffix is as mentioned in Container Naming Convention.

Note:

Users are advised to limit the number of characters up to 63 in the prefix and suffix configuration accordingly to avoid name truncation.

Table 3-1 Container Naming Convention

POD NAME FIXED CONTAINER NAME
Prometheus-server
  • prometheus-server-configmap-reload
  • prometheus
Alertmanager
  • prometheus-alertmanager
  • prometheus-alertmanager-configmap-reload
Pushgateway
  • prometheus-pushgateway
These are the values user need to populate in order to provide suffix and prefix in their container names. These values can be found inside prometheus-custom-values.yaml file.
global:
# prefix & suffix that will be added to k8Resources
  k8Resource:
    container:
      prefix:
      suffix:

Label naming convention guide and limitations

OSO provides three types of label definitions as below to be configured in prometheus-custom-values.yaml file.
  1. Global Labels(allResources): These labels are attached to all K8s resources except those which are service or deployment/statefulsets. Depicted with TYPE1 in the provided sample prometheus-custom-values.yaml file for reference.
  2. LB & NON-LB TYPE label: These labels are attached to load-balancer & non-load balancer types deployments, statefulsets & services. Depicted with TYPE2 in the provided sample prometheus-custom-values.yaml file for reference.
  3. Service specific label: These labels are attached with each service in their specific service-label metadata sections and can be used to uniquely label services regardless of them being load-balancer/non-loadbalancer. Depicted with TYPE3 in the provided sample prometheus-custom-values.yaml file for reference.

Note:

  1. While installing OSO with HELM2, custom/unique labels can be assigned to services.
  2. While installing OSO with HELM3, custom/unique labels can be assigned, if you skip the helm3's Kubernetes OpenAPI Validation that it attempts to perform before installation. While installation with helm3 and specifying custom labels, refer to Installing OSO using CSAR. Users need to be well-versed with these notions and use the labels accordingly. Go through the official helm3 documentation for more information on this.
    These are the values user need to populate in order to provide custom labels for Kubernates resources. These values can be found inside prometheus-custom-values.yaml file.
     customExtension:
    # TYPE1 Label
        allResources:
          labels: {}
    # TYPE2 Labels  
        lbServices:
          labels: {}
     
        nonlbServices:
          labels: {}
     
        lbDeployments:
          labels: {}
     
        nonlbDeployments:
          labels: {}
     
        lbStatefulSets:
          labels: {}
    ..
     
     alertmanager:
    # TYPE-3 Labels: specific to alertmanager service are added here. 
      service:   
        customExtension:
          labels: {}
    # TYPE-3 Labels: specific to alertmanager deployement are added here.      
      deployment:
        customExtension:
          labels: {}

    Note:

    Similar to alertmanager service specific labels, prometheus and pushgateway will have their own TYPE3 labels.
  3. Users would need to create and configure a Service Account along with needed Role and RoleBindings for the intended namespaces. These service accounts be configured in the prometheus-custom-values.yaml file in below parameters to be used by prometheus.
    serviceAccountNamePromSvr: ""
    serviceAccountNameAlertMgr: ""
    serviceAccountNamePushGw: ""