Kubectl job リファレンス
Add a Kubectl job のフィールドリファレンスです。
Kubectl job フィールド
| Field | 意味 |
|---|---|
| Job name | Job の名前です。 |
| Operation | 実行する kubectl operation です。詳細は下記の Operations を参照してください。 |
| Environment | 対象の Kubernetes cluster です。Manage environments から選択します。 |
| Namespace | Read-only です。選択した Environment から自動的に入力されます。 |
| Kubectl Version | Read-only です。Job の実行に使用される kubectl client のバージョンです。 |
| Manifest Source | Apply の場合のみ。Git repository または Inline YAML です。 |
| Git account connections | Git repository を使う Apply の場合のみ。Manage credentials から選択します。 |
| Repository URL / Branch | Git repository を使う Apply の場合のみ。Branch のデフォルトは main です。 |
| Manifest file or directory | Git repository を使う Apply の場合のみ。単一の YAML ファイル、または再帰的に apply されるディレクトリです。 |
| YAML Manifest | Inline YAML を使う Apply の場合のみ。 |
| Arguments | Apply 以外のすべての Operation で必須です。Apply では省略可能(追加の apply フラグ)です。Namespace は常に Environment フィールドから取得されるため、ここで -n/--namespace を繰り返し指定しないでください。 |
Operations
各 Operation は、対応する kubectl サブコマンドに対応します。Apply では、Arguments フィールドには省略可能な追加フラグのみを指定します — manifest 自体は Manifest Source から取得されます。それ以外の Operation では、Arguments には kubectl のコマンドラインでサブコマンド名の後に続けて入力する内容をそのまま指定します。ただし Namespace は常に Environment フィールドから取得されるため、-n/--namespace を繰り返し指定しないでください。
| Operation | Purpose | Syntax(Arguments フィールド) | 例 |
|---|---|---|---|
| Apply | Git または inline YAML から Kubernetes manifest を apply します。事前に自動で server-side dry-run が実行されます。 | [追加フラグ](省略可能。manifest は Manifest Source から取得) | --prune -l app=my-service |
| Create | 指定した Arguments からリソースを作成します。 | <resource-type> <name> [flags] | configmap app-config --from-literal=ENV=production |
| Delete | リソースを削除します。 | <resource-type> <name> または <resource-type> -l <label-selector> | pod -l app=my-service,version=v1 |
| Expose | リソースを新しい Service として expose します。 | <resource-type>/<name> --port=<port> --target-port=<port> --type=<type> | deployment/my-service --port=80 --target-port=8080 --type=ClusterIP |
| Get | リソースを一覧表示し、結果を run log に記録します。 | <resource-type> [name] [-o <format>] | pods -l app=my-service -o wide |
| Logs | container のログを出力します。 | <pod-or-resource> [-c <container>] [--tail=<n>] | deployment/my-service --tail=100 |
| Rollout | リソースの rollout を管理します(status 確認、restart、undo)。 | <subcommand> <resource-type>/<name> | restart deployment/my-service |
| Run | container image を Pod として実行します。 | <pod-name> --image=<image> [flags] | debug-shell --image=busybox --rm -it --restart=Never -- sh |
| Set | 既存リソースのフィールドを更新します。 | <field> <resource-type>/<name> <value> | image deployment/my-service my-service={{BUILD_REPOSITORY}}:{{BUILD_TAG}} |
| Top | リソースの CPU/Memory 使用量を表示します。 | <resource-type> [name] | pods -l app=my-service |
| Exec | container 内でコマンドを実行します。 | <pod-name> [-c <container>] -- <command> | my-service-7f8b9c-abcd -- printenv |
ヒント
Set の例では、Apply operation で確認済みの {{BUILD_REPOSITORY}} と {{BUILD_TAG}} のテンプレート変数を再利用しています。tag をハードコードせずに、直前の Build and push Job が push した image を参照できます。
ヒント
Delete または Exec は、Kubectl Job の直前に配置した Approval Job と組み合わせてください。この 2 つはリスクが最も高い operation です。
注記
この session で実際の設定パネルに対して確認できたのは Apply と Get のみです。それ以外の operation の syntax は標準的な kubectl のコマンド syntax に従っています。フラグの動作が想定と異なる場合は、cluster の kubectl バージョンで確認してください。