使用Python Boto3或AWS CLI如何查询EKS节点信息?

0

【以下的问题经过翻译处理】 我在尝试以编程方式使用AWS CLI或Boto3来获取正在运行状态的容器,但是没有找到具体提供我需要类或方法的信息。我需要的信息在文档的第4行中有记录:https://docs.aws.amazon.com/eks/latest/userguide/view-nodes.html

我已经在Boto3文档中搜索到EKS client class,但没有找到比使用describe_cluster()更详细的信息:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/eks.html

我按照AWS文档中使用Fargate节点设置EKS的示例操作:https://docs.aws.amazon.com/eks/latest/userguide/getting-started-console.html

我可以看到节点页面包括我正在寻找的所有信息,但我不知道哪个类会以编程方式为我提供该信息。

我想通过编程的方式,从多个AWS帐户中检索所有EKS集群中的正在运行的容器。

profile picture
EXPERTE
gefragt vor 6 Monaten51 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 您可以使用eksctl工具或Boto3 EKS客户端获取EKS或Kubernetes级别收集信息.但在EKS级别,您只能查看集群/节点组信息。如何您需要的是节点信息。则您必须在Kubernetes级别进行查询。您可以使用kubectl工具创建您的查询。例如:

# 列出集群中带有标签的的所有节点
kubectl get nodes --show-labels
# 列出特定节点组中的所有节点
kubectl get node --selector='eks.amazonaws.com/nodegroup=x86-br-spot-xl'

如果您想在Python中执行此操作,可以使用Kubernetes Python客户端.

from kubernetes import client, config

# 可以直接在 Configuration 类中设置配置,也可以使用辅助工具设置。
config.load_kube_config()

k8s_api = client.CoreV1Api()
logger.info("Getting k8s nodes...")
response = k8s_api.list_node()

你应该查阅Kubernetes文档,了解如何使用kubectl获取所有想要的信息,然后再使用Python实现。

profile picture
EXPERTE
beantwortet vor 6 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen