Как безопасно предоставить kubeconfig kubectl - PullRequest
2 голосов
/ 03 июня 2019

Нашим пользователям разрешен доступ к кластерам Kubernetes только со станции управления, нет возможности доступа к API напрямую со своих ноутбуков / рабочих станций.

Каждый пользователь обладает kubeconfig с соответствующими секретами, принадлежащими этому конкретному пользователю.,Поскольку kubeconfig также содержит токен, используемый для аутентификации в API-интерфейсе Kubernetes, невозможно сохранить kubeconfig «как есть» в файловой системе станции управления.

Есть ли способ предоставить токен /kubeconfig для kubectl, например, через STDIN, не предоставляя его другим пользователям (например, администратору станции управления) в файловой системе?

Ответы [ 2 ]

2 голосов
/ 04 июня 2019

До сих пор я использовал следующее решение:

  • Пользователь указывает пустой токен в файле kubeconfig
apiVersion: v1
kind: Config
preferences: {}
users:
 - name: foo.bar
  user:
    token:
  • Пользователь устанавливает переменную TOKENне повторяя его
read -s TOKEN
  • Пользователь указывает токен как параметр для kubectl
kubectl --kubeconfig /home/foo.bar/kubeconfig --token $TOKEN get nodes
0 голосов
/ 03 июня 2019

Активируйте учетную запись и загрузите учетные данные, используя служебную учетную запись.

 gcloud auth activate-service-account --key-file=${PULL_KEYFILE} --project PROJECT_NAME
 gcloud container clusters get-credentials CLUSTER_NAME --zone ZONE
 //use kubectl as you would do
 kubectl create namespace ${NAMESPACE} --dry-run -o yaml | kubectl apply -f -
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...