Команда «kubernetes get statefulset» используется для получения информации о StatefulSets в кластере Kubernetes. StatefulSets – это тип рабочей нагрузки Kubernetes, который обеспечивает упорядоченность и уникальность модулей.
Вот несколько способов программного получения информации StatefulSet с использованием разных языков программирования и клиентских библиотек:
-
Использование клиента Kubernetes Python (client-python):
from kubernetes import client, config # Load the Kubernetes configuration config.load_kube_config() # Create an instance of the Kubernetes API client api_client = client.ApiClient() # Create an instance of the StatefulSets API client statefulset_api = client.AppsV1Api(api_client) # Retrieve a list of StatefulSets in the cluster statefulsets = statefulset_api.list_stateful_set_for_all_namespaces().items # Iterate over the StatefulSets and print their names for statefulset in statefulsets: print(statefulset.metadata.name) -
Использование клиента Kubernetes Go (client-go):
package main import ( "fmt" "k8s.io/client-go/kubernetes" "k8s.io/client-go/tools/clientcmd" ) func main() { // Create a Kubernetes client using the default configuration config, _ := clientcmd.BuildConfigFromFlags("", "/path/to/kubeconfig") clientset, _ := kubernetes.NewForConfig(config) // Retrieve a list of StatefulSets in the cluster statefulsets, _ := clientset.AppsV1().StatefulSets("").List(context.TODO(), metav1.ListOptions{}) // Iterate over the StatefulSets and print their names for _, statefulset := range statefulsets.Items { fmt.Println(statefulset.ObjectMeta.Name) } } -
Использование Java-клиента Kubernetes (fabric8io/kubernetes-client):
import io.fabric8.kubernetes.api.model.apps.StatefulSet; import io.fabric8.kubernetes.client.DefaultKubernetesClient; import io.fabric8.kubernetes.client.KubernetesClient; public class StatefulSetExample { public static void main(String[] args) { // Create a Kubernetes client try (KubernetesClient client = new DefaultKubernetesClient()) { // Retrieve a list of StatefulSets in the cluster List<StatefulSet> statefulSets = client.apps().statefulSets().inAnyNamespace().list().getItems(); // Iterate over the StatefulSets and print their names for (StatefulSet statefulSet : statefulSets) { System.out.println(statefulSet.getMetadata().getName()); } } } }