Validated Patterns

Deploying the Telco hub pattern

Prerequisites

  • An OpenShift Container Platform 4.19 or later cluster with:

    • cluster administrator privileges.

    • compact 3-node cluster or standard cluster with at least 3 worker nodes.

    • more than 500 GB of available storage.

    • accessible container registry with all required images. It can be a disconnected registry or accessible by internet.

    • accessible web server with base ISO images or accessible via internet access.

  • A Git repository to host your configuration files.

  • Access to a terminal with oc and git command-line tools installed.

Preparing for deployment

Procedure
  1. Clone the telco-hub-pattern repository from GitHub and navigate to the directory:

    $ git clone https://github.com/validatedpatterns-sandbox/telco-hub-pattern.git
    $ cd telco-hub-pattern
  2. Configure components by editing the file kustomize/overlays/telco-hub/kustomization.yaml to enable optional components and customizations as needed:

    # =============================================================================
    # Telco Hub pattern - Kustomization Configuration
    # =============================================================================
    
    apiVersion: kustomize.config.k8s.io/v1beta1
    kind: Kustomization
    
    resources:
      # Required: Local Registry
      # The Telco Hub Reference Design Specifications targets disconnected environments, hence this component is enabled by default.
      - https://github.com/openshift-kni/telco-reference//telco-hub/configuration/reference-crs/required/registry
    
      # Required: Advanced Cluster Management (ACM)
      # The ACM telco-hub component requires a storage backend to support its observability functionality.
      # You NEED to configure a storage backend for the hub cluster along with ACM.
      - https://github.com/openshift-kni/telco-reference//telco-hub/configuration/reference-crs/required/acm
    
      # Required: GitOps Operator
      # The telco-hub component creates the GitOps/ArgoCD instance used to manage spoke clusters. This instance
      # includes resource tuning for scalability and an ACM plugin for simplified creation of policies. The validated
      # pattern clustergroup chart does not make these tunings available, so a dedicated instance is created through
      # the `gitops` content. This dedicated instance has all the necessary tuning already included so the
      # `reference-crs/required/gitops` component does not need to be included. These `gitops` must be included
      # prior to the other components.
      # - https://github.com/openshift-kni/telco-reference//telco-hub/configuration/reference-crs/required/gitops
      - gitops/
    
      # Required: Topology Aware Lifecycle Manager (TALM)
      - https://github.com/openshift-kni/telco-reference//telco-hub/configuration/reference-crs/required/talm
    
      # Workflow: GitOps ZTP Installation
      # Enable this telco-hub component if you deploy clusters via GitOps ZTP.
      # - https://github.com/openshift-kni/telco-reference//telco-hub/configuration/reference-crs/required/gitops/ztp-installation
    
      # Optional: Local Storage Operator (LSO)
      # Enable this telco-hub component if you use LSO to manage storage for ODF.
      - https://github.com/openshift-kni/telco-reference//telco-hub/configuration/reference-crs/optional/lso
    
      # Optional: Open Data Foundation (ODF)
      # Enable this telco-hub component if you use ODF as your storage backend.
      - https://github.com/openshift-kni/telco-reference//telco-hub/configuration/reference-crs/optional/odf-internal
    
      # Optional: Logging Operator
      # Enable this telco-hub component if you use the logging operator.
      # - https://github.com/openshift-kni/telco-reference//telco-hub/configuration/reference-crs/optional/logging
    
    
    # Environment-specific patches (example for disconnected environments)
    patches:
      - target:
          group: operators.coreos.com
          version: v1alpha1
          kind: CatalogSource
          name: redhat-operators-disconnected
        patch: |-
          - op: replace
            path: /spec/image
            value: <registry.example.com:8443>/openshift-marketplace/redhat-operators-disconnected:v4.20
  3. Commit and push kustomize overlay:

    $ git commit ./kustomize/overlays/telco-hub/kustomization.yaml
    $ git push

Deploying the pattern by using the pattern.sh script

  1. Deploy the pattern (loads secrets if configured):

    $ ./pattern.sh make install
  2. Update the pattern (does not load secrets):

    $ ./pattern.sh make operator-upgrade
Verification
  1. Verify the deployment by running the health check:

    $ ./pattern.sh make argo-healthcheck