Как подключить частную виртуальную сеть или подсеть с экземплярами контейнеров в Java с помощью Azure SDK? - PullRequest
0 голосов
/ 09 мая 2019

Проблема при подключении конфигурации подсети и vnet при создании экземпляров контейнера Azure.

Я пытаюсь создать экземпляры контейнера Azure с помощью Azure SDK - Java / .Net.Этот контейнер требует связи с компонентами разных виртуальных машин.Мне удалось добиться этого с помощью команд консоли Azure с конфигурациями vnet и подсети.Но не удается повторить то же самое с помощью SDK.

Фрагмент кода в Java

ContainerGroup containerGroup = azure.containerGroups().define(aciName).withRegion(Region.EUROPE_NORTH)
                    .withExistingResourceGroup(rgName).withLinux()
                    .withPrivateImageRegistry(registryServer, registryServerName, registryServerKey)
                    .defineVolume(volumeMountName).withExistingReadOnlyAzureFileShare(fileShareName)
                    .withStorageAccountName(storageAccountName).withStorageAccountKey(storageAccountKey).attach()
                    .defineContainerInstance(aciName).withImage(containerImageName).withExternalTcpPort(80)
                    .withVolumeMountSetting(volumeMountName, volumeMountPath).withCpuCoreCount(1)
                    .withMemorySizeInGB(1.5).withEnvironmentVariable("APP_PATH", volumeMountPath)
                    .withStartingCommandLine(commandLineArgs.toString()).attach().withDnsPrefix(aciName)
                    .withRestartPolicy(ContainerGroupRestartPolicy.NEVER).create();

Azure CLI

контейнер контейнера create --resource-group --name--image --cpu 1 --memory 1.5 - registry-login-server --registry-username --registry-password - azure-file-volume-share-name --azure-file-volume-account-name> --azure-file-volume-account-key --azure-file-volume-mount-path --restart-policy Никогда --e --subnet --subnet-адрес-префикс --vnet --vnet-имя--subscription --command-line ""

Невозможно подключить конфигурации vnet и подсети при создании экземпляров контейнера Azure.

1 Ответ

0 голосов
/ 10 мая 2019

К сожалению, похоже, что развертывание ACI в Vnet в настоящее время не поддерживается в Java. Вы можете взглянуть на проблему в Github.

Если вы посмотрите на команду CLI, которая может этого добиться, то вы обнаружите, что команда фактически использует API-интерфейс REST Azure.

enter image description here

В запросе установлено свойство группы контейнеров networkProfile с сетевым профилем подсети. Поэтому, если вы действительно хотите развернуть ACI в Vnet, вы можете использовать Azure REST API для экземпляра контейнера для достижения этого в коде Java.

...