Docker和kubernetes privileged 开启特权模式

首先了解下什么是特权模式:特权模式是允许容器具有宿主机(几乎)所有权限,包括一些内核特性和设备访问。

如果让容器运行在 privileged 模式下,会有安全隐患。比如这篇文章[docker 利用特权模式逃逸并拿下主机](docker 利用特权模式逃逸并拿下主机 - FreeBuf网络安全行业门户)

Docker 开启 privileged 特权模式

直接在运行命令加上 --privileged,例如:

docker run -itd --privileged centos:latest 
kubernetes 开启 privileged 特权模式

k8s 特权模式需要使用 SecurityContext 来进行配置:

apVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  containers:
  - name: nginx
    image: nginx
    securityContext:
      privileged: true

如果只需要单独的权限可以用以下方法:

apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  containers:
  - name: nginx
    image: nginx
    securityContext:
      privileged: true
      capabilities:
        add: ["NET_ADMIN"]

强烈建立在生产上不要使用 privileged 特权模式。

发表回复 0

Your email address will not be published. Required fields are marked *