YAML リファレンス: Azure Container Instances
[アーティクル] 08/29/2024
5 人の共同作成者
フィードバック
この記事の内容
この記事では、コンテナー グループ を構成するために Azure Container Instances によってサポートされている YAML ファイルの構文とプロパティについて説明します。 Azure CLI の az container create コマンドにグループ構成を入力するには、YAML ファイルを使用します。
YAML ファイルは、再現可能なデプロイのためにコンテナー グループを構成する便利な方法です。 これは、Resource Manager テンプレート または Azure Container Instances SDK を使用したコンテナー グループの作成または更新に対する簡便な代替手段です。
Note
このリファレンスは、Azure Container Instances REST API バージョン 2021-10-01
用の YAML ファイルに適用されます。
スキーマ
YAML ファイルのスキーマを次に示します。重要なプロパティはコメントで強調してあります。 このスキーマのプロパティの説明については、「プロパティ値 」セクションを参照してください。
name: string # Name of the container group
apiVersion: '2021-10-01'
location: string
tags: {}
identity:
type: string
userAssignedIdentities: {}
properties: # Properties of container group
containers: # Array of container instances in the group
- name: string # Name of an instance
properties: # Properties of an instance
image: string # Container image used to create the instance
command:
- string
ports: # External-facing ports exposed on the instance, must also be set in group ipAddress property
- protocol: string
port: integer
environmentVariables:
- name: string
value: string
secureValue: string
resources: # Resource requirements of the instance
requests:
memoryInGB: number
cpu: number
gpu:
count: integer
sku: string
limits:
memoryInGB: number
cpu: number
gpu:
count: integer
sku: string
volumeMounts: # Array of volume mounts for the instance
- name: string
mountPath: string
readOnly: boolean
livenessProbe:
exec:
command:
- string
httpGet:
httpHeaders:
- name: string
value: string
path: string
port: integer
scheme: string
initialDelaySeconds: integer
periodSeconds: integer
failureThreshold: integer
successThreshold: integer
timeoutSeconds: integer
readinessProbe:
exec:
command:
- string
httpGet:
httpHeaders:
- name: string
value: string
path: string
port: integer
scheme: string
initialDelaySeconds: integer
periodSeconds: integer
failureThreshold: integer
successThreshold: integer
timeoutSeconds: integer
imageRegistryCredentials: # Credentials to pull a private image
- server: string
username: string
password: string
identity: string
identityUrl: string
restartPolicy: string
ipAddress: # IP address configuration of container group
ports:
- protocol: string
port: integer
type: string
ip: string
dnsNameLabel: string
dnsNameLabelReusePolicy: string
osType: string
volumes: # Array of volumes available to the instances
- name: string
azureFile:
shareName: string
readOnly: boolean
storageAccountName: string
storageAccountKey: string
emptyDir: {}
secret: {}
gitRepo:
directory: string
repository: string
revision: string
diagnostics:
logAnalytics:
workspaceId: string
workspaceKey: string
workspaceResourceId: string
logType: string
metadata: {}
subnetIds: # Subnet to deploy the container group into
- id: string
name: string
dnsConfig: # DNS configuration for container group
nameServers:
- string
searchDomains: string
options: string
sku: string # SKU for the container group
encryptionProperties:
vaultBaseUrl: string
keyName: string
keyVersion: string
initContainers: # Array of init containers in the group
- name: string
properties:
image: string
command:
- string
environmentVariables:
- name: string
value: string
secureValue: string
volumeMounts:
- name: string
mountPath: string
readOnly: boolean
プロパティ値
次の表では、スキーマに設定する必要がある値について説明します。
Microsoft.ContainerInstance/containerGroups オブジェクト
名前
タイプ
必須
価値
name
string
はい
コンテナー グループの名前。
apiVersion
enum
はい
2021-10-01 (最新) 、2021-09-01、2021-07-01、2021-03-01、2020-11-01、2019-12-01、2018-10-01、2018-09-01、2018-07-01、2018-06-01、2018-04-01
location
string
いいえ
リソースの場所。
tags
object
いいえ
リソース タグ。
identity
object
いいえ
コンテナー グループの ID (構成されている場合)。 - ContainerGroupIdentity オブジェクト
properties
object
はい
ContainerGroupProperties オブジェクト
ContainerGroupIdentity オブジェクト
名前
タイプ
必須
値
type
enum
いいえ
コンテナー グループに使用される ID の種類。 「SystemAssigned、UserAssigned」のタイプには、暗黙的に作成された ID とユーザーが割り当てた一連の ID の両方が含まれます。 型 'None' は、コンテナー グループからすべての ID を削除します。 - SystemAssigned、UserAssigned、SystemAssigned、UserAssigned、None
userAssignedIdentities
object
いいえ
コンテナー グループに関連付けられているユーザー ID のリスト。 ユーザー ID ディクショナリ のキー参照は、"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}" という形式の Azure Resource Manager リソース ID です。
ContainerGroupProperties オブジェクト
Container オブジェクト
ImageRegistryCredential オブジェクト
名前
タイプ
必須
値
server
string
はい
"http" や "https" などのプロトコルを除いた Docker イメージ レジストリ サーバー。
username
string
いいえ
プライベート レジストリのユーザー名。
password
string
いいえ
プライベート レジストリのパスワード。
identity
string
いいえ
認証に使用されるユーザーまたはシステム割り当てマネージド ID のリソース ID。
identityUrl
string
いいえ
プライベート レジストリの ID URL。
IpAddress オブジェクト
名前
タイプ
必須
値
ports
array
はい
コンテナー グループで公開されているポートのリスト。 - Port オブジェクト
type
enum
はい
IP がパブリック インターネットまたはプライベート仮想ネットワークに公開されるかどうかを指定します。 - Public または Private
ip
string
いいえ
パブリック インターネットに公開されている IP。
dnsNameLabel
string
いいえ
IP の DNS 名ラベル。
Volume オブジェクト
名前
タイプ
必須
価値
name
string
はい
ボリュームの名前。
azureFile
object
いいえ
Azure File ボリューム。 - AzureFileVolume オブジェクト
emptyDir
object
いいえ
空のディレクトリ ボリューム。
secret
object
いいえ
シークレット ボリューム。
gitRepo
object
いいえ
Git リポジトリ ボリューム。 - GitRepoVolume オブジェクト
ContainerGroupDiagnostics オブジェクト
ContainerGroupSubnetIds オブジェクト
名前
タイプ
必須
値
id
string
はい
サブネットの識別子。
name
string
いいえ
サブネットの名前。
DnsConfiguration オブジェクト
名前
タイプ
必須
値
nameServers
array
はい
コンテナー グループの DNS サーバー。 - string
searchDomains
string
いいえ
コンテナー グループ内のホスト名参照用の DNS 検索ドメイン。
options
string
いいえ
コンテナー グループの DNS オプション。
EncryptionProperties オブジェクト
名前
タイプ
必須
値
vaultBaseUrl
string
はい
keyvault のベース url。
keyName
string
はい
暗号化キーの名前。
keyVersion
string
はい
暗号化キーのバージョン。
InitContainerDefinition オブジェクト
ContainerProperties オブジェクト
Port オブジェクト
名前
タイプ
必須
値
protocol
enum
いいえ
ポートに関連付けられているプロトコル。 - TCP または UDP
port
整数 (integer)
はい
ポート番号。
AzureFileVolume オブジェクト
名前
タイプ
必須
値
shareName
string
はい
ボリュームとしてマウントされる Azure ファイル共有の名前。
readOnly
boolean
いいえ
ボリュームとしてマウントされている Azure ファイル共有が読み取り専用かどうかを示すフラグ。
storageAccountName
string
はい
Azure ファイル共有が含まれているストレージ アカウントの名前。
storageAccountKey
string
いいえ
Azure ファイル共有にアクセスするために使用されるストレージ アカウント アクセス キー。
GitRepoVolume オブジェクト
名前
タイプ
必須
値
directory
string
いいえ
ターゲット ディレクトリの名前。 「..」を含めたり、「..」で始めることはできません。 '.' が指定されている場合、ボリューム ディレクトリは Git リポジトリです。 それ以外の場合、指定した名前のサブディレクトリに git リポジトリがボリュームに含まれます。
repository
string
はい
リポジトリの URL
revision
string
いいえ
指定されたリビジョンのコミット ハッシュ。
LogAnalytics オブジェクト
名前
タイプ
必須
値
workspaceId
string
はい
Log Analytics のワークスペース ID
workspaceKey
string
はい
Log Analytics のワークスペース キー
workspaceResourceId
string
いいえ
Log Analytics のワークスペース リソース ID
logType
enum
いいえ
使用するログの種類。 - ContainerInsights または ContainerInstanceLogs
metadata
object
いいえ
Log Analytics のメタデータ。
InitContainerPropertiesDefinition オブジェクト
名前
タイプ
必須
値
image
string
No
init コンテナーのイメージ。
command
array
いいえ
init コンテナー内で実行する exec 形式のコマンド。 - string
environmentVariables
array
いいえ
Init コンテナーで設定する環境変数。 - EnvironmentVariable オブジェクト
volumeMounts
array
いいえ
ボリューム マウントは、init コンテナーで使用できます。 - VolumeMount オブジェクト
ContainerPort オブジェクト
名前
タイプ
必須
値
protocol
enum
いいえ
ポートに関連付けられているプロトコル。 - TCP または UDP
port
整数 (integer)
はい
コンテナー グループ内で公開されているポート番号。
EnvironmentVariable オブジェクト
名前
タイプ
必須
価値
name
string
はい
環境変数の名前。
value
string
いいえ
環境変数の値。
secureValue
string
いいえ
セキュリティで保護された環境変数の値。
ResourceRequirements オブジェクト
VolumeMount オブジェクト
名前
タイプ
必須
価値
name
string
はい
ボリューム マウントの名前。
mountPath
string
はい
ボリュームをマウントする必要があるコンテナー内のパス。 コロン (:) を含めることはできません。
readOnly
boolean
いいえ
ボリューム マウントが読み取り専用かどうかを示すフラグ。
ContainerProbe オブジェクト
名前
タイプ
必須
値
exec
object
いいえ
プローブする実行コマンド - ContainerExec オブジェクト
httpGet
object
いいえ
プローブする Http Get の設定 - ContainerHttpGet オブジェクト
initialDelaySeconds
整数 (integer)
いいえ
初期遅延秒数。
periodSeconds
整数 (integer)
いいえ
期間の秒数。
failureThreshold
整数 (integer)
いいえ
失敗のしきい値。
successThreshold
整数 (integer)
いいえ
成功のしきい値。
timeoutSeconds
整数 (integer)
いいえ
タイムアウト秒数。
ResourceRequests オブジェクト
名前
タイプ
必須
値
memoryInGB
number
はい
このコンテナー インスタンスのメモリ要求 (GB 単位)。
cpu
number
はい
このコンテナー インスタンスの CPU 要求。
gpu
object
いいえ
このコンテナー インスタンスの GPU 要求。 - GpuResource オブジェクト
ResourceLimits オブジェクト
名前
タイプ
必須
値
memoryInGB
number
いいえ
このコンテナー インスタンスのメモリ制限 (GB 単位)。
cpu
number
いいえ
このコンテナー インスタンスの CPU 制限。
gpu
object
いいえ
このコンテナー インスタンスの GPU 制限。 - GpuResource オブジェクト
ContainerExec オブジェクト
名前
タイプ
必須
値
command
array
いいえ
コンテナー内で実行するコマンド。 - string
ContainerHttpGet オブジェクト
名前
タイプ
必須
値
path
string
いいえ
プローブするパス。
port
整数 (integer)
はい
プローブするポート番号。
scheme
enum
いいえ
スキーム。 - http または https
httpHeaders
object
いいえ
プローブに含まれる HTTP ヘッダー。 - HttpHeaders オブジェクト
名前
タイプ
必須
価値
name
string
いいえ
ヘッダーの名前。
value
string
いいえ
ヘッダーの値。
重要
K80 GPU SKU および P100 GPU SKU は 2023 年 8 月 31 日で提供を終了します。 これは、基盤として使われている VM (NC シリーズ と NCv2 シリーズ ) の提供停止によるものです。V100 SKU は使用可能ですが、代替として Azure Kubernetes Service を使用することをお勧めします。 GPU リソースは完全にはサポートされていないため、運用ワークロードには使用しないでください。 今すぐ AKS に移行するには、次のリソースを使用します: AKS へ移行する方法 。
GpuResource オブジェクト
名前
タイプ
必須
値
count
整数 (integer)
はい
GPU リソースの数。
sku
enum
はい
GPU リソースの SKU。 - V100
次のステップ
チュートリアル「YAML ファイルを使用して複数コンテナー グループをデプロイする 」を参照してください。
仮想ネットワーク 内のコンテナー グループ、または外部ボリュームをマウントする コンテナー グループをデプロイするための YAML ファイルの使用例を参照してください。