Подключайтесь для динамического создания нового кластера на GKE - PullRequest
0 голосов
/ 30 марта 2020

Я использую cloud.google.com / go SDK для программного обеспечения кластеров GKE необходимой конфигурацией.

Я установил ClientCertificateConfig.IssueClientCertificate = true (см. https://pkg.go.dev/google.golang.org/genproto/googleapis/container/v1?tab=doc#ClientCertificateConfig). После подготовки кластера я использую ca_certificate, client_key, client_secret, возвращенные для того же кластера (см. https://pkg.go.dev/google.golang.org/genproto/googleapis/container/v1?tab=doc#MasterAuth). Теперь, когда у меня есть 3 вышеуказанных атрибута, я пытаюсь сгенерировать kubeconfig для этого кластера (для последующего использования helm)

Грубо говоря, мой kubeconfig выглядит примерно так:

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: <base64_encoded_data>
    server: https://X.X.X.X
  name: gke_<project>_<location>_<name>
contexts:
- context:
    cluster: gke_<project>_<location>_<name>
    user: gke_<project>_<location>_<name>
  name: gke_<project>_<location>_<name>
current-context: gke_<project>_<location>_<name>
kind: Config
preferences: {}
users:
- name: gke_<project>_<location>_<name>
  user:
    client-certificate-data: <base64_encoded_data>
    client-key-data: <base64_encoded_data>

При запуске kubectl получить узлы с вышеуказанным конфигом я получаю ошибку: Ошибка от сервера (Запрещено): serviceaccounts запрещено: Пользователь "клиент" не может перечислить ресурс "serviceaccounts" в группе API "" в области действия кластера

Интересно если я использую конфигурацию, сгенерированную gcloud, единственное изменение в пользовательском разделе: user:

auth-provider:
      config:
        cmd-args: config config-helper --format=json
        cmd-path: /Users/ishankhare/google-cloud-sdk/bin/gcloud
        expiry-key: '{.credential.token_expiry}'
        token-key: '{.credential.access_token}'
      name: gcp

Эта конфигурация, кажется, работает просто отлично. Но как только я добавляю в него данные сертификата клиента и ключа клиента, он выходит из строя: , Сможете ли вы предоставить мне некоторую информацию здесь?

Также отвечая на этот вопрос Я пытался сначала полагаться только на комбинацию Имя пользователя - Пароль, используя это для применения нового кластера в кластере. Но я не могу использовать только подход пароля пользователя. Я получаю следующую ошибку:

error: You must be logged in to the server (Unauthorized)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...