AOSM(Azure Operator Service Manager) CLI 확장을 사용한 매개 변수 노출 정보

이 문서에서는 AOSM(Azure Operator Service Manager) Azure CLI 확장이 ARM 템플릿의 Helm 값과 매개 변수를 운영자에게 공개되는 구성 모델로 변환하는 방법을 설명합니다.

배경

AOSM을 사용하면 NFDV(네트워크 기능 정의 버전) 게시자가 NF(네트워크 기능) 배포 시 구성 가능한 매개 변수를 선택할 수 있습니다. 또한 AOSM을 사용하면 NSDV(네트워크 서비스 디자인 버전) 설계자가 SNS(사이트 네트워크 서비스)를 배포할 때 구성 가능한 매개 변수를 선택할 수 있습니다.

노출되는 매개 변수의 선택은 하나 이상의 스키마로 인코딩됩니다. 게시자는 NFDV 속성(deployParameters 속성)에서 스키마를 정의합니다. 디자이너는 별도의 Azure 리소스인 CGS(구성 그룹 스키마)에서 스키마를 정의합니다. CGS 및 NSDV는 NFDV의 스키마와 일치하는 매개 변수 및 값 집합을 NFDV에 전달해야 합니다.

Azure CLI AOSM 확장에는 NFDV deployParameters 속성의 자동 생성, CGS 및 배포 시 모든 매개 변수가 NF에 올바르게 전달되도록 하는 매핑에 대한 지원이 포함되어 있습니다.

입력 파일 구성

Azure CLI AOSM 확장 az aosm nfd generate-config 명령은 입력 파일을 생성합니다. 입력 파일은 --definition-type 매개 변수에 따라 다릅니다. 모든 변형에는 다음 매개 변수가 포함됩니다.

  // If set to true, all NFD configuration parameters are made available to the designer, including optional parameters and those with defaults.
  // If not set or set to false, only required parameters without defaults will be exposed.
  "expose_all_parameters": false,

이 매개 변수는 AOSM CLI 확장의 매개 변수 노출 동작을 제어합니다.

Warning

모든 매개 변수를 노출하면 모든 기본값도 노출됩니다. 기본값에 중요한 정보가 포함되어 있지 않은지 확인하세요.

기본 동작

expose_all_parameters는 기본적으로 항상 false로 설정됩니다. AOSM CLI:

  • CNF(컨테이너화된 네트워크 기능) helm 값 또는 VNF(가상화된 네트워크 기능) ARM(Azure Resource Manager) 템플릿 매개 변수 구문 분석
  • 기본값이 없는 필수 매개 변수를 포함하는 NFDV에 deployParameters 스키마 생성

예를 들어, VNF ARM 템플릿의 이 발췌문은 두 개의 매개 변수를 정의합니다. 하나는 필수이고 하나는 선택 사항입니다.

  "parameters": {
    "required": {
      "type": "string",
      "metadata": {
        "description": "A required parameter."
      }
    },
    "optional": {
      "type": "string",
      "defaultValue": "optional"
      "metadata": {
        "description": "An optional parameter."
      }
    },
  }

AOSM CLI는 deployParameters 속성에 required 매개 변수를 노출하는 NFDV를 빌드합니다. optional 매개 변수는 노출되지 않습니다. 배포 시 VNF는 optional을 기본값인 optional로 설정하여 배포합니다. 배포를 트리거하는 사용자는 required에 대한 값을 제공해야 합니다.

동작은 CNF와 유사합니다. AOSM CLI를 사용하면 사용자가 Helm 차트의 기본 values.yaml 파일을 재정의하는 values.yaml 파일을 제공할 수 있습니다. 이 재정의 values.yaml 파일에는 값이 있거나 없는 매개 변수가 포함될 수 있습니다. values.yaml 재정의 파일의 다음 발췌문은 값이 있는 매개 변수와 값이 없는 매개 변수를 보여 줍니다.

optional: "optional"
required:

AOSM CLI는 deployParameters 속성에 required 매개 변수를 노출하는 NFDV를 빌드합니다. optional 매개 변수는 노출되지 않습니다. 배포 시 CNF는 optional을 기본값인 optional로 설정하여 배포합니다. 배포를 트리거하는 사용자는 required에 대한 값을 제공해야 합니다.

Important

AOSM CLI는 helm template을 실행하여 Helm 차트의 기본 values.yaml 파일이 차트와 일치하는지 유효성을 검사합니다. 이 helm template 명령이 실패하면 CLI에서 오류가 발생합니다.

모든 매개 변수 노출

Azure AOSM CLI 확장은 모든 매개 변수를 구성 가능하게 만드는 것을 지원합니다. az aosm nfd generate-config에 의해 생성된 입력 파일의 필수 구성은 다음과 같습니다.

  // If set to true, all NFD configuration parameters are made available to the designer, including optional parameters and those with defaults.
  // If not set or set to false, only required parameters without defaults will be exposed.
  "expose_all_parameters": true,

AOSM CLI 확장(expose_all_parameterstrue로 설정된 경우):

  • CNF(컨테이너화된 네트워크 기능) helm 값 또는 VNF(가상화된 네트워크 기능) ARM(Azure Resource Manager) 템플릿 매개 변수 구문 분석
  • 구문 분석된 매개 변수를 모두 포함하는 NFDV에 deployParameters 스키마 생성
  • ARM 템플릿의 기본값이나 Helm 값에 구성된 값은 NFDV deployParameters 스키마에서 기본값으로 구성됨

CGS 생성

모든 경우에 az aosm nfd build 명령으로 노출된 모든 매개 변수는 az aosm nsd build 명령 중에 CGS에 추가됩니다. 또한 AOSM CLI 확장은 ARM 템플릿이나 Helm 값(예: customLocationIdmanagedIdentityId)에서 구문 분석되지 않은 몇 가지 추가 매개 변수를 CGS에 추가합니다. 이러한 매개 변수는 대상 환경에 사이트 네트워크 서비스를 배포하는 데 필요합니다.

다음 단계