Skip to content

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は以下の手順で確認します。
      1. Azure Portalにログイン
      1. Microsoft Entra External ID を選択
      1. メニューから概要を選択し、画面に表示されたテナント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