OpenText eDirectoryは、Microsoft AzureコンテナインスタンスへのOpenText eDirectoryコンテナのデプロイをサポートしています。デプロイメントプロセスはシンプルで、時間効率が向上します。OpenText eDirectoryコンテナは、自己完結型であり、独自に実行できるDockerイメージとしてレジストリにプッシュされます。このセクションでは、AzureにOpenText eDirectory Dockerイメージをデプロイするプロセスについて説明します。
Azureコンテナをデプロイ用にセットアップするには、次のチェックリストの手順を実行することをお勧めします。
|
チェックリストの項目 |
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DockerイメージをAzureコンテナレジストリにプッシュするには:
OpenText eDirectory Dockerイメージのtarballをソフトウェアライセンスとダウンロードポータルからダウンロードします。
ダウンロードしたビルドをuntarしてDockerイメージを抽出し、次のコマンドを使用してローカルDockerレジストリにロードします。
tar -xvf eDirectory_93x_Container.tar.gz docker load --input eDirectory_93x/eDirectory_93x.tar.gz
このdocker loadコマンドは、tarアーカイブからedirectory:9.3.xという名前のDockerイメージをロードします。
次のコマンドを使用して、Dockerイメージにレジストリ名をタグ付けします。
Docker tag edirectory:<image-id> <registry-name>.azurecr.io/<repository-name-tag>
各要素は次のように指定します。
edirectory:<image-id>は、ローカルのDockerイメージIDです。
<registry-name>は、プライベートレジストリの名前です。
<repository-name-tag>は、Dockerイメージに割り当てるタグです。
例: docker tag edirectory:93x myazureregistry.azurecr.io/edir93
次のコマンドを使用して、Dockerイメージをレジストリにプッシュします。
docker push <registry-name>.azurecr.io/<repository-name-tag>
各要素は次のように指定します。
<registry-name>は、プライベートレジストリの名前です。
<repository-name-tag>は、Dockerイメージに割り当てたタグです。
例: docker push myazureregistry.azurecr.io/edir93x
YAMLファイルは、コンテナグループをすばやく簡単に作成または更新する手段です。Azureコマンドラインでaz container createコマンドを実行すると、YAMLファイルからグループの設定が読み込まれます。Azureコンテナインスタンスを作成する前に、OpenText eDirectory DockerイメージのtarballにバンドルされているYAMLファイルを編集してアップロードする必要があります。
次のセクションでは、主要なプロパティを強調するコメント(#記号付き)を含む、YAMLファイルのスキーマを示します。このスキーマのプロパティの説明については、「プロパティ値」セクションを参照してください。
name: # Provide the name of the container group
apiVersion: '2019-12-01'
properties: # Properties of container group
containers: # The containers within the container group
- name: test-edir93 # Provide a name of container instance
properties: # Properties of a container instance
image: myazureregistry.azurecr.io/edir93 # Provide the name of the container image used to create the container instance
command:
- /start.sh #Not optional
- 'new -t 93edir1 -n novell -a admin.novell -w xx -S server1 -i -B @1524 -o 1028 -O 1030 -L 1389 -l 1636 --configure-eba-now no' #Sample command
ports: # External-facing ports exposed on the instance, must also be set in group ipAddress property
- protocol: tcp
port: 1030 #HTTPS port. Depends on the parameter provided in command for -O
- protocol: tcp
port: 1389 #LDAP port. Depends on the parameter provided in command for -L
environmentVariables:
- name: YAML_MODE #Mandatory variable. Required if yaml file is used for configuring edirectory
value: '1'
resources: # Minimum resource requirements of the instance
requests:
memoryInGB: 2
cpu: 1.5
volumeMounts: # Array of volume mounts for the instance
- name: configvolume
mountPath: /config #Mandatory. Do not change this path.
imageRegistryCredentials: # Credentials to pull a private image
- server: myazureregistry.azurecr.io #Provide the image registry server name
username: myazureregistry #Provide the image registry username password: xxxx #Provide the image registry password
#restartPolicy: Never #Optional
ipAddress: # IP address configuration of container group
ports:
- protocol: tcp
port: 1030 #HTTPS port. Depends on the parameter provided in command for -O
- protocol: tcp
port: 1389 #LDAP port. Depends on the parameter provided in command for -L
type: Private
networkProfile: # Virtual network profile for container group
id: subscriptions/xxx-xxx-xxx/resourceGroups/myresourcegroup/providers/Microsoft.Network/networkProfiles/aci-network-profile-VirtualNetmy-containersubnet
#Can be found by running the command, az network profile list --resource-group myResourceGroup --query [0].id --output tsv, if no output then run the first time using azure cloud shell
osType: Linux
volumes: # Array of volumes available to the instances
- name: configvolume
azureFile:
shareName: testshare #Provide the name of the Azure File share to be mounted as a volume
storageAccountName: myfileshare #Provide name of the storage account
storageAccountKey: xxx_xxx #Provide storage account access key
次の表は、スキーマで設定する必要がある値を示しています。
|
名前 |
型 |
必須 |
値 |
|---|---|---|---|
|
containerGroupsオブジェクト |
|||
|
Name |
文字列 |
対応 |
コンテナグループの名前。コンテナ名も指定できます。 |
|
apiVersion |
enum |
対応 |
リソースAPIのバージョン。たとえば、「2019-12-01」のように指定します。 |
|
プロパティ |
object |
対応 |
コンテナグループのプロパティ。propertiesでサポートされる値を探すには、この表のContainerGroupPropertiesオブジェクトを参照してください。 |
|
ContainerGroupPropertiesオブジェクト |
|||
|
containers |
array |
対応 |
コンテナグループ内のコンテナ。containersでサポートされる値を探すには、この表のContainerオブジェクトを参照してください。 |
|
imageRegistryCredentials |
array |
非対応 |
コンテナグループの作成に使用されるイメージレジストリ資格情報。imageRegistryCredentialsでサポートされる値を探すには、この表のImageRegistryCredentialオブジェクトを参照してください。 |
|
restartPolicy |
enum |
非対応 |
コンテナグループ内のすべてのコンテナに対するポリシーを再起動します。
|
|
ipAddress |
object |
非対応 |
コンテナグループのIPアドレスのタイプ。ipAddressでサポートされる値を探すには、この表のIPAddressオブジェクトを参照してください。 |
|
osType |
enum |
対応 |
コンテナグループ内のコンテナに必要なオペレーティングシステムのタイプ。- WindowsまたはLinux |
|
volumes |
array |
非対応 |
このコンテナグループ内のコンテナによってマウントできるボリュームのリスト。volumesでサポートされる値を探すには、この表のVolumeオブジェクトを参照してください。 |
|
コンテナオブジェクト |
|||
|
name |
文字列 |
対応 |
コンテナインスタンスの、ユーザが指定した名前。たとえば、「test-edir93」とします。 |
|
プロパティ |
object |
対応 |
コンテナインスタンスのプロパティ。propertiesでサポートされる値を探すには、この表のContainerPropertiesオブジェクトを参照してください。 |
|
ContainerPropertiesオブジェクト |
|||
|
image |
文字列 |
対応 |
コンテナインスタンスの作成に使用するイメージの名前。たとえば、myazureregistry.azurecr.io/edir93 (ステップ 3)。 |
|
command |
array |
非対応 |
コンテナインスタンス内で実行するコマンドをexec形式で指定します。OpenText eDirectory Dockerコンテナは、Dockerコマンドでndsconfigユーティリティのすべてのパラメータを受け入れます。ndsconfigユーティリティの詳細については、ndsconfigユーティリティを参照してください。 |
|
ports |
array |
非対応 |
コンテナインスタンスの公開ポート。portsでサポートされる値を探すには、この表のContainerPortオブジェクトを参照してください。 |
|
environmentVariables |
array |
非対応 |
コンテナインスタンスで設定する環境変数。environmentVariablesでサポートされる値を探すには、この表のEnvironmentVariableオブジェクトを参照してください。 |
|
リソース |
object |
対応 |
コンテナインスタンスのリソース要件。resourcesでサポートされる値を探すには、この表のResourceRequirementsオブジェクトを参照してください。 |
|
volumeMounts |
array |
非対応 |
コンテナインスタンスで使用可能なボリュームマウント。volumeMountsでサポートされる値を探すには、この表のVolumeMountオブジェクトを参照してください。 |
|
ContainerPortオブジェクト |
|||
|
プロトコル |
enum |
非対応 |
ポートに関連付けられているプロトコル。- TCPまたはUDP |
|
port |
integer |
対応 |
ポート番号。 |
|
EnvironmentVariableオブジェクト |
|||
|
name |
文字列 |
対応 |
環境変数の名前。 |
|
value |
文字列 |
非対応 |
環境変数の値。 |
|
ResourceRequirementsオブジェクト |
|||
|
要求 |
object |
対応 |
このコンテナインスタンスのリソース要求。requestsでサポートされている値を探すには、この表のResourceRequestsオブジェクトを参照してください。 |
|
ResourceRequestsオブジェクト |
|||
|
memoryInGB |
number |
対応 |
このコンテナインスタンスのメモリ要求(GB)。 |
|
cpu |
number |
対応 |
このコンテナインスタンスのCPU要求。 |
|
VolumeMountオブジェクト |
|||
|
name |
文字列 |
対応 |
ボリュームマウントの名前。 |
|
mountPath |
文字列 |
対応 |
ボリュームをマウントするコンテナ内のパス。コロン(:)は含めないでください。 |
|
ImageRegistryCredentialオブジェクト |
|||
|
サーバ |
文字列 |
対応 |
Dockerイメージのレジストリサーバ。「http」や「https」などのプロトコルは付けません。チェックリストのステップ1で作成したレジストリ名を指定します(「コンテナのデプロイのチェックリスト」を参照)。 |
|
ユーザ名 |
文字列 |
非対応 |
プライベートレジストリのユーザ名。詳細については、ユーザ名情報の検索方法に関するページを参照してください。 |
|
password |
文字列 |
非対応 |
プライベートレジストリのパスワード。詳細については、Azureレジストリパスワードの検索方法に関するページを参照してください。 |
|
IPAddressオブジェクト |
|||
|
ports |
array |
対応 |
コンテナグループに公開されているポートのリスト。portsでサポートされる値を探すには、この表のPortオブジェクトを参照してください。 |
|
type |
enum |
対応 |
IPがパブリックインターネットに公開されているか、プライベートVNETに公開されているかを示します。- PublicまたはPrivate |
|
Portオブジェクト |
|||
|
プロトコル |
enum |
非対応 |
ポートに関連付けられているプロトコル。- TCPまたはUDP |
|
port |
integer |
対応 |
ポート番号。 |
|
Volumeオブジェクト |
|||
|
name |
文字列 |
対応 |
ボリュームの名前。 |
|
azureFile |
object |
非対応 |
Azureファイルボリューム。azureFileでサポートされる値を探すには、この表のAzureFileVolumeオブジェクトを参照してください。 |
|
AzureFileVolumeオブジェクト |
|||
|
shareName |
文字列 |
対応 |
ボリュームとしてマウントするAzureファイル共有の名前。チェックリストのステップ3で作成したストレージファイル共有名を指定します(「コンテナのデプロイのチェックリスト」を参照)。 |
|
storageAccountName |
文字列 |
対応 |
Azureファイル共有を含むストレージアカウントの名前。 |
|
storageAccountKey |
文字列 |
非対応 |
Azureファイル共有へのアクセスに使用されるストレージアカウントのアクセスキー。ストレージアカウントキーを見つけるには、「アカウントのアクセスキーを表示する」を参照してください。 |
次のコマンドを実行して、前に編集したYAMLファイルを使用してコンテナグループ内にコンテナを作成します。
az container create --resource-group <MyResourceGroup> --name <container-instance-name> --file <containerGroup.yaml>
各要素は次のように指定します。
<MyResourceGroup>は、リソースグループの名前を表します。必須フィールド。
<container-instance-name>は、コンテナグループ内のコンテナインスタンスの名前を表します。
<containerGroup.yaml>は、入力ファイルへのパスを表します。
例: az container create --resource-group MyResourcegroup --name edir93 --file edir-azure-conf.yaml