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

怎么做别人可以上的网站网络架构需求

怎么做别人可以上的网站,网络架构需求,推广排名seo,南宁外贸网络营销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/606519/

相关文章:

  • 中国十大网站开发公司企业网站建设的要素有哪些
  • 网站防站做网站吉林
  • 嘉定区网站建设公司企业信息公示查询系统官网
  • 一个具体网站的seo优化产品介绍网站模板下载地址
  • 怎么做网站在网上能搜到你哈尔滨网站建立公司
  • 做家旅游的视频网站上海百度公司总部
  • 微信小程序公司网站怎么制作区块链平台定制开发
  • 网站资质优化ip地址域名解析
  • 如何搭建个人网站ps做网站首页怎么运用起来
  • 中小企业商务网站建设wordpress 安全加固
  • asp网站开发设计文档php建设网站怎么用
  • 服装公司网站建设需求分析报告seo搜索引擎优化实战
  • wordpress 扒站最近最新新闻
  • 手机wap网站开发与设计wordpress域名无法访问
  • 百度收录网站收费吗做网站用vs还是dw
  • 维度网络专业做网站嘉兴网站建设方案服务
  • 成品电影网站建设中国最顶尖设计师
  • 网站建设报价清单明细视频网站如何做营销
  • 建设农业网站的论文做国外网站有哪些
  • 怎么做网页 网站制作张家港网站制作哪家好
  • 创世网站建设公司书籍封面设计网站
  • 国外优秀网站设计欣赏小程序推广赚佣金
  • 徐州人才网官方网站邯郸seo优化公司
  • 海南响应式网站建设哪里好瑞安电影城网站建设
  • wordpress widgetkit济南优化网站厂家
  • 麦片网站建设佛山短视频推广渠道
  • 免费自助建网站销售的网络建设
  • 传媒大气的网站网站怎么做分类聚合
  • 网站可以自己备案吗crm系统架构图
  • 罗湖网站建设58做网站的公司盐城