kubernetes - Kubernetes 控制 pod 名称
问题描述
Kubernetes 是一个非常复杂的工具,但我们中的一些人有点粗糙,所以我们遇到了麻烦。
我正在尝试在集群中的 pod 上运行一个简单的 kubernetes 作业,并且在 kubernetes yaml 配置文件中,我在元数据下定义了 pod 的名称,例如
apiVersion: batch/v1
kind: Job
metadata:
name: my-job
然后,当我创建此作业时,我发现 pod 的名称并不是我真正的作业。它的:
my-job-'randomstuff'
我知道这对于副本集和诸如此类的东西非常酷,但是我需要将我的 pod 命名为我告诉它的名称,因为我在回调函数中使用了该名称。
在我看来很奇怪,当我创建它时,我无法完全控制我想要调用的 pod。
我告诉自己,这一定是可能的,但我已经用 googledfrenzied 了一个小时......
非常感谢您的任何想法:)
解决方案
作业被设计为具有随机后缀,因为它们可能有多个完成。
例子:
apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
completions: 5
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
backoffLimit: 4
可以看到,这个 Job 会一直执行到达到 5 次比赛为止,如果名字没有附加随机后缀是不可能的。查看示例的Job执行结果:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
pi-7mx4k 0/1 Completed 0 3m9s
pi-bfw6p 0/1 Completed 0 3m17s
pi-ls9lh 0/1 Completed 0 3m43s
pi-njfpq 0/1 Completed 0 3m35s
pi-ssn68 0/1 Completed 0 3m27s
因此,您的问题的答案是否定的,您不能强迫它使用“固定”名称。
如果您需要在名称下进行控制,请考虑改用 Pod(种类 Pod)。
推荐阅读
- python - keras多层LSTM模型的股价预测收敛到一个恒定值
- amazon-web-services - 如何加快 AWS Fargate 上的部署?
- canvas - 当画布重新调整大小或滚动时,isPointInPath 中断
- anaconda - Anaconda:更新包构建,其中版本相同但构建不同
- angularjs - 想使用 angularjs 仅显示电话号码的最后 4 位数字
- php - 需要设置存储/每天的权限
- apache-flink - Apache Flink 中 DataStream 和 Table API 的区别
- java - 没有类 weka.filters.unsupervised.instance.imagefilter.BinaryPatternsPyramidFilter 可以位于 Java 类路径上
- r - 当数据不包含负值时,如何以负 x 轴值开始 ggplot?
- c++ - 通过 QLineEdit 过滤查询并更新 QSqlQueryModel