如何根据StatefulSet中的Ordinal Index将args传递给pod?

Guo*_* Xu 7 kubernetes

是否可以根据StatefulSets中的序数索引将不同的args传递给pod?没有在StatefulSets文档中找到答案.谢谢!

Oli*_*ain 3

我不知道有什么非黑客方法可以做到这一点,但我知道一个有效的黑客方法。首先,StatefulSet 中的每个 Pod 都会获得一个唯一的可预测名称。它可以通过向下的 API或仅通过调用 来发现该名称hostname。所以我有 shell 脚本作为容器的入口点,并且该脚本获取它的 pod/主机名。从那里,它使用适合特定主机的命令行参数调用“真正的”可执行文件。

POD_NAME例如,我的脚本之一期望 pod 名称通过 Downward api映射到环境中。然后它会执行类似以下操作:

#!/bin/bash

pet_number=${POD_NAME##*-}

if [ pet_number == 0 ]
then
   # stuff here
fi

# etc.
Run Code Online (Sandbox Code Playgroud)