当前位置: 首页 > 知识库问答 >
问题:

容器如何找到运行在库伯内特斯集群上的特定图像的Pod数量

郑晗日
2023-03-14

在Kubernetes集群上的pod中运行的应用程序如何找到同一映像(同一映像的实例)当前运行的pod数?是否还有一种方法可以唯一地识别同一类型豆荚集合中的每个豆荚?

对于Eg.如果我有3个Pod相同的图像运行在我的库伯内特斯集群我希望我的应用程序运行在Pod知道有3个实例运行的时刻并可能能够识别为0或1或2在集合中3的吊舱可以基于开始时间。

共有2个答案

傅博瀚
2023-03-14

为此,可以调试kubectl命令。Kubectl接受一个参数-v9。您可以通过发出请求来获取kubectl执行的endpoint。

  • Kubectl获得pods-v9——所有名称空间
  • kubectl描述部署-v9

在部署输出中,您可以获得系统上运行的POD的所需状态。使用-v9,您可以获得kubectl部署命令使用的api服务器的endpoint

另一个选项是在CoreDns和skydns上搜索。这些总是通过查询api服务器来检索服务列表和pod。你应该看看他们的源代码。

章安宜
2023-03-14

如果您的应用程序需要了解该信息,则需要以下信息:

  • 从应用程序中访问Kubernetes API并询问相关信息。根据您使用的语言,您可以找到不同的客户端库:https://github.com/kubernetes-client
  • 计算同一个集合的豆荚数的一个简单方法是使用标签。但是,如果您使用的是API,则可以直接解析应用程序中的信息,并根据需要进行过滤
  • 为了从API访问信息,pod将需要具有适当权限的服务帐户,否则RBAC默认指令将不允许应用程序检索该信息。此链接将帮助您:https://docs.bitnami.com/kubernetes/how-to/configure-rbac-in-your-kubernetes-cluster/
 类似资料:
  • 我假设没有愚蠢的问题,所以这里有一个我找不到直接答案的问题。 现在的情况 我目前有一个运行1.15的Kubernetes集群。AKS上的x,通过Terraform部署和管理。AKS最近宣布Azure将在AKS上停用Kubernetes的1.15版本,我需要将集群升级到1.16或更高版本。现在,据我所知,直接在Azure中升级集群不会对集群的内容产生任何影响,即节点、豆荚、秘密和当前在那里的所有其他

  • 如何在库伯内特斯中从容器内部获取容器的完整标识。我想在作为库伯内特斯容器运行的应用程序日志中添加容器ID

  • 我正在尝试让cadence在kubernetes集群上运行。然而,我注意到Cadence服务器初始化中有一个bug,它阻止Cassandra脚本正确初始化模式。https://github.com/uber/cadence/issues/1713:所以我想我会手动完成这一步。我执行了以下步骤- < li >在docker compose上从https://raw . githubuserconte

  • 我确实部署了单吊舱,自定义docker映像如下: 在开发过程中,我希望推送新的最新版本并更新部署。如果不明确定义标记/版本并为每个构建增加它,就找不到如何做到这一点,并且

  • 我有一个部署在远程Kubernetes集群上的Flink SessionCluster(根据文档),可在