2021-08-22 2024-10-20 Azure , Kubernetes Service(AKS) , PowerShell/Azure CLI
Azure Kubernetes Service(AKS)のクラスターやノードプールの起動、停止、状態や設定表示に関するコマンドをまとめです。
Azure PowerShellのコマンドレットとAzure CLIのコマンドについてまとめています。
また、ノードプールの自動スケールを無効化する手順やノード数の変更手順も紹介しています。
※本記事内ではAzure Kubernetes ServiceをAKSと表記しています。
※WindowsのVisual Studio Codeを使用して確認しています。
AKS クラスターやノードプールの表示、起動、停止、ノード数変更に関するコマンド一覧
Azure CLIやAzure PowerShellに関する公式ドキュメントを確認しながら進めます。
Azure CLI
Azure PowerShell
AKS クラスターの一覧や詳細情報を取得
AKS クラスターの一覧表示や、設定情報を表示する場合の、Azure CLIやAzure PowerShellの一覧です。
※Azure CLIの場合"–resource-group"は"-g" “–name"は"-n"と略称が利用出来ます。
※Azure PowerShellの場合は、fc(Format-Custom)を利用して詳細情報を表示しています。
AKS ノードプールの一覧を取得
AKS クラスターのノードプールを一覧表示する場合や、ノードプールの設定情報を表示する場合の、Azure CLIやAzure PowerShellの一覧です。
※Azure CLIの場合"–resource-group"は"-g" “–name"は"-n"と略称が利用出来ます。
※Azure CLIでAKSノードプールの一覧取得する際に、–output tableを付けずに実行するとノードプールの詳細情報が表示されます。
AKS クラスターの起動、停止
AKS クラスターの起動停止に利用する、Azure CLIやAzure PowerShellの一覧です。
AKS クラスターの起動停止は、仮想マシン スケール セットで構成されている場合のみ利用できます。
公式サイトで制限事項を確認するようにします。
Azure Kubernetes Service (AKS) クラスターの停止と起動
※Azure CLIの場合–resource-groupは-g –nameは-nと略称が利用出来ます。
AKS ノードプールの起動、停止
AKS クラスターのノードプールを起動停止する場合に利用する、Azure CLIやAzure PowerShellの一覧です。
Azure PowerShellの場合は、直接ノードプールを停止するのではなく、ノード数を0にする事で対応します。
※Azure CLIの場合–resource-groupは-g –nameは-nと略称が利用出来ます。
AKSノードプールのノード数を変更する
AKS クラスターのノードプールでノード数を変更する場合の、Azure CLIやAzure PowerShellの一覧です。
※Azure CLIの場合–resource-groupは-g –nameは-nと略称が利用出来ます。
※ノードプールのノード数を変更する場合は、自動スケールを無効化する必要があります。
AKSノードプールの自動スケールを無効化する
AKS クラスターのノードプールを起動停止する場合に利用する、Azure CLIやAzure PowerShellの一覧です。
※Azure CLIの場合–resource-groupは-g –nameは-nと略称が利用出来ます。
※Azure PowerShellの場合は、-EnableAutoScalingパラメーターを$Falseとして無効化しています。
—広告—
Azure CLIでAKS クラスターやノードプールの表示、起動、停止、自動スケール無効化、ノード数変更
コマンドの確認には以下のAKSリソースを利用しています。
ノードプールの停止、ノード数の変更はuserpoolで実施しています。
AKS クラスター名:aks-01
リソースグループ:rg-aks-01
ノードプール1
モード : システム
ノードプール名: agentpool
ノードプール2
モード : ユーザー
ノードプール名: userpool
Azure CLIでAKS クラスターの一覧や詳細情報を出力
Azure CLIコマンドを実行して、AKS クラスターの一覧や詳細情報を表示します。
コマンド実行例
AKS クラスターの一覧 出力例
# AKS クラスターの一覧を取得
PS C:\> az aks list –output table
Name Location ResourceGroup KubernetesVersion CurrentKubernetesVersion ProvisioningState Fqdn
—— ———- ————— ——————- ————————– ——————- ——————————————-
aks-01 japaneast rg-aks-01 1.29.9 1.29.9 Succeeded aks-01-dns-xxxxxxxx.hcp.japaneast.azmk8s.io
aks-02 japaneast rg-aks-03 1.29.9 1.29.9 Succeeded aks-02-dns-xxxxxxxx.hcp.japaneast.azmk8s.io
AKS クラスターの一覧 出力例(リソースグループを指定)
# AKS クラスターの一覧を取得(リソースグループを指定)
PS C:\>
az aks list –output table –resource-group “rg-aks-01"
Name Location ResourceGroup KubernetesVersion CurrentKubernetesVersion ProvisioningState Fqdn
—— ———- ————— ——————- ————————– ——————- ——————————————-
aks-01 japaneast rg-aks-01 1.29.9 1.29.9 Succeeded aks-01-dns-xxxxxxxx.hcp.japaneast.azmk8s.io
AKS クラスターの詳細情報 出力例
# AKS クラスターの詳細情報を取得
PS C:\>
az aks show –name “aks-01" –resource-group “rg-aks-01"
{
AKSのリソースに関する詳細情報が表示されます
}
# AKS クラスターの詳細情報を取得(抜粋)
PSC:\> az aks show –resource-group “rg-aks-01" –name “aks-01" –query “{Name: name, PowerState: powerState.code}" –output table
Name PowerState
—— ————
aks-01 Running
Azure CLIでAKS クラスターのノードプールの一覧や詳細情報を出力
Azure CLIコマンドを実行して、AKS クラスターのノードプールの一覧や詳細情報を表示します。
コマンド実行例
AKS クラスターのノードプールの一覧 出力例
# ノードプールの一覧を取得
PS C:\> az aks nodepool list –resource-group “rg-aks-01" –cluster-name “aks-01" –output table
Name OsType KubernetesVersion VmSize Count MaxPods ProvisioningState Mode
——— ——– ——————- —————- ——- ——— ——————- ——
agentpool Linux 1.29.9 Standard_D2as_v5 1 110 Succeeded System
userpool Linux 1.29.9 Standard_D2as_v5 1 30 Succeeded User
AKS クラスターのノードプールの詳細情報 出力例
# ノードプールの詳細情報を取得
PS C:\>
az aks nodepool show –cluster-name “aks-01" –resource-group “rg-aks-01" –name “agentpool"
{
“availabilityZones": null,
“capacityReservationGroupId": null,
“count": 1,
~中略~
“vmSize": “Standard_D2as_v5",
“vnetSubnetId": “サブネットID",
“workloadRuntime": null
}
# ノードプールの情報を抜粋して表示
PSC:\> az aks nodepool show –cluster-name “aks-01" –resource-group “rg-aks-01" –name “agentpool" `
–query “{Name: name, VmSize: vmSize, Count: count, Version: currentOrchestratorVersion, PowerState: powerState.code}" `
–output table
Name VmSize Count Version PowerState
——— —————- ——- ——— ————
agentpool Standard_D2as_v5 1 1.29.9 Running
Azure CLIでAKS クラスターを起動、停止
Azure CLIコマンドを使用して、AKSクラスターの起動から停止までの一連の流れを実行します。
Azure CLIコマンドの実行前後でAKSクラスターの電源状態も確認します。
AKS クラスター起動停止
AKS クラスターの電源の状態を確認
(クラスターの初期状態を確認)
PS C:\>
az aks show –resource-group “rg-aks-01" –name “aks-01" –query “{Name: name, PowerState: powerState.code}" –output table
Name PowerState
—— ————
aks-01 Stopped
AKS クラスター起動
(az aks start )
PS C:\>
az aks start –resource-group “rg-aks-01" –name “aks-01"
AKS クラスターの電源の状態を確認
(クラスターの起動を確認)
PS C:\>
az aks show –resource-group “rg-aks-01" –name “aks-01" –query “{Name: name, PowerState: powerState.code}" –output table
Name PowerState
—— ————
aks-01 Running
AKS クラスター停止
(az aks stop )
PS C:\>
az aks stop –resource-group “rg-aks-01" –name “aks-01"
Your private cluster apiserver IP might get changed when it’s stopped and started.
Any user provisioned private endpoints linked to this private cluster will need to be deleted and created again. Any user managed DNS record also needs to be updated with the new IP.
AKS クラスターの電源の状態を確認
(クラスターの停止を確認)
PS C:\>
az aks show –resource-group “rg-aks-01" –name “aks-01" –query “{Name: name, PowerState: powerState.code}" –output table
Name PowerState
—— ————
aks-01 Stopped
Azure CLIでAKS クラスターのノードプールを起動、停止
Azure CLIコマンドを使用して、AKSクラスターのノードプールの起動から停止までの一連の流れを実行します。
Azure CLIコマンドの実行前後でAKSクラスターの電源状態も確認します。
ノードプールの起動停止
ノードプールの電源の状態を確認
(初期状態を確認)
PS C:\>
az aks nodepool list –resource-group “rg-aks-01" –cluster-name “aks-01" –query “[].{Name:name, PowerState:powerState.code}" –output table
Name PowerState
——— ————
agentpool Running
userpool Running
ノードプールを停止
(az aks nodepool stop )
PS C:\>
az aks nodepool stop –cluster-name “aks-01" –resource-group “rg-aks-01" –name userpool
ノードプールの電源の状態を確認
(ノードプールの停止を確認)
PS C:\>
az aks nodepool list –resource-group “rg-aks-01" –cluster-name “aks-01" –query “[].{Name:name, PowerState:powerState.code}" –output table
Name PowerState
———– ————
agentpool Running
userpool Stopped
ノードプールを起動
(az aks nodepool start )
PS C:\>
az aks nodepool start –cluster-name “aks-01" –resource-group “rg-aks-01" –name userpool
ノードプールの電源の状態を確認
(ノードプールの起動を確認)
PS C:\>
az aks nodepool list –resource-group “rg-aks-01" –cluster-name “aks-01" –query “[].{Name:name, PowerState:powerState.code}" –output table
Name PowerState
——— ————
agentpool Running
userpool Running
Azure CLIでノードプールの自動スケール無効化、ノード数変更
Azure CLIコマンドを使用して、AKSクラスターのノードプールの自動スケール無効化、ノード数変更します。
Azure CLIコマンドの実行前後でノードプールの自動スケール有効化状況や、ノード数を確認します。
ノードプールの自動スケール無効化からノード数変更
ノードプールの自動スケール状態を確認
PS C:\> az aks nodepool list –resource-group “rg-aks-01" –cluster-name “aks-01" –query “[].{Name:name, PowerState:powerState.code, Count:count, AutoScale:enableAutoScaling}" –output table
Name PowerState Count AutoScale
——— ———— ——- ———–
agentpool Running 1 True
userpool Running 1 True
ノードプールの自動スケールを無効化
(az aks nodepool update )
PS C:\> az aks nodepool update –disable-cluster-autoscaler –cluster-name “aks-01" –resource-group “rg-aks-01" –name “userpool"
ノードプールの自動スケール状態を確認
(有効→無効)
PS C:\> az aks nodepool list –resource-group “rg-aks-01" –cluster-name “aks-01" –query “[].{Name:name, PowerState:powerState.code, Count:count, AutoScale:enableAutoScaling}" –output table
Name PowerState Count AutoScale
——— ———— ——- ———–
agentpool Running 1 True
userpool Running 1 False
AKS ノードプールのノード数を変更
(az aks nodepool scale )
PS C:\>
az aks nodepool scale –cluster-name “aks-01" –resource-group “rg-aks-01" –name “userpool" –node-count 2
ノードプールのノード数を確認
(1→2)
PS C:\> az aks nodepool list –resource-group “rg-aks-01" –cluster-name “aks-01" –query “[].{Name:name, PowerState:powerState.code, Count:count, AutoScale:enableAutoScaling}" –output table
Name PowerState Count AutoScale
——— ———— ——- ———–
agentpool Running 1 True
userpool Running 2 False
AKS ノードプールのノード数を変更
(az aks nodepool scale )
PS C:\>
az aks nodepool scale –cluster-name “aks-01" –resource-group “rg-aks-01" –name “userpool" –node-count 0
ノードプールのノード数を確認
(2→0)
PS C:\> az aks nodepool list –resource-group “rg-aks-01" –cluster-name “aks-01" –query “[].{Name:name, PowerState:powerState.code, Count:count, AutoScale:enableAutoScaling}" –output table
Name PowerState Count AutoScale
——— ———— ——- ———–
agentpool Running 1 True
userpool Running 0 False
—広告—
Azure PowerShellでAKS クラスターやノードプールの表示、起動、停止、自動スケール無効化、ノード数変更
コマンドレットの確認には以下のAKSリソースを利用しています。
ノードプールの停止、ノード数の変更はuserpoolで実施しています。
AKS クラスター名:aks-01
リソースグループ:rg-aks-01
ノードプール1
モード : システム
ノードプール名: agentpool
ノードプール2
モード : ユーザー
ノードプール名: userpool
Azure PowerShellでAKS クラスターの一覧や詳細情報を出力
Azure PowerShell コマンドレットを実行して、AKS クラスターの一覧や詳細情報を表示します。
コマンドレット実行例
AKS クラスターの一覧 出力例
~
# AKS クラスターの一覧を取得
PS C:\> Get-AzAksCluster
PowerState : Microsoft.Azure.Commands.Aks.Models.PSPowerState
~中略~
Name : aks-01
Type : Microsoft.ContainerService/ManagedClusters
Location : japaneast
Tags :
PowerState : Microsoft.Azure.Commands.Aks.Models.PSPowerState
~中略~
Name : aks-02
Type : Microsoft.ContainerService/ManagedClusters
Location : japaneast
Tags :
# AKS クラスターの一覧を取得(表示項目を指定)
PS C:\> Get-AzAksCluster `
| Select-Object Name, Location, ResourceGroupName, KubernetesVersion, CurrentKubernetesVersion, ProvisioningState, Fqdn `
| Format-Table -AutoSize
Name Location ResourceGroupName KubernetesVersion CurrentKubernetesVersion ProvisioningState Fqdn
—- ——– —————– —————– ———————— —————– —-
aks-01 japaneast rg-aks-01 1.29.9 1.29.9 Succeeded aks-01-dns-xxxxxxxx.hcp.japaneast.azmk8s.io
aks-02 japaneast rg-aks-03 1.29.9 1.29.9 Succeeded aks-02-dns-xxxxxxxx.hcp.japaneast.azmk8s.io
AKS クラスターの一覧 出力例(リソースグループを指定)
# AKS クラスターの一覧を取得(リソースグループを指定)
PS C:\> Get-AzAksCluster -ResourceGroupName “rg-aks-01"
PowerState : Microsoft.Azure.Commands.Aks.Models.PSPowerState
~中略~
Name : aks-01
Type : Microsoft.ContainerService/ManagedClusters
Location : japaneast
Tags :
AKS クラスターの詳細情報 出力例
# AKS クラスターの詳細情報を取得
PS C:\>
Get-AzAksCluster -ResourceGroupName “rg-aks-01" -name “aks-01" | fc
class PSKubernetesCluster
{
PowerState =
class PSPowerState
{
Code = Running
}
Sku =
class ManagedClusterSKU
{
Name = Base
Tier = Free
}
~中略~
Name = aks-01
Type = Microsoft.ContainerService/ManagedClusters
Location = japaneast
Tags =
}
# AKS クラスターの詳細情報を取得(抜粋)
PS C:\> Get-AzAksCluster -ResourceGroupName “rg-aks-01" -Name “aks-01" `
| Select-Object @{Name=’Name’; Expression={$_.Name}}, @{Name=’PowerState’; Expression={$_.PowerState.Code}} `
| Format-Table -AutoSize
Name PowerState
—- ———-
aks-01 Running
Azure PowerShellでAKS クラスターのノードプールの一覧や詳細情報を出力
Azure PowerShell コマンドレットを実行して、AKS クラスターのノードプールの一覧や詳細情報を表示します。
コマンドレット実行例
AKS クラスターのノードプールの一覧 出力例
# AKSノードプールの一覧を取得
PS C:\> Get-AzAksNodePool -ResourceGroupName “rg-aks-01" -ClusterName “aks-01"
Count : 1
VmSize : Standard_D2as_v5
~中略~
Name : agentpool
Type : Microsoft.ContainerService/managedClusters/agentPools
Count : 1
VmSize : Standard_D2as_v5
OsDiskSizeGB : 128
~中略~
Name : userpool
Type : Microsoft.ContainerService/managedClusters/agentPools
# AKS クラスターのノードプールを取得(表示項目を指定)
PS C:\>
Get-AzAksNodePool -ResourceGroupName “rg-aks-01" -ClusterName “aks-01" `
| Select-Object Name, OsType, CurrentOrchestratorVersion, VmSize, Count, MaxPods, ProvisioningState, Mode `
| Format-Table -AutoSize
Name OsType CurrentOrchestratorVersion VmSize Count MaxPods ProvisioningState Mode
—- —— ————————– —— —– ——- —————– —-
agentpool Linux 1.29.9 Standard_D2as_v5 1 110 Succeeded System
userpool Linux 1.29.9 Standard_D2as_v5 1 30 Succeeded User
AKS クラスターのノードプールの詳細情報 出力例
# AKS クラスターのノードプールを指定して表示
PS C:\>
Get-AzAksNodePool -ResourceGroupName “rg-aks-01" -ClusterName “aks-01" -name “agentpool" | fc
class PSNodePool
{
Count = 1
VmSize = Standard_D2as_v5
OsDiskSizeGB = 128
~中略~
Name = agentpool
Type = Microsoft.ContainerService/managedClusters/agentPools
}
# AKS クラスターのノードプールを指定して表示(表示項目を指定)
PS C:\> Get-AzAksNodePool -ResourceGroupName “rg-aks-01" -ClusterName “aks-01" -name “agentpool" `
| Select-Object Name, OsType, CurrentOrchestratorVersion, VmSize, Count, MaxPods, ProvisioningState, Mode `
| Format-Table -AutoSize
Name OsType CurrentOrchestratorVersion VmSize Count MaxPods ProvisioningState Mode
—- —— ————————– —— —– ——- —————– —-
agentpool Linux 1.29.9 Standard_D2as_v5 1 110 Succeeded System
Azure PowerShellでAKS クラスターを起動、停止
Azure PowerShellコマンドレットを使用して、AKSクラスターの起動から停止までの一連の流れを実行します。
Azure PowerShellコマンドレットの実行前後でAKSクラスターの電源状態も確認します。
AKS クラスター起動停止
AKS クラスターの電源の状態を確認
(クラスターの初期状態を確認)
PS C:\> Get-AzAksCluster -ResourceGroupName “rg-aks-01" -Name “aks-01" `
| Select-Object @{Name=’Name’; Expression={$_.Name}}, @{Name=’PowerState’; Expression={$_.PowerState.Code}} `
| Format-Table -AutoSize
Name PowerState
—- ———-
aks-01 Stopped
AKS クラスター起動(Start-AzAksCluster )
PS C:\>
Start-AzAksCluster -ResourceGroupName “rg-aks-01" -name “aks-01"
AKS クラスターの電源の状態を確認
(クラスターの起動を確認)
PS C:\> Get-AzAksCluster -ResourceGroupName “rg-aks-01" -Name “aks-01" `
| Select-Object @{Name=’Name’; Expression={$_.Name}}, @{Name=’PowerState’; Expression={$_.PowerState.Code}} `
| Format-Table -AutoSize
Name PowerState
—- ———-
aks-01 Running
AKS クラスター停止(Stop-AzAksCluster )
PS C:\>
Stop-AzAksCluster -ResourceGroupName “rg-aks-01" -name “aks-01"
AKS クラスターの電源の状態を確認
(クラスターの停止を確認)
PS C:\> Get-AzAksCluster -ResourceGroupName “rg-aks-01" -Name “aks-01" `
| Select-Object @{Name=’Name’; Expression={$_.Name}}, @{Name=’PowerState’; Expression={$_.PowerState.Code}} `
| Format-Table -AutoSize
Name PowerState
—- ———-
aks-01 Stopped
Azure PowerShellでノードプールの自動スケール無効化、ノード数変更
Azure PowerShell コマンドレットを使用して、AKSクラスターのノードプールの自動スケール無効化、ノード数変更します。
Azure PowerShell コマンドレットの実行前後でノードプールの自動スケール有効化状況や、ノード数を確認します。
ノードプールの自動スケール無効化、ノード数変更
ノードプールの自動スケール状態を確認
PS C:\> Get-AzAksNodePool -ResourceGroupName “rg-aks-01" -ClusterName “aks-01" -Name “userpool" `
| Select-Object @{Name=’Name’; Expression={$_.Name}}, `
@{Name=’NodeCount’; Expression={$_.Count}}, `
@{Name=’AutoScaling’; Expression={$_.EnableAutoScaling}} `
| Format-Table -AutoSize
Name NodeCount AutoScaling
—- ——— ———–
userpool 1 True
ノードプールの自動スケールを無効化
(Update-AzAksNodePool )
PS C:\> Update-AzAksNodePool -ResourceGroupName “rg-aks-01" -ClusterName “aks-01" -Name “userpool" -EnableAutoScaling:$False
ノードプールの自動スケール状態を確認
(有効→無効)
PS C:\> Get-AzAksNodePool -ResourceGroupName “rg-aks-01" -ClusterName “aks-01" -Name “userpool" `
| Select-Object @{Name=’Name’; Expression={$_.Name}}, `
@{Name=’NodeCount’; Expression={$_.Count}}, `
@{Name=’AutoScaling’; Expression={$_.EnableAutoScaling}} `
| Format-Table -AutoSize
Name NodeCount AutoScaling
—- ——— ———–
userpool 1 False
ノードプールのノード数を変更
(Update-AzAksNodePool )
PS C:\> Update-AzAksNodePool -ResourceGroupName “rg-aks-01" -ClusterName “aks-01" -Name “userpool" -NodeCount 2
ノードプールのノード数を確認
(1→2)
PS C:\> Get-AzAksNodePool -ResourceGroupName “rg-aks-01" -ClusterName “aks-01" -Name “userpool" `
| Select-Object @{Name=’Name’; Expression={$_.Name}}, `
@{Name=’NodeCount’; Expression={$_.Count}}, `
@{Name=’AutoScaling’; Expression={$_.EnableAutoScaling}} `
| Format-Table -AutoSize
Name NodeCount AutoScaling
—- ——— ———–
userpool 2 False
ノードプールのノード数を変更
(Update-AzAksNodePool )
PS C:\> Update-AzAksNodePool -ResourceGroupName “rg-aks-01" -ClusterName “aks-01" -Name “userpool" -NodeCount 0
ノードプールのノード数を確認
(2→0)
PS C:\> Get-AzAksNodePool -ResourceGroupName “rg-aks-01" -ClusterName “aks-01" -Name “userpool" `
| Select-Object @{Name=’Name’; Expression={$_.Name}}, `
@{Name=’NodeCount’; Expression={$_.Count}}, `
@{Name=’AutoScaling’; Expression={$_.EnableAutoScaling}} `
| Format-Table -AutoSize
Name NodeCount AutoScaling
—- ——— ———–
userpool 0 False
最後に
AKSに関するAzure PowerShell、Azure CLIコマンドについてまとめてみました。
クラスターやノードプールの起動、停止、表示、自動スケール無効化、ノード数の変更まで確認してみました。
引き続き色々試してみたいと思います。
AKSのリソース作成やサンプルのアプリの動作までの手順を確認しています。