Как получить uid и идентификатор группы для существующего имени пользователя kubernetes? - PullRequest
0 голосов
/ 29 марта 2019

Я пытался развернуть службу в кластере Kubernetes и сначала получил следующую ошибку:

Error: container has runAsNonRoot and image will run as root

После некоторого поиска в Google я обнаружил, что существует политика безопасности Pod, которая не позволяет мне запускать образы как root, как предложено в ошибке.

Я обнаружил, что добавление следующей конфигурации securityContext в мое определение развертывания может решить мою проблему:

spec:
  securityContext:
     runAsUser: [uID]
     fsGroup: [fsID]

Я не смог найти способ получить идентификатор пользователя для данного имени пользователя. Возможно ли использовать kubectl? Или мне нужно как-то назначить свой собственный идентификатор пользователя / группы?

В качестве примера предположим, что я использую контекст мини-куба:

- context:
    cluster: minikube
    user: minikube
  name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
  user:
    client-certificate: C:\...\client.crt
    client-key: C:\...\client.key

Спасибо!

1 Ответ

0 голосов
/ 29 марта 2019

Я не смог найти способ получить идентификатор пользователя для данного имени пользователя. Возможно ли использовать kubectl? Или мне нужно как-то назначить свой собственный идентификатор пользователя / группы?

Вы можете запустить команду id в своем развертывании, например, kubectl exec -it <<pod name>> -- sh, чтобы увидеть пользователя, идентификатор группы для указанного имени пользователя, в данном случае текущий контекст пользователя.

...