Kubectl за прокси

#kubectl #kubeconfig

Вопрос:

У меня есть кластер k8s, развернутый в общедоступном облаке, сервер api которого доступен через общедоступные IP-адреса. Обычно я взаимодействую со своим кластером через kubectl, и у меня есть два сценария того, как это делается:

  1. Из дома
  2. Из офиса

#1 работает нормально и не вызывает проблем #2 является проблемой, потому что офисная сеть отправляет трафик через прокси-сервер и вводит самозаверяющий сертификат. В результате я получаю ошибки «x509: сертификат, подписанный неизвестным органом».

На данный момент я нашел два обходных пути:

  1. Включите --insecure-skip-tls-verify опцию для каждой команды
  2. Обновите мое определение кластера в kubeconfig, чтобы включить insecure-skip-tls-verify: true

Хотя и то, и другое работает, я ищу превосходное решение.

Я знаю, что kubeconfig позволяет использовать спецификацию a certificate-authority при подключении к кластеру, но я не уверен, как заставить ее работать. Конкретно:

  1. Поскольку центр сертификации будет отличаться в зависимости от того, подключаюсь ли я из дома или из офиса, могу ли я указать два центра сертификации?
  2. Как мне получить используемый центр сертификации из офиса и преобразовать его в файл, который я могу использовать вместе с certificate-authority ключом?

Комментарии:

1. Ты проверял jamesdefabia.github.io/docs/user-guide/sharing-clusters ?

2. @KFC_ Я не вижу ничего по этой ссылке, относящегося к моей проблеме. Есть ли что-то конкретное, на что я должен обратить внимание?