k8s/APP配布

command/args

YOOANT 2026. 5. 9. 14:29

1.command/argsとは?

  • 実務的な観点において、commandとargsはコンテナの起動時に「何を実行するか」を決定する最終指示書である。
  • イメージは一つだが、デプロイ環境や目的に応じて動作を変更する必要がある場合に使用する。 

1-2.継続して動作させたい場合

1-2-1.まず、下記の検証用イメージとコードで動作を確認。

apiVersion: v1
kind: Pod
metadata:
  labels:
    run: simple-wo-command
  name: simple-wo-command 
spec:
  containers:
  - image: sysnet4admin/net-tools
    name: net-tools

 

検証用イメージの動作により、Podが異常終了している。

 

 

1-2-2.commandが定義された検証用コードで動作を確認。

apiVersion: v1
kind: Pod
metadata:
  labels:
    run: simple-command
  name: simple-command 
spec:
  containers:
  - image: sysnet4admin/net-tools
    name: net-tools
    command: ["/bin/sh", "-c", "sleep 3600"]

 

sleep 3600が適応され, Podが追加で生成されず、一つのみ動作している。

 

Podの内部に入り、commandの定義通りに動作しているかを確認。


1-3.ユーザーが任意のコマンドを実行させたい場合

1-3-1.command内に引数を含める場合

apiVersion: v1
kind: Pod
metadata:
  labels:
    run: multiple-command-v1
  name: multiple-command-v1
spec:
  containers:
  - image: sysnet4admin/net-tools
    name: net-tools
    command: ["/bin/sh", "-c", "echo run multiple-command-v1 && sleep 3600"]

 1-3-2.command内に引数を含める場合2

※この場合、同時実行ではなく順次実行される。echo run multiple-command-v2 の実行後に sleep 3600

apiVersion: v1
kind: Pod
metadata:
  labels:
    run: multiple-command-v2
  name: multiple-command-v2
spec:
  containers:
  - image: sysnet4admin/net-tools
    name: net-tools
    command: ["/bin/sh", "-c", "echo run multiple-command-v2; sleep 3600"]

1-3-3. 実行プログラム・オプション・引数を分離して使用する場合

※この場合、1-3-2と同様に順次実行される

apiVersion: v1
kind: Pod
metadata:
  labels:
    run: multiple-command-v3
  name: multiple-command-v3
spec:
  containers:
  - image: sysnet4admin/net-tools
    name: net-tools
    command: 
    - "/bin/sh"
    - "-c"
    - |
      echo run multiple-command-v3
      sleep 3600

1-3-4.実行プログラムとオプションをまとめ、引数のみを分離する場合

apiVersion: v1
kind: Pod
metadata:
  labels:
    run: multiple-command-w-args
  name: multiple-command-w-args
spec:
  containers:
  - image: sysnet4admin/net-tools
    name: net-tools
    command: ["/bin/sh","-c"]
    args: 
    - |
      echo run multiple-command-w-args
      echo add commentary 
      sleep 3600

 

'k8s > APP配布' 카테고리의 다른 글

DaemonSet、StatefulSet  (0) 2026.05.09
Job、CronJob  (0) 2026.05.09
Deployment、ReplicaSet  (0) 2026.05.08

日本語