ホームページ >バックエンド開発 >Golang >kubectl を使用して実行中のポッドのみを取得するにはどうすればよいですか?

kubectl を使用して実行中のポッドのみを取得するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-02 18:14:11766ブラウズ

How Can I Retrieve Only Running Pods Using kubectl?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。