6.4. 付録

6.4.1. メッセージ一覧

ID

レベル

表示

警報

メッセージ内容

原因・内容

対処方法

!PEXC33

I

1

OFF

Kubernetes連携のジョブ実行に成功しました。

Kubernetes連携のジョブ実行に成功しました。

なし

!PEXC34

E

1

ON

Kubernetes連携のジョブ実行に失敗しました。

Kubernetes連携のジョブ実行に失敗しました。

コンテナ連携コマンドのマニュアルを参照して下さい。

注釈

Job Scheduler for Cloud マニュアルの メッセージ一覧 もあわせてご確認下さい。

6.4.2. エラーメッセージとその対処方法

6.4.2.1. Job Scheduler for Container(Kubernetes)

Job Scheduler for Container(Kubernetes)の実行中にエラーが起きると、エラーメッセージがメッセージモニタに表示されます。

メッセージID

エラー内容

終了値

対処方法

!PEXC01

duplicate *****option (func:***,line:***)

5

オプションが2重に指定されています。

-m can not take S3 or MR or LS or LA or DF or GF or OF or IF or SF or ABF or ABEC2 or ABEKS or AWF or OWF or ECS or K8S("***" is error) (func:***,line:***)

5

-mオプションはS3、MR、LS、LA、DF、GF、OF、IF、SF、ABF、ABEC2、ABEKS、AWF、OWF、ECS、K8Sのいずれかしか指定できません。

-kmc can take 1-10("***" is error) (func:***,line:***)

5

-kmcオプションは1から10までの数しか指定できません。

"***" is Unrecognized option (func:***,line:***)

5

不明なオプションが指定されています。

*****option not found (func:***,line:***)

5

必須オプションのうち、足りないオプションがあります。

chdir("*****") fail(***)

14

Senju/DCのインストールが正しく行われているか、ディレクトリの権限が正しく設定されているか確認して下さい。

SENJUHOME("*****") is too long

15

Senju/DCのインストールが正しく行われているか確認して下さい。

memory allocate error (func:***,line:***)

16

コマンドが稼働するノードでメモリ不足が起きています。

!PEXC02

child process start failed (***) (func:***,line:***)

9

子プロセスの起動に失敗しています。

!PEXC12

child killed by SIGNAL (***) (func:***,line:***)

8

子プロセスが停止しました。

wait error (***) (func:***,line:***)

10

子プロセスの状態を取得できません。

child:parent not exist (func:***,line:***)

13

親プロセスが存在しません。

!PEXC34

*****(func:***,line:***)

69

出力内容が原因でKubernetes連携ジョブの取得に失敗しています。

6.4.3. Job Scheduler for Containerのジョブログファイル

Senju/DCのジョブスケジュール機能を連携し、Job Scheduler for Containerを実行すると、Job Scheduler for Containerジョブの稼働情報が書かれたジョブログファイルが作成されます。

UNIX/Linuxの場合はJob Scheduler for Containerが稼働するノード上の$SENJUHOME/dat/pex/aws ディレクトリ、Windowsの場合はJob Scheduler for Containerが稼働するノード上の%SENJUHOME%\dat\pex\awsディレクトリに、以下のファイル名で作成されます。

  • UNIX/Linux:

    "(運用日付)_(フレーム名)"/"(ネット名).(ジョブ名)"

  • Windows:

    "(運用日付)_(フレーム名)"\"(ネット名).(ジョブ名)"

6.4.3.1. Job Scheduler for Container(Kubernetes連携ジョブ(コマンド実行))のジョブログファイル

ジョブログファイルは、以下のフォーマットで出力されます。

(日時)<TAB>(モード:アクション)<TAB>(ステータス)<TAB>(終了コード)<TAB>(Pod名)<TAB>(コンテナ名)<TAB>(実行結果)<TAB>(ステータス要因)

各カラムの意味を以下に示します。

カラム

内容

日時

ファイルに書き込まれた日時が表示されます。

モード:アクション

Job Scheduler for Containerの実行モード(K8S)とアクション(LIST/EXEC)が表示されます。

ステータス

Job Scheduler for Containerの実行ステータスが表示されます。

終了コード

Job Scheduler for Containerの終了コードが表示されます。

Pod名

コマンドが実行されるコンテナが稼働するPod名が表示されます。LISTアクション時は未使用です。

コンテナ名

コマンドが実行されるコンテナ名が表示されます。LISTアクション時は未使用です。

実行結果

LISTアクション時はコマンドの実行対象となるPod名・コンテナ名が表示されます。EXECアクション時はコンテナ内でのコマンドの実行結果が表示されます。改行、タブはエスケープされた状態で、先頭100文字+末尾100文字のみ表示します。

ステータス要因

Job Scheduler for Containerのステータス要因を表示します。LISTアクション時はSUCCEEDED、TRIMMED、またはFAILEDが表示されます。EXECアクション時はコンテナ内で実行したコマンドの終了コードが取得できた場合に表示します。

注釈

  • LISTアクション時のステータス要因
    • SUCCEEDED: パラメータで指定された条件を満たすPodが全て実行結果カラムに出力された場合

    • TRIMMED: パラメータで指定された条件を満たすPodが一部のみ実行結果カラムに出力された場合

    • FAILED: パラメータで指定された条件を満たすPodの情報取得に失敗した場合、または実行結果として表示するPod名・コンテナ名の合計が1024文字を超えた場合

6.4.4. Job Scheduler for Containerのコマンド一覧

Job Scheduler for Containerで提供するコマンドの文法について説明します。Senju/DCのジョブスケジュール機能からの実行のほか、コマンドラインから実行することでKubernetesの操作を行うことができます。

6.4.4.1. Kubernetes連携ジョブ(コマンド実行) 操作

6.4.4.1.1. Kubernetes連携ジョブ(コマンド実行) のコマンド実行対象Pod名・コンテナ名取得

  • 指定形式

    sjPEX_CTNFunctions -m K8S -exec list -kp Pod名 -kc コンテナ名 -kl セレクター -n ネームスペース -kx コンテキスト -kk kubeconfigファイル -kmc 最大実行Pod数

  • 目的

    パラメータで指定された条件に合致するPod名・コンテナ名の取得を行います。

  • オプション
    • Pod名

      Pod名を指定します。セレクターが指定されている場合は省略可能です。

    • コンテナ名

      コンテナ名を指定します。省略可能です。

    • セレクター

      ラベルセレクターを指定します。Pod名が指定されている場合は省略可能です。

    • ネームスペース

      Kubernetesのネームスペースを指定します。省略可能です。

    • コンテキスト

      Kubernetesのコンテキストを指定します。省略可能です。

    • kubeconfigファイル

      任意のkubeconfigファイルのファイルパスを指定します。省略可能です。

    • 最大実行Pod数

      コマンド実行結果として出力するPod名・コンテナ名の数を指定します。省略可能です。デフォルト値は1となります。

  • 実行結果
    • (例: 指定パラメータの対象が全て実行結果に含まれる場合)
      $ sjPEX_CTNFunctions -m K8S -exec LIST -kl app=senju -kmc 2
      K8S:LIST        OK      0                       senju-pod-01:senju-container,senju-pod-02:senju-container       SUCCEEDED
      
    • (例: 指定パラメータの対象が最大実行Pod数のみ含まれる場合)
      $ sjPEX_CTNFunctions -m K8S -exec LIST -kl app=senju
      K8S:LIST        OK      0                       senju-pod-01:senju-container    TRIMMED
      

注釈

対象となるPod名・コンテナ名の出力フォーマットは {Pod名}:{コンテナ名},{Pod名}:{コンテナ名}... となります。

また、上記フォーマットでの出力文字数が文字を超える場合、コマンドは異常終了します。

  • 終了ステータス
    • 0 :正常終了

    • 18:パラメータ解析に失敗

    • 95:LIST情報取得エラー

6.4.4.1.2. Kubernetes連携ジョブ(コマンド実行) のコマンド実行

  • 指定形式

    sjPEX_CTNFunctions -m K8S -exec exec -kcmd コマンド -kp Pod名 -kc コンテナ名 -n ネームスペース -kx コンテキスト -kk kubeconfigファイル -kt タイムアウト

  • 目的

    パラメータで指定されたPod内コンテナでコマンド実行を行います。

  • オプション
    • コマンド

      実行するコマンドを指定します。省略不可です。

    • Pod名

      Pod名を指定します。省略不可です。

    • コンテナ名

      コンテナ名を指定します。省略不可です。

    • ネームスペース

      Kubernetesのネームスペースを指定します。省略可能です。

    • コンテキスト

      Kubernetesのコンテキストを指定します。省略可能です。

    • kubeconfigファイル

      任意のkubeconfigファイルのファイルパスを指定します。省略可能です。

    • タイムアウト

      実行するコマンドのタイムアウト時間(単位:分)を指定します。省略可能です。デフォルト値は無制限となります。

  • 実行結果
    • (例)
      $ sjPEX_CTNFunctions -m K8S -exec EXEC -kcmd testcmd.sh -kp senju-pod-01 -kc senju-container
      K8S:EXEC        OK      0       senju-pod-01    senju-container senjuout        ExitCode:0
      
  • 終了ステータス
    • 0 :正常終了

    • 18:パラメータ解析に失敗

    • 96:コマンド実行エラー