2015-10-23 2 views
0

Docker позволяет выполнять команды как другой пользователь с docker exec -u, когда USER something в используемом в файле Dockerfile. Полезно для входа в режим суперпользователя для отладки проблем, когда вы используете CMD в качестве пользователя системы в файле Dockerfile.Выполнение команды в Kubernetes pod как другой пользователь

Как выполнять команды на Kubernetes в качестве другого пользователя?

Моя kubectl версия выход

Client Version: version.Info{Major:"1", Minor:"0", GitVersion:"v1.0.6", GitCommit:"388061f00f0d9e4d641f9ed4971c775e1654579d", GitTreeState:"clean"} 
Server Version: version.Info{Major:"1", Minor:"0", GitVersion:"v1.0.6", GitCommit:"388061f00f0d9e4d641f9ed4971c775e1654579d", GitTreeState:"clean"} 

ответ

3

Вы можете проверить схему спецификации, чтобы увидеть, что вы можете добавить в стручка или репликации контроллера или что-то: https://cloud.google.com/container-engine/docs/spec-schema

Вы RunAsUser за то, что вы хотите:

apiVersion: v1 
kind: Pod 
metadata: 
    name: nginx 
    labels: 
    app: nginx 
spec: 
    containers: 
    - name: nginx 
    image: nginx 
    ports: 
    - containerPort: 80 
    securityContext: 
     runAsUser: 41 
+0

'runAsUser' позволяет вам установить UID Pod, но он не позволяет использовать другой UID для' kubectl exec'. Насколько я знаю, это невозможно. Если есть сильный прецедент, напишите GitHub. –

+0

убедитесь, что вы не используете контрольный контроллер 'SecurityContextDeny', если хотите использовать' runAsUser'. – Linki

Смежные вопросы