Как отключить runasNon Root в Kubernetes - PullRequest
1 голос
/ 13 апреля 2020

Это в моем файле развертывания YAML:

     readOnlyRootFilesystem: true
          runAsNonRoot: true
          runAsUser: 10001

Какие изменения я должен сделать, чтобы установить python:

kubectl exec -it carts-66bc68f95f-8wjgx -c carts -n sock-shop -- sh
/usr/src/app $ apk add python
ERROR: Unable to lock database: Permission denied
ERROR: Failed to open apk database: Permission denied
/usr/src/app $ echo hello > sample.txt
sh: can't create sample.txt: Read-only file system
/usr/src/app $ 

1 Ответ

2 голосов
/ 13 апреля 2020

Вы в принципе не можете из оболочки Kubernetes. Это работает как задумано в целях безопасности.

Если вы используете Docker, способ обойти это - войти в систему / S SH на машине, на которой работает этот модуль. (Возможно, вы не сможете S SH к узлу, в зависимости от того, какие средства безопасности установлены в вашей организации)

Найдите нужный контейнер:

$ docker ps -a | grep carts-66bc68f95f-8wjgx

Затем exe c к контейнеру как root:

$ docker exec -it --user=root <container-name> bash
# apk add python

Сказав это, я рекомендую начать с образа контейнера, в котором уже установлена ​​Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...