Ошибка при создании секрета k8s через остальные API - PullRequest
0 голосов
/ 28 июня 2018

Я хочу создать секрет через kubectl api. Ниже приведен скрипт, который я запускаю, но получаю сообщение об ошибке при разборе файла yaml. Пожалуйста, помогите

    curl -vk \
    -X POST \
    -d @- \
    -H "Authorization: Bearer $(cat token)" \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json' \
    https://ip:port/api/v1/namespaces/nginx-ingress/secrets <<'EOF'
{
"apiVersion": "v1",
"kind": "Secret",
"metadata": {
"namespace": "nginx-ingress",
},
"type": "Opaque"
"data": {
"username": "YWRtaW4=",
"password": "MWYyZDFlMmU2N2Rm"
}
EOF

Ошибка:

message ":" указанный объект не распознан (должен иметь тип Secret): не удалось получить версию / вид; Ошибка синтаксического анализа json: недопустимый символ '}' ищет начало строки ключа объекта ({\ "apiVersion \": \ "v1 \", \ "kind \": \ "S ...)", "причина": "BadRequest",

1 Ответ

0 голосов
/ 28 июня 2018

Я изменил структуру json, в которой я добавил фигурную скобку, которую я пропустил в конце, и одну запятую в ключе типа.

curl -vk \ -X POST \ -d @- \ -H "Authorization: Bearer $(cat token)" \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ https://192.168.2.100:6443/api/v1/namespaces/nginx-ingress/secrets <<'EOF' { "apiVersion":"v1", "kind" :"Secret", "metadata" :{"namespace" :"nginx-ingress","name":"mysecret1"}, "type": "Opaque", "data": {"username": "YWRtaW4=","password": "MWYyZDFlMmU2N2Rm"} }

Это сработало.

...