メインコンテンツまでスキップ

Kubectl job を追加する

Kubectl Job は、Pipeline 内から Kubernetes cluster に対して 1 つの kubectl operation を実行します。manifest の deploy、リソースの確認、ログの表示など、cluster に対する操作を、自分のマシンで kubectl を手動実行することなく、完全な audit trail を保ちながら行えます。

前提条件

  • Pipeline が作成・保存済みであること。Pipeline の作成と設定 を参照してください。
  • Environment(Kubernetes cluster)が設定済みで、アクセス権限があること。Manage environments を参照してください。
  • Git 上の manifest を使う Apply operation の場合は、Git connection が設定済みであること。Manage credentials を参照してください。

Kubectl job を追加する

Add job menu — Kubectl

  1. Pipeline Editor で、operation を実行したい Stage の Add Job(または Add Parallel Job)をクリックします。
  2. Operations の下から Kubectl を選択します。

Edit Job パネルが開きます。

Operation を設定する

Edit Job panel — Kubectl, Apply operation

  1. Job name を入力します。
  2. OperationApplyCreateDeleteExposeGetLogsRolloutRunSetTopExec のいずれか)を選択します。それぞれの内容は Kubectl job reference を参照してください。
  3. 対象の Environment を選択します。NamespaceKubectl Version は自動入力され、編集できません。
ヒント

直前の Build and push Job が build した image を参照するには、manifest や Arguments 内で {{BUILD_REPOSITORY}}{{BUILD_TAG}} を使用します。実行時に Kubectl Job が実際の値に置き換えます。

Operation が Apply の場合

  1. Manifest SourceGit repository または Inline YAML を選択します。

Git repository の場合:

  1. Git account connection を選択するか、Add Git connections をクリックして新規作成します。
  2. Branch(デフォルトは main)を入力します。
  3. Manifest file or directory(単一の YAML ファイル、または再帰的に apply されるディレクトリ)を入力します。

Inline YAML の場合:

  1. manifest の内容を YAML Manifest フィールドに直接貼り付けます。

  2. 必要に応じて、apply コマンドへの追加フラグとして Arguments を入力します(任意)。

ヒント

実際に apply する前に、Pipeline は必ず kubectl apply --dry-run=server を先に実行します。dry-run が成功した場合のみ実際の apply が実行され、両方のステップは Git commit SHA と共に run の audit log に記録されます。

Operation が Apply 以外の場合

Edit Job panel — Kubectl, Get operation

  1. 選択した Operation の Arguments を入力します。このフィールドは Apply 以外のすべての Operation で必須です。
警告

Arguments に -n--namespace を含めないでください。Namespace は常に上の Environment フィールドから取得されます。

リスクの高い operation の前に approval を追加する(任意)

Delete または Exec を使う場合は、同じ Stage 内で Kubectl Job の直前に Approval Job を追加することを検討してください。設定した Approver が判断するまで Pipeline が一時停止します。Add an approval gate を参照してください。

Job を保存する

  1. Save changes をクリックします。
  2. Save Pipeline をクリックして変更を保存します。
警告

Save changes は現在の編集セッション内で Job を保存するだけです。永続化するには Save Pipeline をクリックする必要があります。

Kubectl Job は、その Stage が次に実行されるときに、Pipeline の他の Job と一緒に実行されます。

次のステップ