Amazon web services 如何从kubernetes吊舱中识别主机云提供商?
能否从kubernetes吊舱中识别主机云提供商/平台?如果是,怎么做 现在,我只在寻找Amazon web services 如何从kubernetes吊舱中识别主机云提供商?,amazon-web-services,azure,kubernetes,google-cloud-platform,Amazon Web Services,Azure,Kubernetes,Google Cloud Platform,能否从kubernetes吊舱中识别主机云提供商/平台?如果是,怎么做 现在,我只在寻找googlecloud,aws和azure。 他们是否在pod上挂载了任何特定的文件,或者是否设置了任何特定的环境变量,从中我可以识别云提供商/平台 我不是在寻找一种通用的方法,现在用不同的方法找到不同的云提供商也不错。我知道没有环境变量或挂载,但linux内核版本字符串可以给你一个提示。uname或cat/proc/version提供的版本信息实际上是节点的版本信息,而不是pod的版本信息 例如,在Azur
googlecloud
,aws
和azure
。
他们是否在pod上挂载了任何特定的文件,或者是否设置了任何特定的环境变量,从中我可以识别云提供商/平台
我不是在寻找一种通用的方法,现在用不同的方法找到不同的云提供商也不错。我知道没有环境变量或挂载,但linux内核版本字符串可以给你一个提示。
uname
或cat/proc/version
提供的版本信息实际上是节点的版本信息,而不是pod的版本信息
例如,在Azurekubectl exec上,我的pod名称--uname-r
生成:
4.15.0-1018-azure
在GKE上,您应该看到如下内容
4.15.0-1018-gke
我得到了
4.15.0-1018-aws
然后使用awk
可以过滤掉云提供商。当在吊舱内运行时,将生成azure、gke或aws:
uname -r|awk -F"-" '{print $3}'
这个集群托管在哪里?我认为最简单的方法是只使用环境变量,您将映射到podI。我已经更新了这个问题,以消除关于这个问题的一些混淆。实际上,我不清楚这个问题。云提供商取决于我们承载k8s集群的云平台,不是吗?是的。要找出pod运行在哪个云平台上,可以使用上面的命令。哦,你的意思是,这是针对通过ssh连接到pod但不知道安装的其他用户。或者是一些通用容器,根据平台的不同,其行为应该有所不同。@Aravind,是的。我正在为库伯内特斯设计一个图书馆。这就是这个场景出现的地方。