searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

kubernetes下的daemonset POD如何获取Node的UUID

2023-11-10 01:17:41
27
0

在一些场景下,daemonset pod需要拿到所在node节点的uuid作为自己的不变标识,比如日志采集agent,需要提供后端一个agentid作为日志查询上下文的来源标识,这个时候不能那pod的uuid或者每次启动生成一个唯一ID,因为每次pod重建这个都不能保证id不变。有个方案就是用所在宿主机节点的UUID作为这个ID。

主机上的id标志

  • machineid

cat  /etc/machineid

XXXXXXX0fbf0a831cee3e41ab4b7e65

  • sudo dmidecode |grep UUID

UUID: XXXXXXX-0fbf-0a83-1cee-3e41ab4b7e65

  • kubectl describe node xxx

Machine ID:                 XXXXXXX0fbf0a831cee3e41ab4b7e65
  System UUID:                XXXXXXX-0FBF-0A83-1CEE-3E41AB4B7E65

machine id和 uuid是一样的。

传递方式

1、通过元数据方式注入进POD的环境变量,业务容器读取环境变量获取,详细参考如下代码

2、在业务容器内调用api,根据nodeName获取nodeInfo的uuid信息

 

0条评论
0 / 1000
李****强
14文章数
0粉丝数
李****强
14 文章 | 0 粉丝
原创

kubernetes下的daemonset POD如何获取Node的UUID

2023-11-10 01:17:41
27
0

在一些场景下,daemonset pod需要拿到所在node节点的uuid作为自己的不变标识,比如日志采集agent,需要提供后端一个agentid作为日志查询上下文的来源标识,这个时候不能那pod的uuid或者每次启动生成一个唯一ID,因为每次pod重建这个都不能保证id不变。有个方案就是用所在宿主机节点的UUID作为这个ID。

主机上的id标志

  • machineid

cat  /etc/machineid

XXXXXXX0fbf0a831cee3e41ab4b7e65

  • sudo dmidecode |grep UUID

UUID: XXXXXXX-0fbf-0a83-1cee-3e41ab4b7e65

  • kubectl describe node xxx

Machine ID:                 XXXXXXX0fbf0a831cee3e41ab4b7e65
  System UUID:                XXXXXXX-0FBF-0A83-1CEE-3E41AB4B7E65

machine id和 uuid是一样的。

传递方式

1、通过元数据方式注入进POD的环境变量,业务容器读取环境变量获取,详细参考如下代码

2、在业务容器内调用api,根据nodeName获取nodeInfo的uuid信息

 

文章来自个人专栏
可观测
14 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0