dynctlを使ってDynamic Engineをトラブルシューティング
dynctlを使って、Dynamic Engineクラスターとその中で実行されているサービスを監視・デバッグ・トラブルシューティングします。
dynctlコマンドによって次の操作が可能です:
- dynctlバージョンをチェックします。
- シェルのコンプリートスクリプトを生成します。
- クラスターの詳細を取得します。
- Dynamic Engineクラスターで、実行中のサービスのログを確認します。
dynctl構文
dynctlコマンドの一般的な構文は次のとおりです:
dynctl [command] [params] [flags]
この構文では:
- command
- 実行する操作(ログの収集や環境のリスト表示など)を指定します。
- params
- コマンドに必要な追加情報(リソースIDなど)を提供します。
- flags
- 追加の手順(デフォルトのKubeconfigファイルをオーバーライドする--kubeconfigなど)を設定します。
情報メモ重要: コマンドラインフラグは、デフォルト値、設定ファイルの設定、環境変数よりも優先されます。設定値の優先順位は次のとおりです:
- コマンドラインフラグ(最も高い優先順位)。
- 環境変数。
- YAMLファイルでの設定(最も低い優先順位)。
dynctlコマンド
コマンド | 構文 | 説明 |
---|---|---|
バージョン | dynctl version | 現在のdynctlバージョンを表示します。 |
completion | dynctl completion [shell] | シェル固有のコンプリートスクリプト(Bash、Zsh、PowerShell、Fish)を作成します。詳細は、オプション:dynctlオートコンプリート機能をインストールをご覧ください。 |
get | dynctl get [flags] | クラスターからDynamic Engineの詳細を取得します。 |
get environment | dynctl get environment <name> [flags] dynctl get env <name> [flags]
|
Dynamic Engine環境をリスト表示したり、特定の環境に関する詳細を提供します。 |
help | dynctl help <command> | 特定のコマンドのヘルプを取得します。 |
logs | dynctl logs [flags] | クラスター内で実行中であるDynamic Engineサービスのログを表示します。 |
logs environment | dynctl logs environment <name> [flags] dynctl logs env <name> [flags]
|
指定したDynamic Engine環境で実行中であるサービスのログを表示します。 |
dynctlコマンドライン
フラグは、デフォルトの設定をオーバーライドしてコマンドの動作を変更します。フラグは次の2つのカテゴリーに分類されます:
- グローバルフラグ: すべてのコマンドに適用します。
- コマンド固有のフラグ: 指定されたコマンドにのみ適用します。
- 上記のコマンドラインフラグ(最も高い優先順位)。
- 環境変数。
- YAMLファイルでの設定(最も低い優先順位)。
- グローバルフラグ。
- --config
- デフォルトのdynctl設定ファイルである$HOME/.dynctl/configをオーバーライドします。
- --kubeconfig
- クラスター接続のデフォルトのkubectl設定をオーバーライドします。
- --kubecontext
- kubeconfigファイルでdefault-contextをデフォルトとするKubernetesコンテキストをオーバーライドします。
- -d, --debug
- デバッグモードを有効にし、JSONから人間が読める形式にdynctlログを変換します。
- -v, --verbose
- 詳細モードを有効にし、すべてのdynctlログレベルを記録します。
- -h, --help
- コマンドのヘルプ情報を表示します。
- ログおよびログ環境のコマンド固有フラグ
- --follow, -f
- 生成されたログを継続的にストリーミングします。デフォルト: false。
- --output, -o
- ログの出力形式をstdoutまたはzipで指定します。デフォルト: stdout。
- --output-file
- 出力ファイルのパスを設定します。デフォルト: autogenerated。
- --service, -s
- 指定したサービスによってログをフィルタリングします。このフラグを複数回使用すれば、複数のサービスをフィルタリングできます。
- --since
- 指定した期間内(300ms、-1.5h、2h45mなど)に生成されたログ出力を表示します。有効な時間単位は、ns、us (またはµs)、ms、s、m、hです。デフォルト: すべてのログ。
- --tail
- 表示するログ出力行数を指定します。デフォルト: すべての行。
dynctl設定方法
dynctlツールは複数の方法で設定できます(優先順位が高い順):
- 上記のコマンドラインフラグ(最も高い優先順位)。
- 環境変数。
- YAMLファイルのデフォルト値(最も低い優先順位)。
フラグ | 環境変数 | YAMLキー | デフォルト | 説明 |
---|---|---|---|---|
--config | DYNCTL_CONFIG | config | $HOME/.dynctl/config | dynctl設定ファイルパス |
--kubeconfig | DYNCTL_KUBECONFIG | k8s.config | kubectlのデフォルト | dynctl用のKubernetes設定ファイル |
--kubecontext | DYNCTL_KUBECONTEXT | k8s.context | kubectlの現在のコンテキスト | dynctlのKubernetesコンテキスト |
--debug | DYNCTL_DEBUG | debug | false | [Debug mode] (デバッグモード) |
--verbose | DYNCTL_VERBOSE | verbose | false | 詳細モード |