【发布时间】:2016-08-01 00:51:14
【问题描述】:
我用post body调用下面的rest api来在kubernetes中创建一个命名空间
http://kuberneteshot/api/v1/namespaces/
{
"apiVersion": "v1",
"kind": "Namespace",
"metadata": {
"name": "testnamespace"
}
}
作为响应,我创建了 http 状态 201 和以下 json 响应
{
"kind": "Namespace",
"apiVersion": "v1",
"metadata": {
"name": "testnamespace",
"selfLink": "/api/v1/namespaces/testnamespace",
"uid": "701ff75e-5781-11e6-a48a-74dbd1a0fb73",
"resourceVersion": "57825525",
"creationTimestamp": "2016-08-01T00:46:52Z",
},
"spec": {
"finalizers": [
"kubernetes"
]
},
"status": {
"phase": "Active"
}
}
phase 为 Active 的响应状态是否意味着命名空间已成功创建并处于活动状态?
是否有其他的 api 来检查命名空间是否存在并处于活动状态?
我想知道命名空间是否已创建的原因是,如果我在命名空间实际创建之前触发 create pod,则会收到错误消息:
来自服务器的错误:创建“./pod.json”时出错:pod“my-pod”是 禁止:未找到服务帐户用户名/默认值,请稍后重试 服务帐号已创建
如果我在创建命名空间和创建 pod 命令之间休眠 5 秒,则以下工作正常
kubectl 删除命名空间 testnamepsace;kubectl 创建命名空间 testnamepsace;sleep 5;kubectl create -f ./pod.json --namespace=testnamepsace
如果我不让睡眠 5 秒,我会看到上面提到的错误消息
【问题讨论】:
标签: kubernetes