前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >k8s支持Capability机制

k8s支持Capability机制

作者头像
后端云
发布2020-06-11 15:28:47
1.8K0
发布2020-06-11 15:28:47
举报
文章被收录于专栏:后端云后端云

比如,我们可以通过给给容器add NET_ADMIN Capability,使得我们可以对network interface进行modify,对应的docker run命令如下:

代码语言:javascript
复制
$ docker run -it --rm --cap-add=NET_ADMIN ubuntu:14.04 ip link add dummy0 type dummy

在Kubernetes对Pod的定义中,用户可以add/drop CapabilitiesPod.spec.containers.sercurityContext.capabilities中添加要add的Capabilities list和drop的Capabilities list。

代码语言:javascript
复制
[root@paasm1 ~]# cat pause.yaml
apiVersion: v1
kind: Pod
metadata:
  name: pause
spec:
  containers:
    - name:  pause
      image: registry.paas/cmss/busybox
      command: [ "sh", "-c", "sleep 1h" ]

[root@paasm1 ~]# kubectl create -f pause.yaml
pod/pause created
[root@paasm1 ~]# kubectl get pod
NAME                                        READY   STATUS             RESTARTS   AGE
docker-paasn1                               0/1     Pending            0          19d
independent-jaguar-nginx-647f7998cd-gstrj   0/1     ImagePullBackOff   0          45h
pause                                       1/1     Running            0          27s
r00tf0rm3                                   0/1     ErrImagePull       0          19d
[root@paasm1 ~]# kubectl exec pause -it sh
/ # vi
/ # date
Fri May 22 06:44:13 UTC 2020
/ # date -s 09:09
date: can't set date: Operation not permitted
Fri May 22 09:09:00 UTC 2020
/ # [root@paasm1 ~]#

Pod pause不能修改系统时间

代码语言:javascript
复制
[root@paasm1 ~]# cat pause1.yaml
apiVersion: v1
kind: Pod
metadata:
  name: pause1
spec:
  containers:
    - name:  pause1
      image: registry.paas/cmss/busybox
      command: [ "sh", "-c", "sleep 1h" ]
      securityContext:
        capabilities:
          add: ["NET_ADMIN","SYS_TIME"]

[root@paasm1 ~]# kubectl create -f pause1.yaml
pod/pause1 created
[root@paasm1 ~]# kubectl get pod
NAME                                        READY   STATUS             RESTARTS   AGE
docker-paasn1                               0/1     Pending            0          19d
independent-jaguar-nginx-647f7998cd-gstrj   0/1     ImagePullBackOff   0          45h
pause                                       1/1     Running            0          7m42s
pause1                                      1/1     Running            0          30s
r00tf0rm3                                   0/1     ErrImagePull       0          19d
[root@paasm1 ~]# kubectl exec pause1 -it sh
/ # date
Fri May 22 01:13:12 UTC 2020
/ # date -s 20:20
Fri May 22 20:20:00 UTC 2020
/ # date
Fri May 22 20:20:01 UTC 2020
/ # [root@paasm1 ~]#

Pod pause1可以修改系统时间

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 后端云 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档