默认情况下,容器都是以非特权容器的方式运行。比如,不能在容器中创建虚拟网卡、配置虚拟网络。
Kubernetes提供了修改Capabilities的机制,可以按需要给给容器增加或删除。比如下面的配置给容器增加了CAP_NET_ADMIN
并删除了CAP_KILL
。
apiVersion: v1 kind: Pod metadata: name: hello-world spec: containers: - name: friendly-container image: "alpine:3.4" command: ["/bin/echo", "hello", "world"] securityContext: capabilities: add: - NET_ADMIN drop: - KILL
限制网络带宽
可以通过给Pod增加kubernetes.io/ingress-bandwidth
和kubernetes.io/egress-bandwidth
这两个annotation来限制Pod的网络带宽
apiVersion: v1 kind: Pod metadata: name: qos annotations: kubernetes.io/ingress-band 3M kubernetes.io/egress-band 4M spec: containers: - name: iperf3 image: networkstatic/iperf3 command: - iperf3 - -s