Context

您组织的安全策略包括:

  • ServiceAccount 不得自动挂载 API 凭据
  • ServiceAccount 名称必须以 "-sa" 结尾

清单文件 /cks/sa/pod1.yaml 中指定的 Pod 由于 ServiceAccount 指定错误而无法调度。

请完成以下项目:

Task

  1. 在现有 namespace qa 中创建一个名为 kackend-sa 的新 ServiceAccount,

确保此 ServiceAccount 不自动挂载 API 凭据。

  1. 使用 /cks/sa/pod1.yaml 中的清单文件来创建一个Pod。
  2. 最后,清理 namespace qa 中任何未使用的 ServiceAccount。

参考资料

https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-service-account/

答题

先切换集群

kubectl config use-context KSCH00301
  1. 创建 ServiceAccount
vi qa-ns.yaml

根据官网修改如下内容

apiVersion: v1

kind: ServiceAccount

metadata:

name: backend-sa # 修改name

namespace: qa # 注意添加 namespace

automountServiceAccountToken: false # 修改为 false, 表示不自动关注 secret

kubectl apply -f qa-ns.yaml

kubectl get sa -n qa

  1. 创建 Pod 使用该 ServiceAccount
vi /cka/sa/pod1.yaml

修改如下内容

metadata:

name: backend

namespace: qa # 注意命名空间是否对

spec:

serviceAccountName: backend-sa # 没有则添加一行,有则修改(考试时有,修改即可)

containers:

......
kubectl apply -f /cka/sa/pod1.yaml

kubectl get pod -n qa

  1. 删除没有使用的 ServiceAccount
查看qa命名空间下的所有sa

kubect get sa -n qa

查看qa命名空间下已经在用的sa

kubectl get pod -n qa -o yaml | grep -i serviceAccountName

删除qa命名空间下不用的sa

kubect delete sa test01 -n qa

CKS 考试题整理 (08)-Pod指定ServiceAccount的更多相关文章

  1. pod指定node运行

    1.给node打上label kubectl label nodes cn-hongkong.i-j6c5pm0b59y9kaos565o apptype=monitoring 2.查看结果kubec ...

  2. 【web前端面试题整理08】说说最近几次面试(水)

    为什么换工作 换工作简单来讲一般会归纳为钱不够或者人不对,我们团队氛围很不错,所以基本就定位到钱不够了,而我更多是考虑到以后的职业发展,简单说来就是对以后几年的工作有想法,而这种想法实现不一定能在现在 ...

  3. linux基础:第三关课前考试题整理

    1.如何取得/etc/hosts 文件的权限对应的数字内容,如-rw-r--r-- 为 644, 要求使用命令取得644 这样的数字. [root@server ~]# stat /etc/hosts ...

  4. iOS开发中的错误整理,pod文件Install失败

    一.之前用黑苹果,编辑pod文件用一下格式 platform :ios, "8.0" pod "MJExtension" pod "MJRefresh ...

  5. Kubernetes-深入分析集群安全机制

    Kubernetes过一系列机制来实现集群的安全机制,包括API Server的认证授权.准入控制机制及保护敏感信息的Secret机制等.集群的安全性必须考虑以下的几个目标: 保证容器与其所在宿主机的 ...

  6. Kubernetes之POD

    什么是Pod Pod是可以创建和管理Kubernetes计算的最小可部署单元.一个Pod代表着集群中运行的一个进程. Pod就像是豌豆荚一样,它由一个或者多个容器组成(例如Docker容器),它们共享 ...

  7. Kubernetes中pod创建流程

    转自:https://blog.csdn.net/yan234280533/article/details/72567261 Pod是Kubernetes中最基本的部署调度单元,可以包含contain ...

  8. spring cloud kubernetes之serviceaccount permisson报错

    spring boot项目引用spring-cloud-starter-kubernetes <dependency> <groupId>org.springframework ...

  9. kubernetes-深入理解pod对象(七)

    Pod中如何管理多个容器 Pod中可以同时运行多个进程(作为容器运行)协同工作.同一个Pod中的容器会自动的分配到同一个 node 上.同一个Pod中的容器共享资源.网络环境和依赖,它们总是被同时调度 ...

  10. kubernetes高级之pod安全策略

    系列目录 什么是pod安全策略 pod安全策略是集群级别的用于控制pod安全相关选项的一种资源.PodSecurityPolicy定义了一系列pod相要进行在系统中必须满足的约束条件,以衣一些默认的约 ...

随机推荐

  1. 单机最快的队列Disruptor解析和使用

    前言 介绍高性能队列Disruptor原理以及使用例子. Disruptor是什么? Disruptor是外汇和加密货币交易所运营商 LMAX group 建立高性能的金融交易所的结果.用于解决生产者 ...

  2. keepalived的简单使用

    原理简述 本篇主要学习keepalived配合nginx实现nginx的高可用, 也就是需要keepalived检测到nginx宕机时停用keepalived, 备用keepalived会自动接收过来 ...

  3. pysimplegui之光标 - 元素和窗口的设置

    光标 - 元素和窗口的设置 通过将光标设置为元素或整个窗口,可以将普通箭头光标更改为其他内容.当您将鼠标移到元素或窗口上时,结果将是光标发生变化. 最好的例子之一是 URL.当鼠标移到链接上时,用户习 ...

  4. [数据库]MySQL之SQL查询

    一 关系表的介绍 * 课程表 * 学生表 * 选课表 二 SQL查询语句格式 /* SQL查询的一般格式 SELECT [ALL | DISTINCT] [* | coulmnNameA,coulmn ...

  5. 自己动手从零写桌面操作系统GrapeOS系列教程——4.1 在VirtualBox中安装CentOS

    学习操作系统原理最好的方法是自己写一个简单的操作系统. 之前讲解开发环境时并没有介绍具体的安装过程,有网友反应CentOS的安装配置有问题,尤其是共享文件夹.本讲我们就来补充介绍一下在VirtualB ...

  6. .NET Core MongoDB数据仓储和工作单元模式实操

    前言 上一章节我们主要讲解了MongoDB数据仓储和工作单元模式的封装,这一章节主要讲的是MongoDB用户管理相关操作实操.如:获取所有用户信息.获取用户分页数据.通过用户ID获取对应用户信息.添加 ...

  7. 无法加载 DLL“xxxx.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。

    有一台服务器在执行接口的时候遇到了这样一个问题: 其他服务器上都没有这个问题,IIS部署好的项目目录的bin文件夹下是有这个dll的,但却提示无法加载,在网上找了好多帖子,终于发现了问题. 首先用De ...

  8. 【Git GitHub Idea集成】

    1 Git介绍 分布式版本控制工具 VS 集中式版本控制工具 git是一个免费开源的分布式版本控制系统,可以快速高效地处理从小型到中型的各种项目. 1.1 Git进行版本控制 集中式版本控制工具:如C ...

  9. 3. 面向对象编程(OOP):

    面向对象编程的本质就是:以类的方式组织代码.以对象的组织(封装)数据 抽象:就是把不同的物品的共同点剥离出来,构成一个类.如每个人都有2条腿,我们可以把2条腿剥离出来 构成一个类 类与对象的关系 类: ...

  10. 基于Java开发的全文检索、知识图谱、工作流审批机制的知识库

    一.项目介绍 一款全源码,可二开,可基于云部署.私有部署的企业级知识库云平台,应用在需要进行常用文档整理.分类.归集.检索的地方,适合知识密集型单位/历史文档丰富的单位,或者大型企业.集团. 为什么建 ...