12-资源注解annotations和安全行下文securityContext(了解即可)

这篇具有很好参考价值的文章主要介绍了12-资源注解annotations和安全行下文securityContext(了解即可)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、资源注解annotations

        资源注解,annotations就是对资源进行注释;

        应用场景:

        给资源(例如pod资源)提供配置信息,类似于帮助信息;

        早期使用比较多,很多开源组件一般都会使用;

1,编辑一个pod资源清单加资源注解案例

[root@k8s231 annottations]# cat pod.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: pod-01
  labels: 
    k8s: xinjizhiwa
    kubernetes: k8s
  #资源注解(也是键值对写法)
  annotations:
    help: is a playbook,please user know it
    a: b
    b: c
    c: d
spec: 
  containers:
  - name: c1
    image: centos:7
    command:
    - "tail"
    - "-f"
    - "/etc/hosts"

2,创建pod资源

[root@k8s231 annottations]# kubectl apply -f pod.yaml

3,查看资源注解

[root@k8s231 annottations]# kubectl describe pods pod-01 
Name:         pod-01
Namespace:    default
Priority:     0
Node:         k8s233/10.0.0.233
Start Time:   Thu, 15 Feb 2024 19:14:00 +0800
Labels:       k8s=xinjizhiwa
              kubernetes=k8s

#资源注解位置;
Annotations:  a: b
              b: c
              c: d
              help: is a playbook,please user know it

..................

二、安全上下文securitycontext

        当我们运行一个pod的容器的时候,存在一个风险,就是当有人登录到容器当中时,使用root用户登录,并修改文件等危险操作,会导致业务出现严重的安全问题,因此,k8s提供了安全上下文securitycontext,用来控制有人登录到容器当中进行的操作;

1,编辑pod资源清单配置安全上下文

[root@k8s231 securitycontext]# cat pod.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: pod-centos7
spec:
  containers:
  - name: c1
    image: centos:7
    command: ["tail","-f","/etc/hosts"]
    #配置pod的容器中安全相关属性
    securityContext:
      #配置容器为特权容器,若配置了特权容器,可能对capabilities测试有影响;
      #privileged: true
      #自定义linux内核特性
      capabilities:
        #添加所有的linux内核功能
        add:
        - ALL
        #移除指定linux内核特性
        drop:
        #代表禁用网络管理的配置
        - NET_ADMIN
        #代表禁用uid和gid,表示你无法使用chown命令;
        - CHOWN
        #禁用chroot命令
        - SYS_CHROOT
      #如果容器的进程以root身份运行,则禁止容器启动;
      runAsNonRoot: true
      #指定运行容器的用户uid,注意该用户的uid必须事先存在于镜像中;
      runAsUser: 666

2,创建pod

[root@k8s231 securitycontext]# kubectl apply -f pod.yaml

3,进入容器查看是否配置成功

[root@k8s231 securitycontext]# kubectl exec -it pod-centos7 -- sh
sh-4.2$ whoami
whoami: cannot find name for user ID 666
sh-4.2$ cd /root
sh-4.2$ ls -l
total 4
-rw------- 1 root root 3416 Nov 13  2020 anaconda-ks.cfg
sh-4.2$ touch 1.txt
touch: cannot touch '1.txt': Permission denied

可以看见,没有这个666的用户,什么都干不了;

至此,安全上下文于资源注解完毕;文章来源地址https://www.toymoban.com/news/detail-829452.html

到了这里,关于12-资源注解annotations和安全行下文securityContext(了解即可)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一起学SF框架系列5.8-模块Beans-注解bean解析2-解析配置annotation-config

    本文主要讲述Spring是如何解析“annotation-config”,实际是加载注解对应解析器。 1、解析的元素是: 2、加载注解对应的解析器。 此处element即为“context:annotation-config”。 注1:注解类的BeanPostProcessors都是SF框架提供。 AnnotationConfigUtils.registerAnnotationConfigProcessors( BeanDefinitionRegi

    2024年02月16日
    浏览(33)
  • java:从spring-core移植的注解(annotation)扫描工具模组common-annotutils(适用JDK 1.7)

    spring-core的部件组装基本原理是基于注解(annotation),通过扫描类、方法、成员上定义的注解来决定组装逻辑。 spring-core将注解扫描框架封装为一个工具类: org.springframework.core.annotation.AnnotationUtils ,使用这个工具类就可以从一个复杂类型或方法中获取指定的注解信息,大概就是这

    2024年04月14日
    浏览(32)
  • Java并发编程挑战与解决方案:上下文切换、死锁、资源限制及底层实现原理

    深入探讨Java并发编程中的挑战,包括上下文切换、死锁、资源限制,并介绍解决方案如减少上下文切换、避免死锁等。了解Java并发机制的底层实现原理和线程间通信方法。

    2024年02月01日
    浏览(44)
  • Tomcat启动失败,启动子级时出错 IllegalStateException,因为我们有相同的WebServlet注解配置路径,有两个相同的上下文路径,所以会报错。

      这是一个关于Tomcat启动Web项目时出现异常的报错信息。报错信息中提到了一个IllegalStateException异常,这个异常通常是由于Tomcat在启动子级时出现了错误导致的。具体来说,这个异常可能是由于以下原因引起的: 应用程序的上下文路径已经存在于Tomcat中,但是Tomcat正在尝试将

    2024年04月12日
    浏览(70)
  • 银行机构数据治理案例解读,构建全行数据资产体系

    近年来,随着信息化、数字化、智能化的快速发展,数据从资源逐渐转变为资产。金融行业具有海量数据资源和丰富应用场景优势,在企业经营管理、产品研发、技术创新等关键环节中发挥着重要作用。数据治理作为释放数据价值的基础,在推动银行数字化转型的过程中扮演

    2024年02月16日
    浏览(37)
  • redis(12):springboot使用redis注解做缓存

    1 新建springboot项目   2 相关注解 @EnableCaching 在启动类上加上注解启动缓存 #作用在你要缓存的数据上 @Cacheable(key=\\\"#id\\\",cacheNames=\\\"com.sxt.service.impl.MenuServiceImpl\\\") @Cacheput 解决脏读 @CachEvict(解决脏读) @Cacheconfig(全局的配置缓存) 3 修改yml

    2024年02月15日
    浏览(44)
  • 5.2 Mybatis快速入门,轻松学会常用12种注解开发

    通过 《上文》,我们完成了 SpringBoot整合Mybatis ,那么接下来,我们就来使用Mybatis访问MySQL数据库! MyBatis的强大在于它的语句映射,它提供了 注解和XML映射 两种方式,都是为了减少我们的使用成本,屏蔽JDBC代码细节,节省代码,从而让我们更专注于SQL代码!本文主要使用

    2023年04月25日
    浏览(39)
  • 深入理解与运用Lombok的@Cleanup注解:自动化资源管理利器

    在Java编程中,正确地管理和释放诸如文件流、数据库连接等资源至关重要。若处理不当,可能会引发内存泄漏或系统资源耗尽等问题。为此,Lombok库提供了一个名为 @Cleanup 的便捷注解,它允许我们以简洁且安全的方式自动关闭实现了 java.io.Closeable 或 java.lang.AutoCloseable 接口的

    2024年01月22日
    浏览(51)
  • Spring Security注销后未正确保存空的SecurityContext漏洞CVE-2023-20862

    背景:公司项目扫描到 Spring-security 组件 注销后未正确保存空的SecurityContext CVE-2023-20862 高风险 | 2023年4月17日 | CVE-2023-20862 在Spring Security中,5.7.x版本之前的5.7.8版本,5.8.x版本之前的5.8.3版本,以及6.0.x版本之前的6.0.3版本,如果使用序列化版本,注销支持不会正确清理安全上

    2024年02月07日
    浏览(39)
  • Android 12 内置系统默认动态壁纸(视频资源)实现

    新建APP 项目 实现 WallpaperService 实现视频播放的引擎 AndroidManifest.xml 里注册服务 其中的 intent-filter 、action 、meta-data 都是固定写法,用于系统识别,我们需要配置的是 后面的 android:resource=“@xml/magic” 资源配置 @xml/magic 在 res 目录下,新建 xml 文件夹 然后新建 xxxx.xml(如本例:

    2023年04月26日
    浏览(267)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包