热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

kubernetes的用户权限认证体系

kubernetes认证

我们知道任何应用的控制都需要通过一定的认证之后,我们才可以获取到应用的控制权。而此处,我们来了解k8s的认证授权是怎么做。

像一般应用,都是提供一个登陆界面,然后我们输入账号密码,登陆后,系统根据用户所有的权限,让我们进行有限的操作。
但像这种应用,没有登陆界面,我们是怎么来实现。

首先,我们来了解k8s客户端是怎么通过认证来获取k8s集群的控制。
k8s客户端需要通过3关来获取。
认证–>授权–>准入控制
认证(怎么好像跟用户没关系,用户信息是怎么传到主服务器上):
what: 证明自己是合法账户
why:
how:
1.令牌认证(http header带上token,跟我们平时开发使用的方式一样)
2.ssl认证,需要双向证书认证
??难道用户的信息会在证书里
3.账号密码
授权:
what:
why:
how:
1.rbac
准入控制:

客户端(人)—>api server 需要包含的信息

用户信息 (应该附带在header或者其他地方)
认证信息 (https)
请求资源(以url的形式)

api的restful设计:
集群级别:
/apis/apps/v1/…/…
名称空间级别:
/apis/apps/v1/namespaces/default/deployment/myapp-deploy/

使用curl访问api server的流程(避免访问认证):
1.开启代理
kubectl proxy --port=8080
2.访问本地端口

kubeconfig保存了认证和用户信息
查看 kubectl config view

自定义账号

账号名就是subject里的CN

新建私钥
(umask 077;openssl genrsa -out magedu.key 2048)
新建csr
(openssl req -new -key magedu.key -out magedu.csr -subj “/CN=magedu”)
新建证书
openssl x509 -req -in magedu.csr -CA ca.crt -CAkey ca.key
-CAcreateserial -out magedu.crt -days 365
新建账号
kubectl config set-credentials --client-certificate=./magedu.crt --client-key=./magedu.key
设置上下文

切换上下文

新建连接集群

pod–>api server的认证

API server 对应到集群pod内的地址是
kubernetes的用户权限认证体系
每个pod都含有一个认证信息
kubernetes的用户权限认证体系

给pod自定一个serviceAccount

1.创建一个sa
kubectl create serviceaccount mysa,会自动生成授权信息

kubernetes的用户权限认证体系

2.指定pod使用sa
serviceAccountName:pod连接apiserver时使用的账号


推荐阅读
  • (七)k8s集群调度
    一、调度说明1.1、简介Scheduler ... [详细]
  • 本文|层面_Kubernetes概述
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Kubernetes概述相关的知识,希望对你有一定的参考价值。前言本文搜集大量关于Kuber ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 云原生SRE
    序言年底了,没有分手的朋友的赶紧分了,所谓新年新气象,年年不重样。去留无意,望看风卷残云。。。运维不会消失,但 ... [详细]
  • HyperledgerComposer环境安装1.安装基本软件包**如果使用Linux安装HyperledgerComposer,请注意以下建议:以 ... [详细]
  • 本文csdn博客链接:http:blog.csdn.netscrescentarticledetails51135307本文qq空间链接:http:user.qzone.qq.com ... [详细]
  • “自主设计与实施的故障注入微服务Sidecar,欢迎大佬批评指正!”
    “故障注入Sidecar“——为您的微服务注入故障以验证集群性能!由于导师和实验室师兄们的科研需要,本人专门以Sidecar的模式设计了一个用于错误注入的微服务模块。该模块可以与任 ... [详细]
author-avatar
好开心6327
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有