Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu nasıl yapılır kılavuzunda Ağ İşlevi Yayımcıları ve Hizmet Tasarımcıları, Kapsayıcılı ağ işlevini AOSM'ye eklemek için Azure CLI AOSM uzantısını kullanmayı öğrenir. CNF daha sonra Azure Operatör Nexus kümesi de dahil olmak üzere Azure Arc bağlantılı kubernetes kümesine dağıtılabilir.
Ekleme çok adımlı bir işlemdir. Önkoşulları karşıladıktan sonra Azure CLI AOSM uzantısını kullanarak şunları yapacaksınız:
- Helm grafiklerinizi ve values.yaml'nizi temel alan bir Ağ İşlevi Tanım Grubu ve Sürümü (NFD) tanımlayan Bicep dosyaları oluşturun.
- NFD'yi yayımlayın ve CNF görüntülerini ve grafiklerini bir Yapıt Deposu'na (AOSM tarafından yönetilen Azure Container Registry (ACR)) yükleyin.
- Yayımlanan NFD'nizi Ağ Hizmeti Tasarım Grubu ve Sürümü (NSD) tanımlayan Bicep dosyalarına ekleyin.
- NSD'yi yayımlayın.
Önkoşullar
- Azure aboneliğinizde AOSM'i etkinleştirdiniz.
- CNF'nizin Azure Operatör Nexus üzerinde çalışması amaçlanıyorsa, bir Azure Operatör Nexus örneğine erişiminiz vardır ve iş yükü dağıtımı önkoşullarını tamamlamış olursunuz.
Uyarı
Helm paketi helm install
'nizin Arc bağlantılı hedef Kubernetes ortamınızda başarılı olduğunu test etmiş olmanız şiddetle tavsiye edilir.
İzinleri yapılandır
- Kaynak Grubu veya Katkıda Bulunan rolüne sahip olduğunuz mevcut bir Kaynak Grubu oluşturmak için aboneliğiniz üzerinde Katkıda Bulunan rolüne ihtiyacınız vardır.
- Görüntülerinizi içeren kaynak ACR'de rol atamalarına ihtiyacınız vardır
Reader
/AcrPull
. - Abonelikte, AOSM tarafından yönetilen Yapıt Deposu'nu içerecek olan
Contributor
veAcrPush
rol atamalarına ihtiyacınız vardır. Bu izinler, Azure CLI AOSM Uzantısı'nın doğrudan ACR'den ACR'ye kopyalama yapmasına olanak sağlar. Doğrudan kopyalama, görüntüleri bir ACR'den diğerine aktarmanın en hızlı yöntemidir.- Şirket ilkeniz abonelik kapsamında izinlere sahip olmanıza engel olabilir.
--no-subscription-permissions
parametresi,az aosm nfd publish
veaz aosm nsd publish
komutlarında kullanılabilir ve yerel makinenize ile yerel makinenizden iki aşamalı bir kopyayı yönetmek amacıyla AOSM hizmetinden türetilen sıkı kapsamlı izinleri kullanır. Bu iki adımlı kopya daha yavaştır, ancak abonelik kapsamlı izinler gerektirmez.
- Şirket ilkeniz abonelik kapsamında izinlere sahip olmanıza engel olabilir.
Helm paketleri
- Eklemeyi planladığınız Helm paketleri, CLI'yı yürütmekte olduğunuz makinenin yerel depolaması üzerinde mevcut olmalıdır.
- Azure CLI AOSM uzantısı, varsayılan olarak helm paketindeki
values.yaml
dosyasını kullanacaktır. CLI, bu davranışı alternatifvalues.yaml
bir ile geçersiz kılmayı destekler. Bu alternatif dosya, CLI'yı yürüttüğüniz makinenin yerel depolaması üzerinde bulunmalıdır.
- Azure CLI AOSM uzantısı, varsayılan olarak helm paketindeki
Uyarı
Helm paketinin helm değerleri için bir şema içermesi ve helm paketi şablonlarının AOSM'ye eklerken kullanmayı planladığınız value.yaml kullanılarak çalıştırıldığında helm template
beklediğiniz şekilde içermesi kesinlikle önerilir.
Konteyner görüntüleri
- Kapsayıcı görüntüleriniz mevcut bir ACR'de veya Docker API'sini destekleyen alternatif bir kapsayıcı kayıt defterinde bulunur. Kapsayıcı görüntüleri, kaynak kayıt defterinizde helm grafiklerinizde tanımlanan görüntü konumuyla eşleşen bir yapıda depolanmalıdır. Bu gereksinim CLI CNF görüntü bulma ve karşıya yükleme bölümünde açıklanmıştır.
-
docker login
Herhangiaz aosm
bir komut çalıştırmadan önce kapsayıcı görüntülerinizi barındıran Azure dışı bir kapsayıcı kayıt defterinde oturum açmak için komutunu kullanın. ACR kullanıyorsanız bu adım gerekli değildir: Azure CLI AOSM uzantısı otomatik olarak oturum açar.
Helm ve Docker motoru
- Helm CLI'yi ana bilgisayara yükleyin. Helm v3.8.0 veya üzerini kullanmanız gerekir.
- Docker'ı ana bilgisayara yükleyin.
Azure CLI'yi indirme ve yükleme
Azure CLI'yi yerel olarak yüklemek için bkz . Azure CLI'yi yükleme.
Azure CLI'da oturum açmak için komutunu kullanın az login
ve terminalinizde görüntülenen istemleri tamamlayarak kimlik doğrulamasını tamamlayın. Daha fazla oturum açma seçeneği için bkz . Azure CLI ile oturum açma.
Uyarı
Windows veya macOS üzerinde çalışıyorsanız, Azure CLI'yi bir Docker konteynerinde çalıştırmayı düşünün. Daha fazla bilgi için Azure CLI'nin bir Docker konteynerında nasıl çalıştırılacağını inceleyin. Bash ortamını Azure cloud shell'de de kullanabilirsiniz. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash ortamını kullanmak için Cloud Shell'i başlatma.
AOSM CLI uzantısını yükleme
Az CLI AOSM Uzantısı, Azure CLI'nın 2.54.0 veya sonraki bir sürümünü gerektirir.
- Yüklü sürümü ve bağımlı kitaplıkları görmek için komutunu çalıştırın
az version
. - Azure CLI'nın geçerli sürümüne yükseltmek için komutunu çalıştırın
az upgrade
.
Şu komutu kullanarak AOSM CLI uzantısını yükleyin:
az extension add --name aosm
Ağ İşlevi Tanım Grubunu ve Sürümünü Oluşturma
Bu adım, çalışma dizininde cnf-cli-output
adlı, Ağ İşlevi Tanım Grubunuzu ve Sürümünüzü tanımlayan AOSM kaynaklarının Bicep dosyalarını ve Yapıt Deposu içeren bir klasör oluşturur. Bu kaynaklar sonunda Ağ Hizmeti Tasarımınıza dahil edilecek.
CNF için Azure CLI AOSM uzantısı giriş dosyasını oluşturun.
az aosm nfd generate-config --definition-type cnf --output-file <filename.jsonc>
Önceki adımda oluşturduğunuz giriş dosyasını açın ve gerekli değerleri girmek için satır içi açıklamaları kullanın. Bu örnekte, kurgusal contoso CNF için Az CLI AOSM uzantısı giriş dosyası gösterilmektedir.
Uyarı
Azure CLI AOSM uzantısı, varsayılan olarak girişte
values.yaml
varsayılan değerler olmadan yalnızca gerekli parametreleri kullanıma sunar. Network Function Definition Version (NFDV) ve Configuration Group Schema (CGS) içindeki tüm helm değerlerini kullanıma açmak içinexpose_all_parameters
'yitrue
olarak ayarlayabilirsiniz. Daha fazla bilgi için AOSM CLI uzantısını kullanarak parametreyi etkinleştirme bölümüne bakın.{ // Azure location to use when creating resources e.g uksouth "location": "eastus", // Name of the Publisher resource you want your definition published to. // Will be created if it does not exist. "publisher_name": "contoso", // Resource group for the Publisher resource. // You should create this before running the publish command "publisher_resource_group_name": "contoso", // Name of the ACR Artifact Store resource. // Will be created if it does not exist. "acr_artifact_store_name": "contoso-artifact-store", // Name of NF definition. "nf_name": "contoso-cnf-nfd", // Version of the NF definition in 1.1.1 format (three integers separated by dots). "version": "1.0.0", // 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, // List of registries from which to pull the image(s). // For example ["sourceacr.azurecr.io/test", "myacr2.azurecr.io", "ghcr.io/path"]. // For non Azure Container Registries, ensure you have run a docker login command before running build. "image_sources": ["contoso.azuercr.io/contoso", "docker.io"], // List of Helm packages to be included in the CNF. "helm_packages": [ { // The name of the Helm package. "name": "contoso-helm-package", // The file path to the helm chart on the local disk, relative to the directory from which the command is run. // Accepts .tgz, .tar or .tar.gz, or an unpacked directory. Use Linux slash (/) file separator even if running on Windows. "path_to_chart": "/home/cnf-onboard/contoso-cnf-helm-chart-0-1-0.tgz", // The file path (absolute or relative to this configuration file) of YAML values file on the local disk which will be used instead of the values.yaml file present in the helm chart. // Accepts .yaml or .yml. Use Linux slash (/) file separator even if running on Windows. "default_values": "", } ] }
Ağ İşlevi Tanım Grubu ve Sürüm Bicep dosyalarını oluşturmak için aşağıdaki komutu yürütebilirsiniz.
az aosm nfd build --definition-type cnf --config-file <filename.jsonc>
Klasör ve dosya yapısını gözden geçirebilir ve gerekirse değişiklikler yapabilirsiniz.
Ağ İşlevi Tanım Grubunu ve Sürümünü Yayımlama
Bu adım, Ağ İşlevi Tanımını tanımlayan AOSM kaynaklarını ve Ağ İşlevi'nin kapsayıcı görüntülerini depolamak için kullanılacak Yapıt Deposu'nı oluşturur. Ayrıca görüntüleri ve grafikleri doğrudan kaynak ACR'den kopyalayarak veya abonelik kapsamı Contributor
ve AcrPush
rolleriniz yoksa docker görüntülerini yerel olarak yeniden etiketleyerek ve AOSM hizmetinden oluşturulan sıkı kapsamlı kimlik bilgilerini kullanarak Yapıt Deposu'na yükler.
- Aşağıdaki komutu yürüterek Ağ İşlevi Tanım Grubunu ve Sürümünü yayımlayın. Abonelik kapsamınızda
Contributor
veAcrPush
rolleri yoksa, komuta--no-subscription-permissions
ekleyin.
Uyarı
Windows kullanıyorsanız yayımlama adımı sırasında Docker Desktop'ın çalışıyor olması gerekir.
az aosm nfd publish --build-output-folder cnf-cli-output --definition-type cnf
Ağ Hizmeti Tasarım Grubu ve Sürümü Oluşturma
Bu bölüm, çalışma dizininde adlı nsd-cli-output
bir klasör oluşturur. Bu klasör, Ağ Hizmeti Tasarım Grubu ve Sürümü tanımlayan AOSM kaynaklarının Bicep dosyalarını içerir. Bu Ağ Hizmeti Tasarımı, önceki bölümlerde eklediğiniz Ağ İşlevini dağıtacak Site Ağ Hizmeti kaynağında kullanılan bir şablondur.
Azure CLI AOSM Uzantısı NSD giriş dosyasını oluşturun.
az aosm nsd generate-config --output-file <nsd-output-filename.jsonc>
Önceki adımda oluşturduğunuz giriş dosyasını açın ve gerekli değerleri girmek için satır içi açıklamaları kullanın. Oluşturulan giriş dosyası, ek
resource_element_type
türünde birArmTemplate
içerir. CNF eklenirken bu gereksizdir; silebilirsiniz. Sonuç bu örnekteki gibi görünmelidir. Örnekte, Kurgusal Contoso CNF'yi Arc bağlantılı Bir Nexus Kubernetes kümesine dağıtmak için kullanılabilecek kurgusal bir Contoso NSD için Az CLI AOSM uzantısı giriş dosyası gösterilmektedir.{ // Azure location to use when creating resources e.g uksouth "location": "eastus", // Name of the Publisher resource you want your definition published to. // Will be created if it does not exist. "publisher_name": "contoso", // Resource group for the Publisher resource. // Will be created if it does not exist. "publisher_resource_group_name": "contoso", // Name of the ACR Artifact Store resource. // Will be created if it does not exist. "acr_artifact_store_name": "contoso-artifact-store", // Network Service Design (NSD) name. This is the collection of Network Service Design Versions. Will be created if it does not exist. "nsd_name": "contoso-nsd", // Version of the NSD to be created. This should be in the format A.B.C "nsd_version": "1.0.0", // Optional. Description of the Network Service Design Version (NSDV). "nsdv_description": "An NSD that deploys the onboarded contoso-cnf NFD", // List of Resource Element Templates (RETs). // There must be at least one NF RET. // ArmTemplate RETs are optional. Delete if not required. "resource_element_templates": [ { // Type of Resource Element. Either NF or ArmTemplate "resource_element_type": "NF", "properties": { // The name of the existing publisher for the NSD. "publisher": "contoso", // The resource group that the publisher is hosted in. "publisher_resource_group": "contoso", // The name of the existing Network Function Definition Group to deploy using this NSD. // This will be the same as the NF name if you published your NFDV using the CLI. "name": "contoso-cnf-nfd", // The version of the existing Network Function Definition to base this NSD on. // This NSD will be able to deploy any NFDV with deployment parameters compatible with this version. "version": "1.0.0", // The region that the NFDV is published to. "publisher_offering_location": "eastus", // Type of Network Function. Valid values are 'cnf' or 'vnf'. "type": "cnf" } } ] }
Uyarı
Kaynak öğesi şablonu bölümü, NSD'ye hangi NFD'nin dahil olduğunu tanımlar. Özellikler,
az aosm nfd build
komutuna verilen giriş dosyasında kullanılanlarla eşleşmelidir. Bunun nedeni, Azure CLI AOSM Uzantısı'nın NSD'yi oluştururken NFD'nin doğru şekilde eklendiğini doğrulamasıdır.Ağ Hizmeti Tasarım Grubu ve Sürüm Bicep dosyalarını oluşturmak için aşağıdaki komutu yürütebilirsiniz.
az aosm nsd build --config-file <nsd-output-filename.jsonc>
Klasör ve dosya yapısını gözden geçirebilir ve gerekirse değişiklikler yapabilirsiniz.
Ağ Hizmeti Tasarım Grubunu ve Sürümünü Yayımlama
Bu adım, Ağ Hizmeti Tasarım Grubu ve Sürümünü tanımlayan AOSM kaynaklarını oluşturur. Ayrıca NSD tarafından gereken yapıtları Yapıt Deposu'na (Ağ İşlevi ARM şablonu) yükler.
- Ağ Hizmeti Tasarım Grubunu ve Sürümünü yayımlamak için aşağıdaki komutu yürütür. Abonelik kapsamınızda
Contributor
veAcrPush
rolleri yoksa, komuta--no-subscription-permissions
ekleyin.
az aosm nsd publish --build-output-folder nsd-cli-output
Artık AOSM yayımcı kaynaklarınızın tam setine sahipsiniz ve operatör akışını gerçekleştirmeye hazırsınız.