kubectl get を使用した実行中のポッドの取得
Kubernetes は、ポッドを含むさまざまなリソースに関する情報を抽出する kubectl get コマンドを提供します。特定の使用例では、実行中のポッドのみを取得する必要がある場合があります。これに対処するために、kubectl バージョン 1.9 で --field-selector オプションが導入されました。
kubectl get pod -l app=yourapp --field-selector=status.phase==Running -o jsonpath="{.items[0].metadata.name}"
このコマンドは、ラベル app=yourapp とフィールド セレクター status.phase==Running に基づいてポッドをフィルターします。 -o jsonpath 引数により、最初に実行されているポッドの名前のみが返されるようになります。
代替アプローチ
1.9 より前の kubectl バージョンの場合、代替アプローチを使用できます。 。 1 つのオプションには、jq を使用してフィルタリングされたリストから最初に実行中のポッドを選択することが含まれます。
kubectl get pod -l "app=myapp" -l "tier=webserver" -l "namespace=test" | jq -r '.items[] | select(.status.phase = "Running") | .items[0].metadata.name'
ただし、この方法では、複数のポッドが基準に一致する場合に問題が発生する可能性があります。
もう 1 つのアプローチは、特定の kubectl コマンドの自動選択メカニズム。たとえば、kubectl port-forward と kubectl ログは、指定されたリソース タイプ (デプロイメント、サービスなど) に基づいて実行中のポッドを自動的に選択できます。
以上がkubectl を使用して実行中のポッドのみを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。