Я создаю конвейер для развертывания некоторого приложения в kubernetes.
Мне были предоставлены учетные данные для аутентификации в виде файла yaml, подобного следующему:
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tL******0tLS0t
server: https://api.whatever.com
name: gs-name-clientcert
contexts:
- context:
cluster: gs-name-clientcert
user: gs-name-clientcert-user
name: gs-name-clientcert
current-context: gs-name-clientcert
kind: Config
preferences: {}
users:
- name: gs-name-clientcert-user
user:
client-certificate-data: LS************RS0tLS0t
client-key-data: LS0tL***********tLQ==
Как я могу указать kubectl использовать этот файл конфигурации, когда я использую команду применения? Спасибо.
Я попробовал --kubeconfig, он говорит: error: error loading config file "/var/cred-deployer.yaml": yaml: line 5: mapping values are not allowed in this context
содержание /var/cred-deployer.yaml
такое же, как и в вопросе?
хорошо, я решил, отступ был неправильным. Большое спасибо за вашу помощь.
@DeejonZ Поскольку ваша проблема решена, вы можете опубликовать процедуру, которой вы следовали, в качестве решения и принять ее для лучшего охвата сообщества.
Пожалуйста, добавьте свой ответ в качестве решения, и я приму его
путь к файлу kubeconfig:
Конфиг изменяет файлы kubeconfig с помощью таких подкоманд, как «kubectl config set current-context my-context». Порядок загрузки следует следующим правилам:
Если установлен флаг –kubeconfig, то загружается только этот файл. Флаг может быть установлен только один раз, и слияние не происходит.
Если установлена переменная среды $KUBECONFIG, то она использует список путей (обычные правила разграничения путей для вашей системы). Эти пути сливаются воедино. Когда значение изменяется, оно изменяется в файле, определяющем раздел. Когда значение создается, оно создается в первом существующем файле. Если файлов в цепочке не существует, создается последний файл в списке.
В противном случае используется ${HOME}/.kube/config и слияние не происходит.
ПОДКОМАНДА конфигурации kubectl
Параметры
--kubeconfig="": использовать определенный файл kubeconfig
Для получения дополнительной информации обратитесь к команде kubectl config , а также перейдите по пути файла конфигурации.
Также проверьте отступ вашего файла конфигурации:
Если вы используете TAB для отступа или любой другой цели. Используйте только символы ПРОБЕЛ.
Чтобы найти ошибки отступа, используйте моноширинные шрифты для просмотра и редактирования YAML.
Для получения дополнительной информации об отступах см. Отступы в YAML
Есть несколько способов: 1-й
export KUBECONFIG=/path/to/yaml
, 2-й, поместить yaml в каталог по умолчанию, например,~/.kube/config
, 3-й, использовать флаг--kubeconfig /path/to/yaml
при использовании командkubectl