目的:
システム内から最初の実行中のポッドを取得するデプロイメント、フィルタリングlabel.
解決策:
Kubernetes バージョン 1.9 以降では、 --field-selector 引数を使用して、ステータスによってポッドをフィルターできます。
kubectl get pod -l app=yourapp --field-selector=status.phase==Running -o jsonpath="{items[0].metadata.name}"
このコマンドは、指定されたポッドに一致する最初の実行中のポッドの名前を含む JSON 文字列を取得します。 label.
追加の考慮事項:
kubectl の以前のバージョンでは、ステータスによって直接フィルターする必要はありませんでした。引数としてポッドを必要とするほとんどのコマンドは、デプロイメントまたはサービスも受け入れ、ポッドを自動的に選択します。
kubectl exec deploy/mydeployment -- date kubectl logs deploy/mydeployment -c nginx-1
これらのコマンドは、最初のアクティブなポッド (通常はステータスが「実行中」のポッド) を選択します。
ただし、古いバージョンのでも --field-selector 引数を使用して実行中のポッドのリストを取得することは可能です。 kubectl.
以上がKubernetes デプロイメントで最初に実行されているポッドの名前を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。