全部產品
Search
文件中心

Alibaba Cloud DevOps:Kubernetes Kubectl 發布

更新時間:Jun 12, 2026

Flow 提供了通用的 Kubernetes 部署能力支援,通過內建的 Kubectl 工具將 Kubernetes YAML資源描述檔案部署到任意叢集中。在原生 Kubectl 的能力基礎上, Flow 還內建了動態模板的能力,從而協助使用者快速實現容器應用的構建與發布。本文主要介紹了如何通過Flow添加並配置Kubernetes發布任務,以及如何查看部署後的日誌。

方案概覽

  1. 添加部署任務

  2. 配置部署任務

  3. 查看部署日誌

添加部署任務

可以通過兩種形式添加部署任務。

  • 建立流水線時,選擇包含 Kubernetes 發布的模板。

    可視化編排 頁簽下,選擇左側 Java 分類,選中 Java · 測試、構建鏡像,發布到Kubernetes叢集/阿里雲Container Service 模板,單擊 建立高的 (41)

  • 在流水線中添加空任務,並添加 Kubernetes 發布步驟。

    在工作面板左側選擇部署分類,在右側選擇Kubernetes發布

配置部署任務

進入 Kubectl 步驟,進行如下配置:

  1. 選擇或者建立 Kubernetes叢集串連,關於如何建立 Kubernetes 叢集串連請參見Kubernetes叢集管理

    配置 Kubectl 發布步驟的其他參數:設定 Kubectl 版本(例如 v1.16.4)、命名空間(例如 default)、YAML 路徑(例如 app-configs/manifest2),並根據需要勾選 使用Replace模式跳過 TLS 校正跳過模板校正等選項,然後在 變數地區配置鏡像等參數。

  2. 輸入發布的目標命名空間

  3. 輸入當前需要部署的YAML路徑,並添加需要傳遞的變數。

    1. 在 Kubernetes 資源描述 YAML 檔案中,通過${IMAGE} 預留位置將 Docker 鏡像定義為一個動態變數。

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        labels:
          run: spring-boot-sample
        name: spring-boot-sample
      spec:
        replicas: 4
        selector:
          matchLabels:
            run: spring-boot-sample
        template:
          metadata:
            labels:
              run: spring-boot-sample
          spec:
            containers:
              image: ${image}
              name: nginx
    2. 在Kubectl 步驟中傳遞變數給 YAML檔案,在 Kubectl 步驟配置中,點擊添加變數,並定義變數名稱以及變數來源,即可發布時使用這些變數動態替換 YAML 檔案中的預留位置。在 Kubectl 發布 步驟的變數地區,將 image 變數的值設定為鏡像構建步驟的輸出(即 鏡像構建並推送至阿里雲鏡像倉庫 步驟產出的鏡像地址),使部署時 YAML 中的 ${IMAGE} 預留位置被實際鏡像地址替換。同時配置叢集串連(如 corefile-test)、Kubectl 版本(如 v1.16.4)、命名空間(如 default)及 YAML 路徑(如 app-configs/manifest2)。

    說明

    Kubernetes常用資源YAML使用方式,請參見Kubernetes常用資源 YAML 規範參考

查看部署日誌

在配置完成後,運行流水線執行部署任務,即會將源碼中對應的 YAML 檔案部署到指定的Kubernetes 叢集中。

  1. 在部署過程中點擊日誌,可以查看當前的部署過程以及相應記錄。

  2. 日誌輸出中會包含當前所有掃描到的 YAML 檔案,kubectl apply後的標準輸出,以及當前變更執行後的所有資源概要資訊。

    樣本中,kubectl apply 輸出 deployment.apps/spring-boot-sample configured,資源概要顯示 spring-boot-sample 已運行 105m,最終提示 [SUCCESS] 步驟運行成功,表明應用已成功部署到 Kubernetes 叢集。

Kubernetes常用資源 YAML 規範參考

工作負載

資源類型

官方文檔連結

Deployments

https://kubernetes.io/docs/concepts/workloads/controllers/deployment/

StatefulSets

https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/

DaemonSet

https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/

服務發現與網路

資源類型

官方文檔連結

Service

https://kubernetes.io/docs/concepts/services-networking/service/

Ingress

https://kubernetes.io/docs/concepts/services-networking/ingress/