第15章:Kubernetes认证

本文详细介绍了Kubernetes的安全控制方法,包括认证(如Token和SSO)、授权(如RBAC和Webhook)、以及kubectl客户端访问API-Server所需的信息。还提供了创建和管理用户、证书以及kubeconfig的步骤。
摘要由CSDN通过智能技术生成

Kubernetes相关安全控制方式

  • 认证(身份识别:认证令牌Token-域共享密钥、SSO-HTTPs等)
  • 授权(权限检查:RBAC-默认拒绝的许可授权机制、Webhook等插件)
  • 准入控制(Admission Controller,关联资源的级联操作权限控制)

kubectl客户端访问API-Server需要提供的信息

  • user-username、uid;
  • group
  • extra

API Request Path(HTTP-URL):http://Node_IP or Domain_Name:Node_Port+Resource_Metadata_selfLink

这里的selfLink或者object URL格式为:/apis///namespace/<NAMESPACE_NAME>//[OBJECT_ID]

Respond:JSON格式结果文件;(Kubernetes里面,会自动将yaml格式文件转为JSON格式文件;)

注:这里仅针对HTTP协议相关服务,RPC、ProtoBuf或其他协议需要另外考虑;

HTT Request Verb:get, post, put, delete……

API Request Verb:get, list, create, update, patch, watch, delete, proxy, redirect, delete, deletecollection……

Resource

Subresource

Namespace

API group

两类访问API Server的客户端:

  • useraccount(Just for human)
  • serviceaccount(Just for workload),每个Pod都需要访问api-server,只是权限大小的问题,可以提供Image pull secrets和Token等信息;

kubectl config view查看当前配置信息;

其中context显示信息有:

  • cluster
  • user
  • name,一般为:user@cluster

注意:证书持有者的名称,就是用户账号名;

Kubernetes安全认证详细操作步骤

(1)创建一个私钥的命令:(umask 077; openssl genrsa -out davidwatt.key 2048)

(2)基于这个私钥,生成一个证书签署请求命令:openssl req -new -key davidwatt.key -out davidwatt.csr -subj “/CN=davidwatt”

(3)由ca.crt来签署命令:openssl x509 -req -in davidwatt.csr -CA ./ca.crt -CAkey ./ca.key -CAcreateserial -out davidwatt.crt -days 365

(4)查看证书内容命令:openssl x509 -in davidwatt.crt -text -noout

使用kubectl config view可以查看kubeconfig文件的内容;

(因为需要提前定义集群、用户和上下文,注意这里的集群已经有了;)

(5)新建一个用户user的命令:kubectl config set-credentials davidwatt –client-certificate=./davidwatt.crt –client-key=./davidwatt.key -embed-certs=true

(6)新建一个上下文的命令:kubectl config set-context davidwatt@kubernetes –cluster=kubernetes –user=davidwatt

(7)切换上下文的命令:kubectl config use-context davidwatt@kubernetes

补充:如果需要新建cluster,命令为:kubectl config set-cluster mycluster –kubeconfig=/tmp/test.conf –server=“http://127.0.0.11:6443” –certificate-authority=/etc/kubernetes/pki/ca.crt –embed-certs=true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Davidwatt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值