为了账号安全,请及时绑定邮箱和手机立即绑定

是否可以找到运行容器的节点的区域和区域

是否可以找到运行容器的节点的区域和区域

Go
摇曳的蔷薇 2022-08-01 18:46:21
我想找到我的节点的区域和节点,我需要这个来记录监控数据。kubernetes 规范和元数据不提供此信息。我检查了 https://github.com/kubernetes/client-go 看起来很有希望,但我找不到我正在寻找的信息。有什么建议吗?谢谢
查看完整描述

3 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

如果您使用的是 GKE,则节点区域和区域应位于节点的标签中:


failure-domain.beta.kubernetes.io/region

failure-domain.beta.kubernetes.io/zone

topology.kubernetes.io/region

topology.kubernetes.io/zone

您可以使用kubectl get nodes --show-labels


查看完整回答
反对 回复 2022-08-01
?
BIG阳

TA贡献1859条经验 获得超6个赞

这就是我最终所做的。


已启用工作负载标识

gcloud container clusters update <CLUSTER_NAME> \

  --workload-pool=<PROJECT_ID>.svc.id.goog

更新了节点池以使用工作负载标识

gcloud container node-pools update <NODEPOOL_NAME> \

  --cluster=<CLUSTER_NAME> \

  --workload-metadata=<GKE_METADATA>

为我的应用创建了服务帐户

将我的 KSA 绑定到 GSA

gcloud iam service-accounts add-iam-policy-binding \

  --role roles/iam.workloadIdentityUser \

  --member "serviceAccount:<PROJECT_ID>.svc.id.goog[<K8S_NAMESPACE>/<KSA_NAME]" \

  <GSA_NAME>@<PROJECT_ID>.iam.gserviceaccount.com

使用GSA电子邮件地址的带注释的服务帐户

apiVersion: v1

kind: ServiceAccount

metadata:

  annotations:

    iam.gke.io/gcp-service-account: <GSA_NAME>@<PROJECT_ID>.iam.gserviceaccount.com

  name: KSA_NAME

  namespace: <K8S_NAMESPACE>

这由GSA的容器进行身份验证,我能够使用 https://cloud.google.com/compute/docs/storing-retrieving-metadata


查看完整回答
反对 回复 2022-08-01
?
森林海

TA贡献2011条经验 获得超2个赞

不是以任何直接的方式。您可以使用向下 API 向 Pod 公开节点名称,然后获取该节点的注释/标签。但这需要相当广泛的读取权限(所有节点),因此可能存在安全风险。


查看完整回答
反对 回复 2022-08-01
  • 3 回答
  • 0 关注
  • 136 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号