yamllint.com - сомнительный сервис, поскольку он не сообщает нам, какую версию YAML он проверяет и какую реализацию он использует. Избегайте этого.
Что еще более важно, хотя ваш ввод может быть действительным YAML, это не означает, что это допустимый ввод для kubernetes. YAML позволяет вам создавать любые структуры, в то время как kubernetes ожидает от вас определенной структуры. Вот что говорит вам ошибка:
получил "массив", ожидаемую "карту"
Это означает, что в месте, где kubernetes ожидает отображение , вы предоставили массив ( sequence в надлежащих терминах YAML). В сообщении об ошибке также указывается путь возникновения этой проблемы:
ValidationError (Service.metadata.labels):
Быстрая проверка меток метаданных в kubernetes показывает эту документацию , в которой говорится, что метки должны быть отображениями, а не массивами.
Итак, по вашему мнению, последняя строка здесь является виновником:
metadata:
name: nginx-test
namespace: default
labels:
- type: test
-
- это индикатор YAML для элемента последовательности, создающий последовательность в качестве значения для ключа labels:
. Отбросив его, вы получите отображение:
metadata:
name: nginx-test
namespace: default
labels:
type: test