首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实例属性在元数据中不可用

实例属性在元数据中不可用
EN

Stack Overflow用户
提问于 2019-09-05 03:51:50
回答 1查看 599关注 0票数 2

我正在GKE上设置一个新的K8S集群(1.13.7-gke.8),我希望Google cloud logging API能够正确地报告名称空间和实例名称。

这是在启用了workload-identity的新GKE集群中执行的。

我启动工作负载容器来测试对元数据服务的访问,结果如下:

代码语言:javascript
复制
kubectl run -it --generator=run-pod/v1 --image google/cloud-sdk --namespace prod --rm workload-identity-test

并在执行后从容器中:

代码语言:javascript
复制
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/" -H "Metadata-Flavor: Google"

我期望cluster-name、container-name和namespace-id的输出,但实际输出仅为cluster-name。

EN

回答 1

Stack Overflow用户

发布于 2019-09-05 08:21:04

我得到了相同的结果,但当我运行以下命令时,元数据出现了:

代码语言:javascript
复制
gcloud beta container node-pools create [NODEPOOL_NAME] \
  --cluster=[CLUSTER_NAME] \
  --workload-metadata-from-node=EXPOSED

但是,您只能从元数据中获取cluster-name。例如,

代码语言:javascript
复制
root@workload-identity-test:/# curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/" -H "Metadata-Flavor: Google"
cluster-location
cluster-name
cluster-uid
configure-sh
created-by
disable-legacy-endpoints
enable-oslogin
gci-ensure-gke-docker
gci-update-strategy
google-compute-enable-pcid
instance-template
kube-env
kube-labels
kubelet-config
user-data

如果你正在考虑获取命名空间和容器,我建议你考虑直接与Kubernetes API对话,这本质上就是GKE上的“工作负载”选项卡所做的。我真的不知道你想用'Google cloud logging API‘做什么,但也许你可以详细说明一个不同的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57795011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档