Skip to content

Commit 847b283

Browse files
authored
Update get-started-with-cluster-registry.md
1 parent 38b8bfc commit 847b283

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

articles/operator-service-manager/get-started-with-cluster-registry.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Improve resiliency for cloud native network functions with Azure Operator Servic
1919
* First version, with HA for NF kubernetes extension: 2.0.2810-144
2020

2121
## Introduction
22-
Azure Operator Service Manager (AOSM) cluster registry (CR) enables a local copy of container images in the Nexus K8s cluster. When the containerized network function (CNF) is installed with cluster registry enabled, the container images are pulled from the remote AOSM artifact store and saved to this local cluster registry. Leveraging a mutating webhook, cluster registry automatically interccepts image requests and substitutes the local registry path, to avoid publisher packaging changes. With cluster register, CNF access to container images survives loss of connectivity to the remote artifact store.
22+
Azure Operator Service Manager (AOSM) cluster registry (CR) enables a local copy of container images in the Nexus K8s cluster. When the containerized network function (CNF) is installed with cluster registry enabled, the container images are pulled from the remote AOSM artifact store and saved to this local cluster registry. Using a mutating webhook, cluster registry automatically intercepts image requests and substitutes the local registry path, to avoid publisher packaging changes. With cluster register, CNF access to container images survives loss of connectivity to the remote artifact store.
2323

2424
### Key use cases and benefits
2525
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:
@@ -29,7 +29,7 @@ Cloud native network functions (CNF) need access to container images, not only d
2929
Benefits of using AOSM cluster registry:
3030
* Provides the necessary local images to prevent CNF disruption where connectivity to AOSM artifact store is lost.
3131
* Decreases the number of image pulls on AOSM artifact store, since each cluster node now pulls images only from the local registry.
32-
* Overcomes issues with malformed registry URLs, by using a mutating webhook to substitute the proper local regitsry URL path.
32+
* Overcomes issues with malformed registry URLs, by using a mutating webhook to substitute the proper local registry URL path.
3333

3434
## How cluster registry works
3535
AOSM cluster registry is enabled using the Network Function Operator (NFO) Arc K8s extension. The following CLI shows how cluster registry is enabled on a Nexus K8s cluster.
@@ -61,21 +61,21 @@ When the cluster registry feature is enabled in the Network Function Operator Ar
6161
> [!NOTE]
6262
> If the user doesn't provide any input, a default persistent volume of 100 GB is used.
6363
64-
## Cluster registry components
65-
The cluster registry feature deploys a number of helper pods on the target edge cluster to assist the NFO extension.
64+
### Cluster registry components
65+
The cluster registry feature deploys helper pods on the target edge cluster to assist the NFO extension.
6666

67-
### Component reconciler
68-
* This main pod takes care of reconciling component Custom Resource Objects (CROs) created by K8sBridge with the help of the Microsoft.Kubernetes RP, Hybrid Relay and Arc agentry running on the cluster.
67+
#### Component reconciler
68+
* This main pod takes care of reconciling component Custom Resource Objects (CROs) created by K8sBridge with the help of the Microsoft.Kubernetes resource provider (RP), Hybrid Relay, and Arc agent running on the cluster.
6969

70-
### Pod mutating webhook
71-
* These pods implement Kubernetes mutating admission webhooks, serving an instance of the mutate API. The mutate API does two things:
72-
* It modifies the image registry path to the local registry IP, substituting out the AOSM artifact store ACR.
70+
#### Pod mutating webhook
71+
* These pods implement Kubernetes mutating admission webhooks, serving an instance of the mutate API. The mutate API does two things:
72+
* It modifies the image registry path to the local registry IP, substituting out the AOSM artifact store Azure container registry (ACR).
7373
* It creates an Artifact CR on the edge cluster.
7474

75-
### Artifact reconciler
75+
#### Artifact reconciler
7676
* This pod reconciles artifact CROs created by the mutating webhook.
7777

78-
### Registry
78+
#### Registry
7979
* This pod stores and retrieves container images for CNF.
8080

8181
## High availability and resiliency considerations
@@ -98,7 +98,7 @@ With HA, cluster registry and webhook pods now support a replicaset with a minim
9898
#### DeploymentStrategy
9999
* A rollingUpdate strategy is used to help achieve zero downtime upgrades and support gradual rollout of applications. Default maxUnavailable configuration allows only one pod to be taken down at a time, until enough pods are created to satisfying redundancy policy.
100100
#### Pod Disruption Budget
101-
* A policy distruption budget (PDB) protects pods from voluntary disruption and is deployed alongside Deployment, ReplicaSet, or StatefulSet objects. For AOSM operator pods, a PDB with minAvailable parameter of 2 is used.
101+
* A policy disruption budget (PDB) protects pods from voluntary disruption and is deployed alongside Deployment, ReplicaSet, or StatefulSet objects. For AOSM operator pods, a PDB with minAvailable parameter of 2 is used.
102102
#### Pod anti-affinity
103103
* Pod anti-affinity controls distribution of application pods across multiple nodes in your cluster. With HA, AOSM pod anti-affinity using the following parameters:
104104
* A scheduling mode is used to define how strictly the rule is enforced.
@@ -120,8 +120,8 @@ With HA, cluster registry and webhook pods now support a replicaset with a minim
120120

121121
#### Horizontal scaling
122122
* In Kubernetes, a HorizontalPodAutoscaler (HPA) automatically updates a workload resource with the aim of automatically scaling the workload to match demand. AOSM operator pods have the following HPA policy parameters configured;
123-
* A minimum replicas of three.
124-
* A maximum replicas of five.
123+
* A minimum replica of three.
124+
* A maximum replica of five.
125125
* A targetAverageUtilization for cpu and memory of 80%.
126126

127127
#### Resource limits
@@ -132,7 +132,7 @@ All AOSM operator containers are configured with appropriate request, limit for
132132

133133
#### Known HA Limitations
134134
* Nexus AKS (NAKS) clusters with single active node in system agent pool are not suitable for highly available. Nexus production topology must use at least three active nodes in system agent pool.
135-
* The nexus-shared storage class is a network file system (NFS) storage service. This NFS storage service is available per Cloud Service Network (CSN). Any Nexus Kubernetes cluster attached to the CSN can provision persistent volume from this shared storage pool. The storage pool is currently limited to a maximum size of 1TiB as of Network Cloud (NC) 3.10 where-as NC 3.12 has a 16-TiB option.
135+
* The nexus-shared storage class is a network file system (NFS) storage service. This NFS storage service is available per Cloud Service Network (CSN). Any Nexus Kubernetes cluster attached to the CSN can provision persistent volume from this shared storage pool. The storage pool is currently limited to a maximum size of 1 TiB as of Network Cloud (NC) 3.10 where-as NC 3.12 has a 16-TiB option.
136136
* Pod Anti affinity only deals with the initial placement of pods, subsequent pod scaling, and repair, follows standard K8s scheduling logic.
137137

138138
## Frequently Asked Questions

0 commit comments

Comments
 (0)