OpenShift - Запуск контейнеров от имени пользователя root в минишифте - PullRequest
0 голосов
/ 02 октября 2019

Я хочу запустить контейнер в minishift из Docker Hub, как описано в этой статье . Поскольку образ в Docker Hub работает как root, а OpenShift не позволяет запускать контейнеры от имени root, я использую эту команду, чтобы переопределить это ограничение. Я вошел как system:admin.

oc adm policy add-scc-to-user anyuid -z default

Тем не менее, я получаю эту ошибку:

Error from server (NotFound): the server could not find the requested resource

Во-первых, не ясно, какой ресурс отсутствует, во-вторых, этопереопределение применимо в minishift вообще? anyuid SCC существует.

oc get scc
NAME               KIND
anyuid             SecurityContextConstraints.v1.security.openshift.io
hostaccess         SecurityContextConstraints.v1.security.openshift.io
hostmount-anyuid   SecurityContextConstraints.v1.security.openshift.io
hostnetwork        SecurityContextConstraints.v1.security.openshift.io
nonroot            SecurityContextConstraints.v1.security.openshift.io
privileged         SecurityContextConstraints.v1.security.openshift.io
restricted         SecurityContextConstraints.v1.security.openshift.io

1 Ответ

0 голосов
/ 02 октября 2019

Вам необходимо войти в систему как system:admin, который будет у вас от главных узлов (пользователь root).

(Если вы хотите выполнять операции администратора удаленно, вы можете назначить роль администратора кластера для отдельного пользователяпользователь с помощью приведенной ниже команды из главных узлов oc adm policy add-cluster-role-to-user cluster-admin <user>)

Сначала создайте ServiceAccount (SA) в проекте.

oc project <project>
oc create sa nfs-sa

Добавьте ограничения контекста безопасности в SA.

oc adm policy add-scc-to-user privileged -z nfs-sa

Затем, упомяните учетную запись службы в конфигурации развертывания / pod в разделе spec.

serviceAccount: nfs-sa
serviceAccountName: nfs-sa

Спасибо.

...