Kubernetes / kubectl - "имя контейнера должно быть указано", но похоже, что это так?
Я отлаживаю вывод журнала из kubectl, который гласит:
Error from server (BadRequest): a container name must be specified for pod postgres-operator-49202276-bjtf4, choose one of: [apiserver postgres-operator]
OK, так что это пояснительное сообщение об ошибке, но, глядя на мой шаблон JSON, он должен просто создать оба указанных контейнера, правильно? Что я упускаю? (пожалуйста, простите мое невежество.)
Я использую только стандартную команду kubectl create-f для создания файла JSON в сценарии оболочки. Файл развертывания JSON выглядит следующим образом:
{
"apiVersion": "extensions/v1beta1",
"kind": "Deployment",
"metadata": {
"name": "postgres-operator"
},
"spec": {
"replicas": 1,
"template": {
"metadata": {
"labels": {
"name": "postgres-operator"
}
},
"spec": {
"containers": [{
"name": "apiserver",
"image": "$CCP_IMAGE_PREFIX/apiserver:$CO_IMAGE_TAG",
"imagePullPolicy": "IfNotPresent",
"env": [{
"name": "DEBUG",
"value": "true"
}],
"volumeMounts": [{
"mountPath": "/config",
"name": "apiserver-conf",
"readOnly": true
}, {
"mountPath": "/operator-conf",
"name": "operator-conf",
"readOnly": true
}]
}, {
"name": "postgres-operator",
"image": "$CCP_IMAGE_PREFIX/postgres-operator:$CO_IMAGE_TAG",
"imagePullPolicy": "IfNotPresent",
"env": [{
"name": "DEBUG",
"value": "true"
}, {
"name": "NAMESPACE",
"valueFrom": {
"fieldRef": {
"fieldPath": "metadata.namespace"
}
}
}, {
"name": "MY_POD_NAME",
"valueFrom": {
"fieldRef": {
"fieldPath": "metadata.name"
}
}
}],
"volumeMounts": [{
"mountPath": "/operator-conf",
"name": "operator-conf",
"readOnly": true
}]
}],
"volumes": [{
"name": "operator-conf",
"configMap": {
"name": "operator-conf"
}
}, {
"name": "apiserver-conf",
"configMap": {
"name": "apiserver-conf"
}
}]
}
}
}
}
1 ответов
Если pod имеет более 1 контейнеров, вам нужно указать имя конкретного контейнера.
в вашем случае есть pod (postgres-operator-49202276-bjtf4), который имеет 2 контейнера (apiserver и postgres-operator ). следующие команды будут предоставлять журналы для конкретных контейнеров
развертывание журналов Kubectl / postgres-operator-c apiserver
развертывание журналов Kubectl / postgres-operator-c postgres-operator