Draft は、コンテナー化されていないアプリケーションを作成し、コンテナー化されたアプリケーションに関連付けられた Dockerfiles、Kubernetes マニフェスト、Helm チャート、Kustomize 構成、およびその他の成果物を生成することで、Kubernetes の開発を効率化するオープンソース プロジェクトです。 Draft では、GitHubアクション ワークフロー ファイルを作成して、任意の Kubernetes クラスターにアプリケーションをすばやくビルドしてデプロイすることもできます。
しくみ
Draft には、Kubernetes での開発を容易にするのに役立つ次のコマンドがあります。
-
draft create: Dockerfile と適切なマニフェスト ファイルを作成します。 -
draft setup-gh: GitHub OIDC を設定します。 -
draft generate-workflow: クラスターにデプロイするためのGitHub アクション ワークフロー ファイルを生成します。 -
draft up: GitHub OIDC を設定し、前の 2 つのコマンドを組み合わせてGitHubアクション ワークフロー ファイルを生成します。
前提条件
- Azure サブスクリプションがない場合は、開始する前に free アカウントを作成します。
- 最新バージョンの Azure CLI および aks-preview 拡張機能をインストールします。
- まだない場合は、AKS クラスターとAzure Container Registry インスタンスを作成する必要があります。
aks-preview Azure CLI 拡張機能をインストールする
重要
AKS のプレビュー機能は、セルフサービスのオプトイン単位で利用できます。 プレビューは、"現状有姿" および "利用可能な限度" で提供され、サービス レベル アグリーメントおよび限定保証から除外されるものとします。 AKS プレビューは、ベストエフォート ベースでカスタマー サポートによって部分的にカバーされます。 そのため、これらの機能は、運用環境での使用を意図していません。 詳細については、次のサポート記事を参照してください。
aks-previewコマンドを使用してaz extension add拡張機能をインストールします。az extension add --name aks-previewaz 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 を使用して OIDC GitHub設定する
Draft を使用するには、draft setup-gh を使用してアプリケーションをGitHubに登録する必要があります。 このステップは、リポジトリごとに 1 回だけ実行する必要があります。
az aks draft setup-ghコマンドを使用して、アプリケーションをGitHubに登録します。az aks draft setup-gh
draft generate-workflow を使用してデプロイ用のGitHub アクション ワークフロー ファイルを生成する
成果物を作成して OIDC GitHub設定した後、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 を使用して行うことができます。
OIDC GitHub設定し、
az aks draft upコマンドを使用してGitHubアクション ワークフロー ファイルを生成します。az aks draft up次の例に示すように、
--destinationフラグを使用して、特定のディレクトリでコマンドを実行することもできます。az aks draft up --destination /Workspaces/ContosoAir
Draft とともにアプリケーション ルーティングを使用して、インターネット経由でアプリケーションにアクセスできるようにする
アプリケーション ルーティング は、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