Kubernetes 实例属性在元数据中不可用
我正在gke上建立一个新的K8S集群(1.13.7-gke.8),我希望Google cloud logging API正确地报告名称空间和实例名称 这在启用了工作负载标识的新GKE集群中执行 我启动workload container来测试对元数据服务的访问,结果如下:Kubernetes 实例属性在元数据中不可用,kubernetes,google-kubernetes-engine,google-cloud-logging,Kubernetes,Google Kubernetes Engine,Google Cloud Logging,我正在gke上建立一个新的K8S集群(1.13.7-gke.8),我希望Google cloud logging API正确地报告名称空间和实例名称 这在启用了工作负载标识的新GKE集群中执行 我启动workload container来测试对元数据服务的访问,结果如下: kubectl run -it --generator=run-pod/v1 --image google/cloud-sdk --namespace prod --rm workload-identity-test 并在执
kubectl run -it --generator=run-pod/v1 --image google/cloud-sdk --namespace prod --rm workload-identity-test
并在执行以下操作后从容器中删除:
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/" -H "Metadata-Flavor: Google"
我需要集群名称、容器名称和命名空间id的输出,但实际输出只是集群名称。我得到了相同的结果,但当我运行以下命令时,元数据显示出来:
gcloud beta container node-pools create [NODEPOOL_NAME] \
--cluster=[CLUSTER_NAME] \
--workload-metadata-from-node=EXPOSED
但是,您只能从元数据中获得集群名称
。比如说,
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
如果您正在考虑获取名称空间和容器,我建议您直接与GKE上的“Workloads”选项卡进行对话,这实际上是GKE上的“Workloads”选项卡所做的事情。我不太确定您想用“Google cloud logging API”做什么,但也许您可以详细说明另一个问题。Google cloud logging API需要元数据属性群集名称,容器名称和命名空间id,以便能够在控制台中正确构造日志,据我所知,应该由使用Kubernetes API的stackdriver代理自动填充。我怀疑它与此问题有关,但我找不到任何日志。--workload metadata from node=EXPOSED已弃用似乎是正确的参数GCE_metadata