Kubernetes go-client: 「kubectl get pods」のようなポッド詳細の取得
Kubernetes クライアントを使用して Kubernetes クラスターからポッド詳細を取得するには-go、次の手順に従います:
ポッド インターフェイスを作成します: client-go の PodInterface を使用して、特定の名前空間内のポッドを管理します。
<code class="go">podInterface := client.KubeClient.CoreV1().Pods(namespace)</code>
ポッドのリスト: ネームスペース内のすべてのポッドを取得します。
<code class="go">podList, err := podInterface.List(context.TODO(), v1.ListOptions{})</code>
ポッドの反復:取得したポッド リストを反復処理して、名前、ステータス、準備完了状態、再起動、経過時間などの特定の詳細を抽出します。
<code class="go">for _, pod := range podList.Items { // Calculate pod age age := time.Since(pod.GetCreationTimestamp().Time).Round(time.Second) // Get pod status podStatus := pod.Status // Accumulate container stats var containerRestarts, containerReady, totalContainers int32 for range pod.Spec.Containers { // Add restart count from container status containerRestarts += podStatus.ContainerStatuses[container].RestartCount // Calculate number of ready containers if podStatus.ContainerStatuses[container].Ready { containerReady++ } totalContainers++ } }</code>
このアプローチでは、' の出力に似たテーブルが効果的に生成されます。 kubectl get pods -n
以上がKubernetes Go クライアントを使用して「kubectl get pods」などの詳細なポッド情報を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。