gpt4 book ai didi

kubernetes - Client-go-使用client-go在Kubernetes中创建对象之前获取生成的名称

转载 作者:行者123 更新时间:2023-12-02 11:59:25 25 4
gpt4 key购买 nike

假设我有这样的代码来生成新的pod

req := &api.Pod{
TypeMeta: unversioned.TypeMeta{
Kind: "Pod",
APIVersion: "v1",
},
ObjectMeta: api.ObjectMeta{
GenerateName: "name-, // need to get that name, before creating an object
},
Spec: api.PodSpec{
Containers: []api.Container{
{
Name: "nginx",
Image: "nginx",
Env: []corev1.EnvVar{} // pass here the generated name,

},
},
},
}
...
// Do some work on the generated name, before creating the resource in Kubernetes cluster
...
err := client.Create(context.Background(), req)
创建对象之前能否获得该生成的名称?还是可以将生成的名称存储在同一对象的env中?

最佳答案

生成的名称似乎是与apiServer一起创建的。参见Issue commentKubernetes API Concepts - Generated values
建议不要依赖它。通常,标签和选择器在Kubernetes生态系统中更为常见。

Env:   []corev1.EnvVar{} // pass here the generated name,
您可以为此使用Downward API。
例:
          env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name

关于kubernetes - Client-go-使用client-go在Kubernetes中创建对象之前获取生成的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64216003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com