Draft 是一個開源專案,透過將非容器化應用程式產生 Dockerfile、Kubernetes 清單、Helm 圖表、Kustomize 設定及其他容器化應用程式相關的產物,簡化 Kubernetes 開發流程。 Draft 也能建立 GitHub Action 工作流程檔案,快速將應用程式建置並部署到任何 Kubernetes 叢集上。
運作方式
Draft 具有下列命令,有助於簡化 Kubernetes 上的開發:
-
draft create:建立 Dockerfile 和適當的清單檔案。 -
draft setup-gh:設定你的GitHub OIDC。 -
draft generate-workflow:產生 GitHub Action 工作流程檔案,用於部署到你的叢集。 -
draft up:設定你的GitHub OIDC,並產生一個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-preview更新延伸模組,使用
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 註冊申請。 各存放庫僅須執行此步驟一次。
請使用
az aks draft setup-gh指令向 GitHub 註冊您的應用程式。az aks draft setup-gh
使用 draft generate-workflow 產生一個部署用的 GitHub 動作工作流程檔案
建立工件並設定 GitHub OIDC 後,你可以使用 draft generate-workflow 產生一個 GitHub Action 工作流程檔案,建立一個動作將你的應用程式部署到 AKS 叢集。 當你的工作流程檔案產生後,你必須將其提交到你的倉庫,才能啟動 GitHub 動作。
使用
az aks draft generate-workflow指令產生一個 GitHub Action 工作流程檔案。az aks draft generate-workflow您也可以使用
--destination旗標,在特定目錄上執行命令,如下列範例中所示:az aks draft generate-workflow --destination /Workspaces/ContosoAir
設定 GitHub OpenID Connect(OIDC)並使用 draft up 來產生一個 GitHub Action 工作流程檔案
draft up 是一個指令,用於完成 GitHub OIDC 設定並產生部署所需的 GitHub Action 工作流程檔案。 此命令會有效結合 draft setup-gh 和 draft generate-workflow 命令,意即最常用於第一次開始使用新存放庫時,且只須執行一次。 後續可使用 draft generate-workflow 進行 GitHub Action 工作流程檔案的更新。
設定 GitHub OIDC,並使用
az aks draft up指令產生 GitHub Action 工作流程檔案。az aks draft up您也可以使用
--destination旗標,在特定目錄上執行命令,如下列範例中所示:az aks draft up --destination /Workspaces/ContosoAir
搭配 Draft 使用應用程式路由,讓您的應用程式可透過網際網路存取
應用程式路由 是讓你的網頁應用程式在 Kubernetes 中安全啟動並運行最簡單的方法。 應用程式路由會去除輸入控制器和憑證與 DNS 管理的複雜度,並為想要自備的企業提供設定。 應用程式路由提供以 Nginx 為基礎的受控輸入控制器,使用上不受限制,同時整合了現成可用的 Open Service Mesh,以保護叢集內部通訊。
用
az aks draft update設定 Draft with Application Routing,並在提示時輸入 DNS 名稱和 Azure Key Vault 儲存憑證。az aks draft update您也可以使用
--destination旗標,在特定目錄上執行命令,如下列範例中所示:az aks draft update --destination /Workspaces/ContosoAir