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

西宁网站建设高端天津谷歌优化

西宁网站建设高端,天津谷歌优化,sap软件,网站建设过程报告1 K8S账户体系介绍 在k8s中#xff0c;有两类用户#xff0c;service account和user#xff0c;我们可以通过创建role或clusterrole#xff0c;再将账户和role或clusterrole进行绑定来给账号赋予权限#xff0c;实现权限控制#xff0c;两类账户的作用如下。 server acc…1 K8S账户体系介绍 在k8s中有两类用户service account和user我们可以通过创建role或clusterrole再将账户和role或clusterrole进行绑定来给账号赋予权限实现权限控制两类账户的作用如下。 server accountk8s的进程、pod申请授权时使用的账户。类似于nginx服务会有一个nginx用户。 userk8s的管理人员使用的账户也就是我们使用的账户。 2 service account 2.1 介绍 Kubernetes中所有的访问无论外部内部都会通过API Server处理访问Kubernetes资源前需要经过认证与授权。 在k8s中service account简称sa是给集群中的进程使用的当集群中的pod或进程需要跟apiserver申请调用资源时会使用到sa。 2.2 为什么需要sa 主要是为了权限控制不同的sa账户对应不同的权限如增删查等。 2.3 如何创建sa 创建一个sa [rootk8s-master01 ~]# kubectl create serviceaccount sa-example ##创建一个sa名为sa-example serviceaccount/sa-example created [rootk8s-master01 ~]# [rootk8s-master01 ~]# kubectl describe sa sa-example Name: sa-example Namespace: default Labels: none Annotations: none Image pull secrets: none Mountable secrets: none Tokens: none Events: none 给sa创建secretv1.25版本后创建sa后不再自动创建secret因此需要手动创建。secret中会包含一些认证信息包括ca证书等。 [rootk8s-master01 ~]# cat sa-example-secret.yaml apiVersion: v1 kind: Secret metadata:name: secret-sa-exampleannotations:kubernetes.io/service-account.name: sa-example # 这里填写serviceAccountName type: kubernetes.io/service-account-token [rootk8s-master01 ~]# kubectl create -f sa-example-secret.yaml secret/secret-sa-example created [rootk8s-master01 ~]# kubectl describe sa sa-example ##检查可以发现sa的token处已经关联上了刚创建的secret Name: sa-example Namespace: default Labels: none Annotations: none Image pull secrets: none Mountable secrets: none Tokens: secret-sa-example Events: none [rootk8s-master01 ~]# kubectl describe secret secret-sa-example ##查看secret的详情 Name: secret-sa-example Namespace: default Labels: none Annotations: kubernetes.io/service-account.name: sa-examplekubernetes.io/service-account.uid: a4b9c0ea-2362-4bb3-abc7-10dc0fb795fcType: kubernetes.io/service-account-tokenDataca.crt: 1099 bytes namespace: 7 bytes token: eyJhbGciOiJSUzI1NiIsImtpZCI6IkhwYldkODNuZmNMczYzNlRiRmpQQndMTFJYSWZZODZQSFIxUFI0WW1fYWMifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6InNlY3JldC1zYS1leGFtcGxlIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6InNhLWV4YW1wbGUiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJhNGI5YzBlYS0yMzYyLTRiYjMtYWJjNy0xMGRjMGZiNzk1ZmMiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6ZGVmYXVsdDpzYS1leGFtcGxlIn0.OjGSORdrRchb-dOk56bIx9s2KfedIrcBHhWi4N7g1v2zDgbumF8DoIVUbDdSB3IXtSnrWu6ccF-NEXDkxTtsU3rRZCn4qLpYqxtmK-We0-JDqfPd6brSqv8SMOFpUhbTxOcCjsICLvGY0dE8iTNjRLjmlTlNENGJui3pYweLCV1Qe0Ry4hZs0BFaMVZn6dSjjNnPTTfaSNRk-4jcqqoOxC0qxVrpQb-LjLvBy9fi2omBZQnb4e98aGo8SN4U5tWNOr_QEfYO9h8B9w-Ub5eI2uZ9jan07ezjD9wathT4BP471m-8NFsFDO8PcRpvxDtNjl4XzMoQmjZA1wM0rseDrg 24.4 如何使用sa Pod中使用ServiceAccount非常方便只需要指定ServiceAccount的名称即可。 [rootk8s-master01 ~]# cat nginx-alpine.yaml apiVersion: v1 kind: Pod metadata:name: nginx-test-pod ##pod名 spec:serviceAccountName: sa-example ##sa名containers:- image: nginx:alpinename: container-0resources:limits:cpu: 100mmemory: 200Mirequests:cpu: 100mmemory: 200MiimagePullSecrets:- name: default-secret ##下载镜像使用到的secret名 [rootk8s-master01 ~]# kubectl create -f nginx-alpine.yaml pod/nginx-test-pod created [rootk8s-master01 ~]# kubectl get pod NAME READY STATUS RESTARTS AGE nginx-test-pod 1/1 Running 0 2m13s [rootk8s-master01 ~]# kubectl describe pod nginx-test-pod|grep -i account Service Account: sa-example/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-mb8cd (ro) [rootk8s-master01 ~]# kubectl exec -it nginx-test-pod -- /bin/sh ##进入pod可以看到对应的secret文件ca证书和token / # ls /var/run/secrets/kubernetes.io/serviceaccount ca.crt namespace token 创建好sa我们可以再绑定role或clusterrole来赋予更精细化的权限。 3 user account 3.1 介绍 前面说的service account在k8s集群中是给pod使用的这里介绍的User Account是给我们自己也就是给人用的。 3.2 为什么需要user account 在k8s集群中跟linux操作系统是一样的我们默认的账户是kubernetes-adminkubernetes管理员账户权限也是最大的在k8s集群中畅通无阻。 但是在企业中并不是只有我们一个人使用k8s集群还有很多的研发人员都是需要使用集群的这时我们需要给他们创建一些账号但是这些账号权限又不能太大以防误删资源这个时候我们就能使用user account了。 3.3 如何创建一个user account 步骤如下 创建用户所需的证书文件和密钥 创建用户 创建角色 将角色和用户进行绑定 3.3.1 为用户生成证书 前面介绍的sa账户secret创建时会创建好证书对于用户的话我们需要自己创建证书。 [rootk8s-master01 ~]# openssl genrsa -out singless.key 2048 ##给用户创建一个私钥 [rootk8s-master01 ~]# openssl req -new -key singless.key -out singless.csr -subj /CNsingless/Odevops ##用此私钥创建一个csr(证书签名请求)文件其中我们需要在subject里带上用户信息(CN为用户名O为用户组)其中/O参数可以出现多次即可以有多个用户组 [rootk8s-master01 ~]# openssl x509 -req -in singless.csr -CA /etc/kubernetes/pki/ca.crt -CAkey /etc/kubernetes/pki/ca.key -CAcreateserial -out singless.crt -days 365 ##找到K8S集群(API Server)的CA证书文件其位置取决于安装集群的方式通常会在/etc/kubernetes/pki/路径下会有两个文件一个是CA证书(ca.crt)一个是CA私钥(ca.key)。通过集群的CA证书和之前创建的csr文件来为用户颁发证书。-CA和-CAkey参数需要指定集群CA证书所在位置-days参数指定此证书的过期时间这里为365天。最后将证书(tom.crt)和私钥(tom.key)保存起来这两个文件将被用来验证API请求。 3.3.2 创建用户 现在我们想要通过kubectl以singless的身份来操作集群需要将singless的认证信息添加进kubectl的配置即~/.kube/config中通过以下命令将用户singless的验证信息添加进kubectl的配置 [rootk8s-master01 ~]# kubectl config set-credentials singless --client-certificatesingless.crt --client-keysingless.key User singless set. [rootk8s-master01 ~]# cat ~/.kube/config |tail -4 ##添加完成后在~/.kube/config可以看到新增了 - name: singlessuser:client-certificate: /root/singless.crtclient-key: /root/singless.key [rootk8s-master01 ~]# kubectl config set-context singless --clusterkubernetes --namespace* --usersingless ##创建context通过context来绑定用户来实现精细化的权限控制。context可以理解为登录用户时所需的环境变量。删除使用kubectl config delete-context命令 [rootk8s-master01 ~]# kubectl config get-contexts ##查询当前环境的context CURRENT NAME CLUSTER AUTHINFO NAMESPACE * kubernetes-adminkubernetes kubernetes kubernetes-adminsingless kubernetes singless * 3.3.3 创建角色 角色主要分为两种role和clusterrole角色role是比较有限制性的只针对于指定的资源生效。而集群角色clusterrole就权限就比较广泛了新建了一个集群角色之后这个角色将对整个集群受影响。 创建角色有两种方法 通过命令行进行创建 [rootk8s-master01 ~]# kubectl create role myrole --verbget,list,watch --resourcepod,svc 创建了一个名叫myrole的角色并且赋予它对pod、service有看的权限 role.rbac.authorization.k8s.io/myrole created 通过yaml文件进行创建 [rootk8s-master01 ~]# cat myrole2.yaml apiVersion: rbac.authorization.k8s.io/v1 #api版本使用kubectl explain 【要查询的资源比如pod】 kind: Role metadata:name: myrole2 rules: #规则 - apiGroups: [] # 空字符串表明使用支持所有的api版本一般都放空resources: [pods] #resources资源现在这些权限对哪些资源生效这里写的是pod如果想要多写几个就用逗号隔开其实就是一个列表verbs: [get, watch, list] #详细的权限这三个都是查看的权限。如果需要所有权限直接填写一个*号即可 [rootk8s-master01 ~]# kubectl create -f myrole2.yaml role.rbac.authorization.k8s.io/myrole2 created 查看创建的角色 [rootk8s-master01 ~]# kubectl get role NAME CREATED AT myrole 2023-07-18T09:22:51Z myrole2 2023-07-18T09:33:24Z 3.3.4 角色绑定用户 [rootk8s-master01 ~]# kubectl create rolebinding myrole-binding --rolemyrole2 --usersingless ##将用户和角色进行绑定 [rootk8s-master01 ~]# kubectl get rolebinding -owide ##查看绑定关系 NAME ROLE AGE USERS GROUPS SERVICEACCOUNTS myrole-binding Role/myrole2 57s singless3.4 使用账户 下面的例子表明使用singless用户可以看到pod但是看不到svc符合我们的前面创建role myrole2时所做的权限设置 [rootk8s-master01 ~]# kubectl config use-context singless Switched to context singless. [rootk8s-master01 ~]# kubectl get pod NAME READY STATUS RESTARTS AGE nginx-test-pod 1/1 Running 0 124m [rootk8s-master01 ~]# kubectl get svc Error from server (Forbidden): services is forbidden: User singless cannot list resource services in API group in the namespace default 使用下列命令可以将context切换回管理员用户 [rootk8s-master01 ~]# kubectl config use-context kubernetes-adminkubernetes
http://www.w-s-a.com/news/309232/

相关文章:

  • 做线上网站需要多少钱系统开发板价格
  • 建筑企业登录哪个网站wordpress feed地址
  • 网站建设流程百科提升seo搜索排名
  • 杭州网站建设 巴零做销售怎么和客户聊天
  • 北京自己怎样做网站wordpress oauth2插件
  • 上海800做网站wordpress建站的好处
  • 婚纱摄影网站设计模板如何做好网站内容
  • cdn网站加速招商计划书模板ppt
  • 我在某网站网站做代理开发小程序外包
  • 设计网站国外商城网站的建设费用
  • 网站开发工作需要什么专业学做网站游戏教程
  • 电子商务网站规划 分析 设计杭州网站优化平台
  • 汕头企业自助建站系统网站后台登陆验证码无法显示
  • 宁波网站制作服务做外贸推广自己网站
  • php 微信 网站开发青岛网站互联网公司
  • 网站软件免费下载大全网站建设开发价格高吗
  • asp网站制作软件上海做网站制作
  • 福田区住房和建设局网站好搜搜索引擎
  • 平面设计师看的网站济南机场建设
  • 俄文网站开发翻译平台页面设计模板
  • 建设在线购物网站淮南电商网站建设价格
  • 龙泉市旅游门户网站建设wordpress faq插件
  • 网站的流程图贵阳做网站方舟网络
  • c 做网站开发实例wordpress 加上index
  • 济南seo网站推广搜索广告推广
  • 有关于网站建设的参考文献宁波seo网络推广公司
  • 网站设配色个人主页介绍文案
  • 网站seo相关设置优化网站建设的好处
  • 上海市建设工程安全生产协会网站郴州网站设计公司
  • 网站大型网页游戏自己搭建服务器做视频网站