Создать ключ API Rancher с помощью kubectl

Имея доступ к кластеру Kubernetes, но не имея ключа API, как я могу программно создать ключ API для сервера ранчера?

Метод , описанный здесь в документации, требует пароля для входа в веб-браузер. Я хотел бы получить тот же результат программно. Учитывая, что все состояние должно быть на etcd, теоретически это должно быть возможно через kubectl.

1 ответ

Я нашел способ сделать эту работу:

Создайте файл JSON для определения токена (т. е.token.json):

      {
  "apiVersion": "management.cattle.io/v3",
  "authProvider": "local",
  "current": false,
  "description": <enter description>,
  "expired": false,
  "expiresAt": "",
  "isDerived": true,
  "kind": "Token",
  "metadata": {
    "labels": {
      "authn.management.cattle.io/token-userId": <enter user id>,
      "cattle.io/creator": "kubectl"
    },
    "name": <enter a token id>,
  },
  "token": <enter token>,
  "ttl": 0,
  "userId": <enter user id>,
}

Идентификатор токена может представлять собой любую уникальную строку, содержащую имя токена. В качестве идентификатора пользователя выберите пользователя, для которого этот токен должен быть длинным. (см. список пользователей сkubectl get users -n cattle-system).

      kubectl apply -f token.json
Другие вопросы по тегам