Azure Kubernetes Service (AKS) 用 Draft (プレビュー)

Draft は、コンテナ化されていないアプリケーションを作成し、Dockerfiles、Kubernetes マニフェスト、Helm チャート、Kustomize 構成、コンテナ化されたアプリケーションに関連付けられているその他の成果物を生成することで、Kubernetes 開発を合理化するオープンソース プロジェクトです。 Draft では、GitHub Action ワークフロー ファイルを作成して、アプリケーションをすばやくビルドし、Kubernetes クラスターにデプロイすることもできます。

しくみ

Draft には、Kubernetes での開発を容易にするのに役立つ次のコマンドがあります。

  • draft create: Dockerfile と適切なマニフェスト ファイルを作成します。
  • draft setup-gh: GitHub OIDC を設定します。
  • draft generate-workflow: クラスターにデプロイするための GitHub アクション ワークフロー ファイルを生成します。
  • draft up: GitHub OIDC を設定し、前の 2 つのコマンドを組み合わせて GitHub アクション ワークフロー ファイルを生成します。

前提条件

  • Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
  • 最新バージョンの Azure CLIaks-preview 拡張機能をインストールしてください。
  • まだない場合は、AKS クラスターと Azure Container Registry インスタンスを作成する必要があります。

aks-preview Azure CLI 拡張機能をインストールする

重要

AKS のプレビュー機能は、セルフサービスのオプトイン単位で利用できます。 プレビューは、"現状有姿のまま" および "利用可能な限度" で提供され、サービス レベル アグリーメントおよび限定保証から除外されるものとします。 AKS プレビューは、ベストエフォート ベースでカスタマー サポートによって部分的にカバーされます。 そのため、これらの機能は、運用環境での使用を意図していません。 詳細については、次のサポート記事を参照してください。

  1. az extension add コマンドを使用して aks-preview 拡張機能をインストールします。

    az extension add --name aks-preview
    
  2. az extension update コマンドを使用して拡張機能を更新して、最新バージョンが確実にインストールされた状態にします。

    az extension update --name aks-preview
    

draft create を使用した成果物の作成

draft create を使用して、アプリケーションを AKS クラスターにデプロイするために必要な Dockerfile、Helm チャート、Kubernetes マニフェスト、または Kustomize ファイルを作成できます。

  • az aks draft create コマンドを使用して成果物を作成します。

    az aks draft create
    
    • 次の例に示すように、--destination フラグを使用して、特定のディレクトリでコマンドを実行することもできます。

      az aks draft create --destination /Workspaces/ContosoAir
      

draft setup-gh を使用して GitHub OIDC を設定する

Draft を使用するには、draft setup-gh を使用して GitHub にアプリケーションを登録する必要があります。 このステップは、リポジトリごとに 1 回だけ実行する必要があります。

  • az aks draft setup-gh コマンドを使用して、GitHub にアプリケーションを登録します。

    az aks draft setup-gh
    

draft generate-workflow を使用して、デプロイ用の GitHub アクション ワークフロー ファイルを生成する

成果物を作成して GitHub OIDC を設定した後、draft generate-workflow を使用して GitHub アクション ワークフロー ファイルを生成し、AKS クラスターにアプリケーションをデプロイするアクションを作成できます。 ワークフロー ファイルが生成されたら、GitHub アクションを開始するためにリポジトリにコミットする必要があります。

  • az aks draft generate-workflow コマンドを使用して、GitHub アクション ワークフロー ファイルを生成します。

    az aks draft generate-workflow
    
    • 次の例に示すように、--destination フラグを使用して、特定のディレクトリでコマンドを実行することもできます。

      az aks draft generate-workflow --destination /Workspaces/ContosoAir
      

GitHub OpenID Connect (OIDC) を設定し、draft up を使用して GitHub アクション ワークフロー ファイルを生成する

draft up は、GitHub OIDC の設定を実行し、デプロイ用の GitHub アクション ワークフロー ファイルを生成するための 1 つのコマンドです。 これは、draft setup-gh コマンドと draft generate-workflow コマンドを効果的に組み合わせたものであり、新しいリポジトリで初めて開始するときに最も一般的に使用され、1 回だけ実行する必要があります。 GitHub アクション ワークフロー ファイルに対する後続の更新は、draft generate-workflow を使用して行うことができます。

  • az aks draft up コマンドを使用して、GitHub OIDC を設定し、GitHub アクション ワークフロー ファイルを生成します。

    az aks draft up
    
    • 次の例に示すように、--destination フラグを使用して、特定のディレクトリでコマンドを実行することもできます。

      az aks draft up --destination /Workspaces/ContosoAir
      

Draft とともにアプリケーション ルーティングを使用して、インターネット経由でアプリケーションにアクセスできるようにする

[アプリケーション ルーティング]app-routingは、Web アプリケーションを Kubernetes で安全に稼働させる最も簡単な方法です。 アプリケーション ルーティングは、イングレス コントローラーと証明書および DNS 管理の複雑さを取り除き、独自のものの使用を考えているエンタープライズ向けの構成を提供します。 アプリケーション ルーティングは、制限なしで使用できる nginx に基づくマネージド イングレス コントローラーを提供し、Open Service Mesh とそのまま統合して、クラスター内通信をセキュリティで保護します。

  • az aks draft update を使用してアプリケーション ルーティングで Draft を設定し、メッセージが表示されたら、DNS 名と Azure Key Vault で保存された証明書を渡します。

    az aks draft update
    
    • 次の例に示すように、--destination フラグを使用して、特定のディレクトリでコマンドを実行することもできます。

      az aks draft update --destination /Workspaces/ContosoAir