Appearance
1. Kubeconfig の作成 (CLI)
Qmonus Value Streamは、Kubeconfigと呼ばれる認証ファイルを利用して Kubernetesへアプリケーションをデプロイします。ここでは、今回デプロイする対象のKubernetes Namespaceに権限を持つKubeconfigを生成します。
以下の手順にしたがって、ユーザ自身で準備いただいたAKSクラスタにアクセスし、Kubeconfigを生成してください。
info
Kubeconfigの作成には、AKSクラスタに対して下記のIAM権限をKubeconfigを作成するユーザに割り当てる必要があります。
Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action
1-1. Azure CLIのインストール
Azure環境でKubeconfigを作成するためにはAzure CLI (AZ) が必要です。 以下のページを参考に、Azure CLIをインストールしてください。 Azure CLIをインストールする方法
1-2. Azure CLIでのログイン
Azure CLIのインストールが完了したら以下のコマンドを実行してAzureへログインします。 コマンドを実行するとWebブラウザが開き認証を求められますので、ご自身のAzureアカウントでログインしてください。
info
- コマンドの実行に必要なtenant_idは以下の手順で確認します。
- Azure Portalにログイン
- Microsoft Entra External ID を選択
- メニューから
概要
を選択し、画面に表示されたテナントIDをコピー
- メニューから
AzureのテナントIDを環境変数に定義
bash
export tenant_id=(テナントID)
bash
az login --tenant ${tenant_id}
コマンドを実行するとWebブラウザが開きますのでログインして下さい。 ログインが完了するとログインしたテナントとユーザの詳細情報が表示されます。
json
[
{
"cloudName": "AzureCloud",
"homeTenantId": "テナントID",
"id": "テナントID",
"isDefault": true,
"managedByTenants": [],
"name": "Microsoft Azure",
"state": "Enabled",
"tenantId": "テナントID",
"user": {
"name": "ログインしたユーザのID",
"type": "user"
}
}
]
1-3. Kubernetesへ接続
利用するKubernetesクラスタ名, Kubernetesクラスタが存在するリソースグループ名, 新規作成するK8sNamesapceを環境変数に定義
bash
export cluster_name=(利用するKubernetesクラスタ名)
export resource_group=(Kubernetesクラスタが存在するリソースグループ名)
定義した環境変数を利用してKubernetesへ接続
bash
az aks get-credentials --admin --name ${cluster_name} --resource-group ${resource_group}
1-4. Kubeconfigの作成
Qmonus Value Stream CLI(qvsctl
)を利用して、Kubeconfig を作成します。
info
Qmonus Value Stream CLI は Qmonus Value Stream 専用のコマンドラインインターフェース (CLI) です。 以下のページを参考に、Qmonus Value Stream CLIをインストールしてください。
Kubeconfigを生成するNamespaceを環境変数に定義
ここでデプロイ先のKubernetes Namespaceとして、チュートリアル用に新規で作成するNamespaceを指定します。 指定したNamespaceがKubeconfigを生成する際にクラスタに作成されます。 ここで指定したNamespace名は、以降の手順でCI/CDパイプラインを実行する際に、実行パラメータとして使用されます。
bash
export k8sNamespace=(デプロイ先のKubernetes Namespace名)
定義した環境変数を利用してKubeconfigを生成
Namespace作成時に yes/no
を聞かれる場合は yes
と入力してください。
bash
qvsctl plugin gen-kubeconfig -n ${k8sNamespace}
Kubeconfigを確認
bash
cat output.kubeconfig.yaml