|
| 1 | +--- |
| 2 | +title: Get started with Azure Operator Service Manager Cluster Registry |
| 3 | +description: Azure Operator Service Manager cluster registry feature provides a locally resilent edge registry service to host Nexus K8s container image artifacts. |
| 4 | +author: msftadam |
| 5 | +ms.author: adamdor |
| 6 | +ms.date: 09/06/2024 |
| 7 | +ms.topic: get-started |
| 8 | +ms.service: azure-operator-service-manager |
| 9 | +--- |
| 10 | + |
| 11 | +# Get started with Cluster Registry |
| 12 | +AOSM CNF CLUSTER REGISTRY |
| 13 | +* Original Author: Tobias Weisserth |
| 14 | +* Original Publish Date: 7/26/2024 |
| 15 | + |
| 16 | +## Overview |
| 17 | +IMPROVING RESILIENCY FOR CLOUD NATIVE NETWORK FUNCTIONS WITH AZURE OPERATOR SERVICE MANAGER CLUSTER REGISTRY |
| 18 | + |
| 19 | +Applies to: |
| 20 | +* AOSM ARM API Version: 2023-09-01 |
| 21 | +* AOSM CNF Arc for Kubernetes Extension Build Number: 1.0.2711-7 |
| 22 | + |
| 23 | +## Overview |
| 24 | +Azure Operator Service Manager (AOSM) cluster registry enables a local copy of container images in the Nexus K8s cluster. When the containerized network function (CNF) is installed using AOSM with the cluster registry feature turned on, the container images are pulled from the AOSM Artifact Store (supported by Azure Container Registry) and saved locally in the cluster registry. This will ensure that the CNF running in the Nexus K8s cluster can access container images even if there are connectivity issues with the AOSM artifact store. |
| 25 | + |
| 26 | +### Key use cases |
| 27 | +Cloud native network functions (CNF) need access to container images not only during the initial deployment using AOSM artifact store but also to keep the network function operational. Some of these scenarios include: |
| 28 | +* Pod restarts: pod restarts executed by stopping a pod and starting a pod might also result in the new pod being instantiated on a cluster node without the required images and resulting in container image pulls from that node. |
| 29 | +* Kubernetes scheduler operations: Kubernetes scheduler assigns pods to nodes and according to the scheduler profile, Kubernetes might re-assign pods to nodes to meet the profile criteria. This may result in pods being assigned by Kubernetes to nodes without required container images cached locally on the node. |
| 30 | + |
| 31 | +In the above scenarios, if there is a temporary issue with accessing the AOSM artifact store, the cluster registry will provide the necessary container images to prevent disruption to the running CNF. Also, the AOSM cluster registry feature will decrease the number of images pull requests on AOSM artifact store since each Nexus K8s node will pull container images from the cluster registry instead of the AOSM artifact store. |
| 32 | + |
| 33 | +## How cluster registry works |
| 34 | +AOSM cluster registry is enabled using the Network Function Operator Arc K8s extension. The CLI example below shows how cluster registry is enabled on a Nexus K8s cluster. |
| 35 | +``` |
| 36 | +az k8s-extension create --name networkfunction-operator --cluster-name <CLUSTER_NAME> --resource-group <RESOURCE_GROUP_NAME> --cluster-type connectedClusters --extension-type Microsoft.Azure.HybridNetwork --scope cluster --release-namespace azurehybridnetwork --config Microsoft.CustomLocation.ServiceAccount=azurehybridnetwork-networkfunctionoperator --config global.networkfunctionextension.enableClusterRegistry=true --config global.networkfunctionextension.clusterRegistry.storageSize=100Gi --version 1.0.2711-7 --auto-upgrade-minor-version false --release-train stable |
| 37 | +``` |
| 38 | +When the cluster registry feature is enabled in the Network Function Operator Arc K8s extension, any container images deployed from AOSM artifact store will be accessible locally in the Nexus K8s cluster. The user can choose the persistent storage size for the cluster registry. If the user does not provide any input, a default persistent volume of 100GB will be set up to store the container images. |
| 39 | + |
| 40 | +## Frequently Asked Questions |
| 41 | + |
| 42 | +### CAN I USE AOSM CLUSTER REGISTRY WITH A CNF APPLICATION PREVIOUSLY INSTALLED USING AOSM APIS? |
| 43 | +If there is a CNF application already installed using AOSM on a Nexus Kubernetes cluster, and the AOSM cluster registry feature is turned on, the cluster registry will not have the container images automatically. To use this feature, the cluster registry should be turned on before deploying the network function with AOSM. |
| 44 | + |
| 45 | +### WHICH NEXUS K8S STORAGE CLASS IS USED WITH AOSM CLUSTER REGISTRY? |
| 46 | +AOSM cluster registry feature uses nexus-volume storage class to store the container images in the Nexus Kubernetes cluster. By default, a 100GB persistent volume will be created if the user does not specify the size of the cluster registry. |
| 47 | + |
| 48 | +### CAN I CHANGE THE STORAGE SIZE OF THE AOSM CLUSTER REGISTRY AFTER THE INITIAL |
| 49 | +DEPLOYMENT? |
| 50 | +It is important to plan for the persistent volume storage size before you install the cluster registry on the Nexus K8s cluster. It cannot be modified after the initial deployment. We recommend to configure the size of the volume by 3x to 4x of the starting installation size of the network function that goes on that cluster. |
| 51 | + |
0 commit comments