[ 
https://issues.apache.org/jira/browse/YARN-6456?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16611204#comment-16611204
 ] 

Eric Yang commented on YARN-6456:
---------------------------------

The current node manager setup such that launching a container goes through:

# ContainerExecutor interface
# LinuxContainerExecutor to setup necessary logic for launching container.
# ContainerRuntime interface
# DockerLinuxContainerRuntime
# c binary for container-executor to launch container.

The fork of separate runtime is at DockerLinuxContainerRuntime.  This creates 
the allowed-images configuration:
yarn.nodemanager.runtime.linux.docker.allowed-images

In existing implementation, the trusted images are checked in native 
container-executor binary via container-executor.cfg.  The separate runtime 
will need to re-implement necessary native code to enforce security.  The new 
configuration looks like redundant configuration, but this is runtime specific 
approach to grant image.  Do we want to add addition key phrase in the 
configuration name to avoid confusion?

> Allow administrators to set a single ContainerRuntime for all containers
> ------------------------------------------------------------------------
>
>                 Key: YARN-6456
>                 URL: https://issues.apache.org/jira/browse/YARN-6456
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: nodemanager
>            Reporter: Miklos Szegedi
>            Assignee: Craig Condit
>            Priority: Major
>              Labels: Docker
>         Attachments: YARN-6456-ForceDockerRuntimeIfSupported.patch, 
> YARN-6456.001.patch, YARN-6456.002.patch
>
>
>  
> With LCE, there are multiple ContainerRuntimes available for handling 
> different types of containers; default, docker, java sandbox. Admins should 
> have the ability to override the user decision and set a single global 
> ContainerRuntime to be used for all containers.
> Original Description:
> {quote}One reason to use Docker containers is to be able to isolate different 
> workloads, even, if they run as the same user.
> I have noticed some issues in the current design:
>  1. DockerLinuxContainerRuntime mounts containerLocalDirs 
> {{nm-local-dir/usercache/user/appcache/application_1491598755372_0011/}} and 
> userLocalDirs {{nm-local-dir/usercache/user/}}, so that a container can see 
> and modify the files of another container. I think the application file cache 
> directory should be enough for the container to run in most of the cases.
>  2. The whole cgroups directory is mounted. Would the container directory be 
> enough?
>  3. There is no way to enforce exclusive use of Docker for all containers. 
> There should be an option that it is not the user but the admin that requires 
> to use Docker.
> {quote}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org

Reply via email to