我想知道 Kubernetes 中生成的 pod 名称是否有适当的命名约定。生成的 pod 名称是指在两者中显示的名称,kubectl get pods或者,例如,通过查询 heapster api:
$ curl -s http://192.168.99.100:32416/api/v1/model/namespaces/kube-system/pods
[
"kube-addon-manager-minikube",
"kube-dns-v20-8gsbl",
"kubernetes-dashboard-tp9kc",
"heapster-kj8hh",
"influxdb-grafana-stg3s"
]
$ curl -s http://192.168.99.100:32416/api/v1/model/namespaces/default/pods
[
"my-nginx-2723453542-065rx"
]
Run Code Online (Sandbox Code Playgroud)
如果没有约定(看起来像),是否存在通用格式:pod name+5 alpha-numeric chars为真的任何场景?
Edu*_*llo 14
当您创建 Deployment 时,它会创建一个名为的副本集:
\n\nreplica-set-name=<deployment-name>-<random-string>
反过来,replicaset创建pod,并向其中添加另一个随机字符串* :
\n\n<replica-set-name>-<random-string>
$ kubectl create deploy nginx --image=nginx\ndeployment.apps/nginx created\n\n$ kubectl scale --replicas=3 deploy/nginx \ndeployment.extensions/nginx scaled\n\n$ kubectl get replicaset\nNAME DESIRED CURRENT READY AGE\nnginx-554b9c67f9 3 3 3 96s\n\n$ kubectl get po\nNAME READY STATUS RESTARTS AGE\nnginx-554b9c67f9-c5cv4 1/1 Running 0 74s\nnginx-554b9c67f9-hjkjq 1/1 Running 0 74s\nnginx-554b9c67f9-wbwdm 1/1 Running 0 2m7s\nRun Code Online (Sandbox Code Playgroud)\n\n事实上,“随机字符串”根本不是完全随机的。
\n\n为了防止 \xe2\x80\x9c 坏词 \xe2\x80\x9d,元音和数字0、1和3从函数中删除rand.String(参考 PR:#37225和#50070)。
因此,<random-string>将由以下字母数字字符的组合组成:bcdfghjklmnpqrstvwxz2456789。
如果使用部署,则命名约定如下:
|--- 部署:<名称>
? -----?? 副本集:<名称>-<rs>
? --------?? Pod:<名称>-<rs>-<RandomString>
如果您使用部署,为了人类操作员的缘故,您会发现您的 Pod 名称为<replicaset>-<[0-9a-z]{5}>副本集所在的位置<deployment>-<id>。对于 kubernetes 本身来说,pod 的命名是无关紧要的。
| 归档时间: |
|
| 查看次数: |
7081 次 |
| 最近记录: |