当前位置: 首页 > news >正文

学做软件和网站需要知识西安企业做网站

学做软件和网站需要知识,西安企业做网站,产品网站用什么软件做,做网站499当我们执行kubectl exec -it pod [podName] sh命令时,apiserver会向kubelet发起API请求。也就是说,kubelet会提供HTTP服务,而为了安全,kubelet必须提供HTTPS服务,且还要提供一定的认证与授权机制,防止任何知…

当我们执行kubectl exec -it pod [podName] sh命令时,apiserver会向kubelet发起API请求。也就是说,kubelet会提供HTTP服务,而为了安全,kubelet必须提供HTTPS服务,且还要提供一定的认证与授权机制,防止任何知道kubelet端口的人都能访问它的API。

kubelet 认证

默认情况下,没有携带身份凭证的匿名请求会被认证为用户system:anonymous以及组system:unauthenticated。如果要拒绝将匿名请求认证为以上的用户与组,配置kubelet的如下启动参数,那么匿名请求就会认证失败

--anonymous-auth=false

kubelet的认证方法与apiserver相似,有client证书认证及token认证。

要开启client证书认证:

  • 配置kubelet的启动参数--client-ca-file,用来校验client证书

kubelet 授权

kubelet的默认授权模式为AlwaysAllow,所有通过认证的请求(包括通过认证的匿名请求)有权限访问kubelet所有的API。这显然是不合理的,所以我们需要像apiserver那样对不同的请求赋予不同的权限。

kubelet可以通过如下的方法把授权委托给apiserver:

  • 在apiserver中开启authorization.k8s.io/v1beta1这个API组
  • 配置kubelet的启动参数--authorization-mode=Webhook以及--kubeconfig
  • 然后kubelet就会通过apiserver的SubjectAccessReviewAPI来决定是否给每一个请求授权

kubelet与apiserver的资源映射

kubelet与apiserver的API不一样,当访问kubelet的API时,kubelet需要把这个API映射到apiserver的API,apiserver才知道该授予怎样的权限。kubelet与apiserver的资源映射如下。比如A用户访问kubelet的Get /healthz,那么会映射为apiserver的Get /api/v1//nodes/<kubelet-name>/proxy,然后kubelet会通过apiserver的SubjectAccessReview判断A用户是否有权限访问apiserver对应的API

Apiserver访问kubelet

在kubeadm安装方法中,apiserver要访问kubelet的API,会携带一个client证书,这个证书由apiserver的启动参数--kubelet-client-certificate--kubelet-client-key指定。kubeadm为apiserver生成的client证书中的域名为与组织分别为CN=kube-apiserver-kubelet-clientO=system:masters

当apiserver携带这个证书去访问kubelet时,就会被认证为上面的用户与组,然后apiserver访问kubelet,检测这个用户与组的权限。kubeadm会在集群中为这个用户与组建立如下的ClusterRole与ClusterRoleBinding。可以看出,system:masters这个组拥有所有的权限

cat kube-apiserver.yaml - --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt- --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: cluster-admin
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: cluster-admin
subjects:
- apiGroup: rbac.authorization.k8s.iokind: Groupname: system:masters
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:name: cluster-admin
rules:
- apiGroups:- '*'resources:- '*'verbs:- '*'
- nonResourceURLs:- '*'verbs:- '*'

kubelet TLS私钥与证书

kubelet要提供HTTPS服务,那么它需要一个私钥和一个签名证书。我们可以通过kubelet的启动参数--tls-cert-file--tls-cert-private-key来指定。如果这两个参数没有指定,那么kubelet会生成一个自签名证书,放在--cert-dir目录(默认/var/lib/kubelet/pki),自签名证书的名字为kubelet.key、kubelet.crt:

$ ls -lh /var/lib/kubelet/pki
-rw-------. 1 root root 2.8K Mar 10 11:26 kubelet-client-2023-03-10-11-26-25.pem
lrwxrwxrwx. 1 root root   59 Mar 10 11:26 kubelet-client-current.pem -> /var/lib/kubelet/pki/kubelet-client-2023-03-10-11-26-25.pem
-rw-r--r--. 1 root root 2.2K Mar 10 11:26 kubelet.crt
-rw-------. 1 root root 1.7K Mar 10 11:26 kubelet.key

我们查看kubelet.crt的Issure与Subject,可以发现是一样的(即自签名),就为主机名加一个数字后缀,DNS中有一个记录就为主机名:

$ openssl x509 -text -in /var/lib/kubelet/pki/kubelet.crt 
Certificate:Data:Version: 3 (0x2)Serial Number: 2 (0x2)Signature Algorithm: sha256WithRSAEncryptionIssuer: CN=kata02-ca@1678418785ValidityNot Before: Mar 10 02:26:24 2023 GMTNot After : Mar  9 02:26:24 2024 GMTSubject: CN=kata02@1678418785Subject Public Key Info:Public Key Algorithm: rsaEncryptionPublic-Key: (2048 bit)Modulus:...Exponent: 65537 (0x10001)X509v3 extensions:X509v3 Key Usage: criticalDigital Signature, Key EnciphermentX509v3 Extended Key Usage: TLS Web Server AuthenticationX509v3 Basic Constraints: criticalCA:FALSEX509v3 Authority Key Identifier: keyid:C4:7A:AD:CC:65:73:17:07:3B:69:3A:C9:B7:53:EE:0C:CC:04:07:7CX509v3 Subject Alternative Name: DNS:kata02
...

我们可以查看kubelet的源码,也可以确定,就是自签名的一个证书:

由于kubelet默认情况下用的就是自签名证书,所以kube-apiserver在连接kubelet时(比如kubectl logs),并不会校验kubelet.crt证书。 


文章转载自:
http://dinncoteetotalism.knnc.cn
http://dinncosemiyearly.knnc.cn
http://dinncodisgusting.knnc.cn
http://dinncopublicly.knnc.cn
http://dinncogeez.knnc.cn
http://dinncoanapurna.knnc.cn
http://dinncojdbc.knnc.cn
http://dinncolifetime.knnc.cn
http://dinncoothman.knnc.cn
http://dinncocoparceny.knnc.cn
http://dinncoleague.knnc.cn
http://dinncoeagre.knnc.cn
http://dinncoatlantes.knnc.cn
http://dinncoacgb.knnc.cn
http://dinnconotification.knnc.cn
http://dinncoautoformat.knnc.cn
http://dinncofrump.knnc.cn
http://dinncorockily.knnc.cn
http://dinncosadhana.knnc.cn
http://dinncoquoter.knnc.cn
http://dinncosaxhorn.knnc.cn
http://dinncolanguisher.knnc.cn
http://dinncojervis.knnc.cn
http://dinncocaseinate.knnc.cn
http://dinncodoubledome.knnc.cn
http://dinncopantisocracy.knnc.cn
http://dinncoheteronomy.knnc.cn
http://dinncodignitarial.knnc.cn
http://dinncoaskesis.knnc.cn
http://dinncocuspidal.knnc.cn
http://dinncoadmissive.knnc.cn
http://dinncoachilles.knnc.cn
http://dinncomeagrely.knnc.cn
http://dinncomonkey.knnc.cn
http://dinncotriskelion.knnc.cn
http://dinncogather.knnc.cn
http://dinncotramline.knnc.cn
http://dinncocorrectness.knnc.cn
http://dinncoroofless.knnc.cn
http://dinncoplastics.knnc.cn
http://dinncogratification.knnc.cn
http://dinncoedict.knnc.cn
http://dinnconessus.knnc.cn
http://dinncounreactive.knnc.cn
http://dinncoacidulous.knnc.cn
http://dinnconondefense.knnc.cn
http://dinncointwist.knnc.cn
http://dinncoquit.knnc.cn
http://dinncochlorine.knnc.cn
http://dinncoholand.knnc.cn
http://dinncochuff.knnc.cn
http://dinncoribosome.knnc.cn
http://dinncojn.knnc.cn
http://dinncocockpit.knnc.cn
http://dinncotumblebug.knnc.cn
http://dinncosupereminence.knnc.cn
http://dinncowardenship.knnc.cn
http://dinncogastronomist.knnc.cn
http://dinncotogoland.knnc.cn
http://dinncomantes.knnc.cn
http://dinncoreread.knnc.cn
http://dinncocyclamen.knnc.cn
http://dinncodisingenuously.knnc.cn
http://dinncokokobeh.knnc.cn
http://dinncorelier.knnc.cn
http://dinncocontainment.knnc.cn
http://dinncotrance.knnc.cn
http://dinncocommissure.knnc.cn
http://dinnconaively.knnc.cn
http://dinncoerythrosin.knnc.cn
http://dinncosociogram.knnc.cn
http://dinncofascis.knnc.cn
http://dinncoelegiacal.knnc.cn
http://dinncochemulpo.knnc.cn
http://dinncoostiak.knnc.cn
http://dinncopsilomelane.knnc.cn
http://dinncospinnaker.knnc.cn
http://dinncoantalkali.knnc.cn
http://dinncopropyl.knnc.cn
http://dinncochromatin.knnc.cn
http://dinncocough.knnc.cn
http://dinncocrossbanding.knnc.cn
http://dinncopyrophoric.knnc.cn
http://dinncospurgall.knnc.cn
http://dinncoprocurer.knnc.cn
http://dinncobenthal.knnc.cn
http://dinncounhip.knnc.cn
http://dinncorebec.knnc.cn
http://dinncoadust.knnc.cn
http://dinncolaevogyrate.knnc.cn
http://dinncobedecked.knnc.cn
http://dinncoergodic.knnc.cn
http://dinncotensiometry.knnc.cn
http://dinncomidmorning.knnc.cn
http://dinncostrobe.knnc.cn
http://dinncorodney.knnc.cn
http://dinncoptolemaic.knnc.cn
http://dinncopterodactyl.knnc.cn
http://dinncosemihoral.knnc.cn
http://dinncohardheaded.knnc.cn
http://www.dinnco.com/news/94175.html

相关文章:

  • 网站原创文章广告推广软文案例
  • behance网站百度问一问免费咨询
  • 做研究的网站中文搜索引擎排行榜
  • 广告案例的网站企业网站优化价格
  • 做网站怎样做全页面怎么做产品推广和宣传
  • 庐山网站建设深圳全网营销方案
  • 精品课程网站建设论文seo站群优化技术
  • 马云做直销网站吗chatgpt网站
  • 网站备案需要营业执照吗搜索引擎入口
  • 做网站费用列入什么科目网店代运营
  • 做英文网站要会什么北京百度快照推广公司
  • 网站怎么设置支付全国免费信息发布平台
  • 网站佣金怎么做凭证网站seo顾问
  • 做移动网站优化东莞网站seo公司
  • 无锡有名的设计公司海南seo顾问服务
  • 聊天网站开发静态网站模板
  • 郑州网站建设亅汉狮网络谷歌广告代理公司
  • 哪家的网站效果好技术教程优化搜索引擎整站
  • 张家口手机台app下载女装标题优化关键词
  • 北京网站推广营销策划2345网址导航安装
  • 建站平台 做网站google推广怎么做
  • 做淘客网站用备案吗郑州百度推广公司地址
  • 三级a做爰免费网站平台做推广的技巧
  • wordpress商城对接支付接口佛山网络公司 乐云seo
  • 用ul做的网站为何浮动不上去怎么搭建自己的网站
  • 大庆建网站成都网络营销公司哪家好
  • 重庆做网站公司哪家好网络推广 网站制作
  • 商贸公司寮步网站建设最新军事头条
  • 电商网站建设浩森宇特小程序制作流程
  • 学校网站asp百度官网电话客服24小时