Kubernetes (十五) 认证与授权

一. 访问控制                                                                                                              

二.UserAccount与serviceaccount区别                                                                                    将认证信息添加到serviceAccount中,要比直接在Pod指定imagePullSecrets要安全很多

                 1. 首先命令创建sa 

                2  把serviceaccount和pod绑定起来   vim pod3.yaml

apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  serviceAccountName: admin      #指定的sa创建的admin用户
  containers:
    - name: game2048
      image: reg.westos.org/westos/game2048
 

              3. 添加secrets到serviceaccount中

 kubectl patch serviceaccount admin -p '{"imagePullSecrets": [{"name": "myregistrykey"}]}'

      #此时镜像拉取策略

      这里的私有仓库未公开仍然可以拉取

    三.UserAccount认证                                                    

 cd /etc/kubernetes/pki/                    #默认证书生成位置

 openssl genrsa -out test.key 2048  #生成自签名证书

openssl req -new -key test.key -out test.csr -subj "/CN=test"  #通过csr拿到test.key

 openssl  x509 -req -in test.csr -CA ca.crt -CAkey ca.key  -CAcreateserial -out test.crt -days 365 

 kubectl config set-credentials test --client-certificate=/etc/kubernetes/pki/test.crt --client-key=/etc/kubernetes/pki/test.key --embed-certs=true #创建安全上下文(test用户)

kubectl config set-context test@kubernetes --cluster=kubernetes --user=test#创建对应的上下文切换

kubectl config use-context test@kubernetes                          #切换用户为test
kubectl config use-context kubernetes-admin@kubernetes  #切换用户为admin
     切换用户后执行命令报错因没有权限
        开始设置权限测试                         vim roles.yaml

         kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  namespace: default   #在这里创建的
  name: myrole       #创建的角色
rules:
- apiGroups: [""]
  resources: ["pods"]  #针对pod设置的以下权限
  verbs: ["get", "watch", "list", "create", "update", "patch", "delete"]

---
kind: RoleBinding  #通过绑定赋予给对象
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: test-read-pods
  namespace: default
subjects:
- kind: User
  name: test      #绑定赋予给这个
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: Role
  name: myrole
  apiGroup: rbac.authorization.k8s.io

      设置权限测试 (2)           

           此时在文件中添加权限模块解决这个问题       

         记得切回admin用户   在上面文件中添加模块即可      vim roles.yaml

---
kind: ClusterRole    #全局资源
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: myclusterrole
rules:
- apiGroups: [""]
  resources: ["pods"]  #针对的资源pod下命令
  verbs: ["get", "watch", "list", "delete", "create", "update"]
- apiGroups: ["extensions", "apps"]
  resources: ["deployments"] #和资源deployment下面的命令
  verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]

---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding                #RoleBinding必须指定namespace
metadata:
  name: rolebind-myclusterrole
  namespace:  default           #指定的namespace
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: myclusterrole
subjects:
- apiGroup: rbac.authorization.k8s.io
  kind: User
  name: test

      设置权限测试 (3)           

    此时在文件中添加权限模块解决这个问题

        记得切回admin用户   在上面文件中添加模块即可      vim roles.yaml

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding               #ClusterRoleBinding全局授权
metadata:
  name: clusterrolebinding-myclusterrole
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: myclusterrole
subjects:
- apiGroup: rbac.authorization.k8s.io
  kind: User
  name: test

 回收实验: kubectl delete -f roles.yaml

                    kubectl config delete-user test

                    kubectl config delete-context test@kubernetes

   四. 服务账户的自动化                                                                                        


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/636256.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关闭Windows自动更新的6种方法

关闭Windows自动更新的6种方法! 方法一:通过Windows设置关闭Windows自动更新 步骤1. 按WinI打开Windows设置页面。步骤2. 单击“更新和安全”>“Windows更新”,然后在右侧详情页中选择“暂停更新7天”选项即可在此后7天内关闭Windows更新…

【Linux】相关背景及环境搭建

前言: 认识 Linux, 了解 Linux 的相关背景,学会如何使用云服务器,掌握使用远程终端工具 xshell 登陆 Linux 服务器 文章目录 一、Linux介绍1.1 关于UNIX1.2 Linux的诞生及发展历程1.3 Linux开源1.4 Linux在各个行业的现状1.5 发行版本 二、Li…

LeetCode 热题 100 | 双指针(上)

目录 1 283. 移动零 2 11. 盛最多水的容器 3 15. 三数之和 菜鸟做题第一周,语言是 C 1 283. 移动零 解题思路: 两个指针一前一后遍历数组前者永远指向 0,后者永远在寻找非 0 数的路上后者找到一个非 0 数就和前者进行一个数值交换 …

x-cmd pkg | jieba - 中文结巴分词工具

目录 简介首次用户功能特点竞品分析进一步阅读 简介 结巴中文分词(jieba)是一款在 Python 环境下使用的开源中文文本分词工具。它支持多种分词模式,包括精确模式、全模式和搜索引擎模式,同时支持繁体分词和自定义词典。因其易用性…

[202401C]巨人之力的题解

原题描述: 时间限制: 1000ms 空间限制: 262144kb 题目描述 两千多年以前,身为艾尔迪亚人的尤弥尔意外获得巨人之力,并且创造了九大巨人,其无以匹敌的力量使得整个世界都陷入了无尽的战乱纷争,艾尔迪亚之外的人类过…

docker-compose直接官网二进制文件安装(linux)

试了很多种方法,国内镜像库安装,会报语法错误 直接用github官网,命令安装下载太慢,还不如魔法下载 官网链接docker-compose-linux-x86_64https://github.com/docker/compose/releases/download/v2.24.1/docker-compose-linux-x8…

温度采样【通道选通】S9KEAZ128的PTA2和PTA3引脚无法拉高

1、问题记录:由18串温度采样修改成32串温度采样,增加一路adc采样,通过cd4051控制通道选通,代码中增加了相应的代码,发现增加的最后8路温度不能够控制,以24串为例,给温度传感器增加温度&#xff…

pytorch(四)、完整小网络的搭建和sequential的使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言搭建小网络和sequential的使用一、 第一种形式如下:二、第二种方式,使用sequential 前言 至此,神经网络的基础部分就基本结…

解决Spring Boot跨域问题(配置JAVA类)

什么是跨域问题 跨域问题指的是不同端口之间,使用 ajax 无法相互调用的问题。跨域问题本质是浏览器的一种保护机制,它是为了保证用户的安全,防止恶意网站窃取数据。 比如前端用的端口号为8081,后端用的端口号为8080,后…

C语言从入门到实战——编译和链接

编译和链接 前言一、 翻译环境和运行环境二、 翻译环境2.1 预处理(预编译)2.2 编译2.2.1 词法分析2.2.2 语法分析2.2.3 语义分析 2.3 汇编2.4 链接 三、 运行环境 前言 在C语言中,编译和链接是将源代码转换为可执行文件的两个主要步骤。 编…

MacBookPro怎么数据恢复? mac电脑数据恢复?

使用电脑的用户都知道,被删除的文件一般都会经过回收站,想要恢复它直接点击“还原”就可以恢复到原始位置。mac电脑同理也是这样,但是“回收站”在mac电脑显示为“废纸篓”。 如果电脑回收站,或者是废纸篓里面的数据被清空了&…

App 测试工具大全,收藏这篇就够了

随着移动互联网的高速发展,App应用非常火,测试工程师也会接触到各种app应用。除了人工测试之外,也可以通过一些测试工具来提高我们的测试效率,以下对于我用过或听过的app测试工具做了一个统一整理,欢迎补充。 一、APP自…

【51单片机Keil+Proteus8.9+ADC0804】ADC实验 模拟转数字实验

一、实验名称 ADC实验 模拟转数字实验 二、设计思路 电路设计 1.选用AT89C51单片机作为电路核心单元,外接8位单通道AD转换器ADC0804芯片和LM016L显示器以及滑动变阻器等其它常用元器件构成电路。 2.将ADC0804芯片的控制引脚RD,WR,INTR接到AT89C51芯片对应引脚&…

Spring Boot程序的打包与运行:构建高效部署流程

引言 在现代应用开发中,高效的打包和部署流程对于项目的开发、测试和上线至关重要。Spring Boot作为一种快速开发框架,提供了方便的打包工具和内嵌式的Web服务器,使得打包和运行变得更加简单。本文将研究在Spring Boot应用中如何进行打包&am…

外包干了5个月,技术退步明显...

先说一下自己的情况,大专生,18年通过校招进入武汉某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

【数据库】聊聊InnoDB存储引擎结构

在学习任何技术、框架、中间件的时候,我们都需要从一个宏观的角度先去了解一下大概视角,然后在通过剖定解牛的方式进行细分点的学习,同样对于任何存储结构来说,基本上都包含几块内容。 通信:解决信息传输问题、存储模型…

k8s资源介绍

Kubernetes架构图 Kubernetes系统用于管理分布式节点集群中的微服务或容器化应用程序,并且其提供了零停机时间部署、自动回滚、缩放和容器的自愈(其中包括自动配置、自动重启、自动复制的高弹性基础设施,以及容器的自动缩放等)等…

上海智慧岛大数据云计算中心项目正式封顶!

上海智慧岛大数据云计算中心封顶仪式现场 1月15日,云端股份在上海智慧岛大数据云计算中心举行封顶仪式。云之端网络(江苏)股份有限公司(以下称“云端股份”)总经理贡伟力先生,常务副总张靖先生等公司成员&…

VS生成C++动态链接库DLL

1、官方文档: 在 Visual Studio 中创建 C/C DLL | Microsoft Learn 演练:创建和使用自己的动态链接库 (C) | Microsoft Learn 创建和调用步骤,主要按照第二篇操作。 一、建立DLL项目生成库文件 直接建立C的DLL项目,注意叙述&am…

Docker(八)高级网络配置

作者主页: 正函数的个人主页 文章收录专栏: Docker 欢迎大家点赞 👍 收藏 ⭐ 加关注哦! 高级网络配置 注意:本章属于 Docker 高级配置,如果您是初学者,您可以暂时跳过本章节,直接学习…