中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

專業(yè)制作彩鈴網(wǎng)站排名軟件

專業(yè)制作彩鈴網(wǎng)站,排名軟件,微信公眾號(hào)可以自動(dòng)導(dǎo)入wordpress,沈陽做網(wǎng)站開發(fā)公司1 K8S賬戶體系介紹 在k8s中,有兩類用戶,service account和user,我們可以通過創(chuàng)建role或clusterrole,再將賬戶和role或clusterrole進(jìn)行綁定來給賬號(hào)賦予權(quán)限,實(shí)現(xiàn)權(quán)限控制,兩類賬戶的作用如下。 server acc…

1 K8S賬戶體系介紹

在k8s中,有兩類用戶,service account和user,我們可以通過創(chuàng)建role或clusterrole,再將賬戶和role或clusterrole進(jìn)行綁定來給賬號(hào)賦予權(quán)限,實(shí)現(xiàn)權(quán)限控制,兩類賬戶的作用如下。

  • server account:k8s的進(jìn)程、pod申請(qǐng)授權(quán)時(shí)使用的賬戶。類似于nginx服務(wù)會(huì)有一個(gè)nginx用戶。

  • user:k8s的管理人員使用的賬戶,也就是我們使用的賬戶。

2 service account

2.1 介紹

Kubernetes中所有的訪問,無論外部內(nèi)部,都會(huì)通過API Server處理,訪問Kubernetes資源前需要經(jīng)過認(rèn)證與授權(quán)。

  • 在k8s中,service account(簡稱sa)是給集群中的進(jìn)程使用的,當(dāng)集群中的pod或進(jìn)程需要跟apiserver申請(qǐng)調(diào)用資源時(shí)會(huì)使用到sa。

2.2 為什么需要sa

主要是為了權(quán)限控制,不同的sa賬戶對(duì)應(yīng)不同的權(quán)限,如增刪查等。

2.3 如何創(chuàng)建sa

  • 創(chuàng)建一個(gè)sa

[root@k8s-master01 ~]# kubectl create serviceaccount sa-example ##創(chuàng)建一個(gè)sa名為sa-example
serviceaccount/sa-example created
[root@k8s-master01 ~]#
[root@k8s-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創(chuàng)建secret,v1.25版本后創(chuàng)建sa后不再自動(dòng)創(chuàng)建secret,因此需要手動(dòng)創(chuàng)建。secret中會(huì)包含一些認(rèn)證信息,包括ca證書等。

[root@k8s-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
[root@k8s-master01 ~]# kubectl create -f sa-example-secret.yaml
secret/secret-sa-example created
[root@k8s-master01 ~]# kubectl describe sa sa-example ##檢查可以發(fā)現(xiàn)sa的token處已經(jīng)關(guān)聯(lián)上了剛創(chuàng)建的secret
Name:                sa-example
Namespace:           default
Labels:              <none>
Annotations:         <none>
Image pull secrets:  <none>
Mountable secrets:   <none>
Tokens:              secret-sa-example
Events:              <none>
[root@k8s-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-tokenData
====
ca.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的名稱即可。

[root@k8s-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名
[root@k8s-master01 ~]# kubectl create -f nginx-alpine.yaml
pod/nginx-test-pod created
[root@k8s-master01 ~]# kubectl get pod
NAME             READY   STATUS    RESTARTS   AGE
nginx-test-pod   1/1     Running   0          2m13s
[root@k8s-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)
[root@k8s-master01 ~]# kubectl exec -it nginx-test-pod -- /bin/sh  ##進(jìn)入pod,可以看到對(duì)應(yīng)的secret文件,ca證書和token
/ # ls /var/run/secrets/kubernetes.io/serviceaccount
ca.crt     namespace  token

創(chuàng)建好sa我們可以再綁定role或clusterrole來賦予更精細(xì)化的權(quán)限。

3 user account

3.1 介紹

前面說的service account在k8s集群中是給pod使用的,這里介紹的User Account,是給我們自己,也就是給人用的。

3.2 為什么需要user account

在k8s集群中跟linux操作系統(tǒng)是一樣的,我們默認(rèn)的賬戶是:kubernetes-admin@kubernetes,管理員賬戶,權(quán)限也是最大的,在k8s集群中暢通無阻。

但是在企業(yè)中,并不是只有我們一個(gè)人使用k8s集群,還有很多的研發(fā)人員都是需要使用集群的;這時(shí)我們需要給他們創(chuàng)建一些賬號(hào),但是這些賬號(hào)權(quán)限又不能太大,以防誤刪資源,這個(gè)時(shí)候我們就能使用user account了。

3.3 如何創(chuàng)建一個(gè)user account

步驟如下

  • 創(chuàng)建用戶所需的證書文件和密鑰

  • 創(chuàng)建用戶

  • 創(chuàng)建角色

  • 將角色和用戶進(jìn)行綁定

3.3.1 為用戶生成證書

前面介紹的sa賬戶,secret創(chuàng)建時(shí)會(huì)創(chuàng)建好證書,對(duì)于用戶的話我們需要自己創(chuàng)建證書。

[root@k8s-master01 ~]# openssl genrsa -out singless.key 2048  ##給用戶創(chuàng)建一個(gè)私鑰
[root@k8s-master01 ~]# openssl req -new -key singless.key -out singless.csr -subj "/CN=singless/O=devops" ##用此私鑰創(chuàng)建一個(gè)csr(證書簽名請(qǐng)求)文件,其中我們需要在subject里帶上用戶信息(CN為用戶名,O為用戶組),其中/O參數(shù)可以出現(xiàn)多次,即可以有多個(gè)用戶組:
[root@k8s-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證書文件,其位置取決于安裝集群的方式,通常會(huì)在/etc/kubernetes/pki/路徑下,會(huì)有兩個(gè)文件,一個(gè)是CA證書(ca.crt),一個(gè)是CA私鑰(ca.key)。通過集群的CA證書和之前創(chuàng)建的csr文件,來為用戶頒發(fā)證書。-CA和-CAkey參數(shù)需要指定集群CA證書所在位置,-days參數(shù)指定此證書的過期時(shí)間,這里為365天。最后將證書(tom.crt)和私鑰(tom.key)保存起來,這兩個(gè)文件將被用來驗(yàn)證API請(qǐng)求。

圖片

3.3.2 創(chuàng)建用戶

現(xiàn)在我們想要通過kubectl以singless的身份來操作集群,需要將singless的認(rèn)證信息添加進(jìn)kubectl的配置,即~/.kube/config中,通過以下命令將用戶singless的驗(yàn)證信息添加進(jìn)kubectl的配置:

[root@k8s-master01 ~]# kubectl config set-credentials singless --client-certificate=singless.crt --client-key=singless.key
User "singless" set.
[root@k8s-master01 ~]# cat ~/.kube/config |tail -4  ##添加完成后在~/.kube/config可以看到新增了
- name: singlessuser:client-certificate: /root/singless.crtclient-key: /root/singless.key
[root@k8s-master01 ~]# kubectl config set-context singless --cluster=kubernetes --namespace=* --user=singless  ##創(chuàng)建context,通過context來綁定用戶,來實(shí)現(xiàn)精細(xì)化的權(quán)限控制。context可以理解為登錄用戶時(shí)所需的環(huán)境變量。刪除使用kubectl config delete-context命令
[root@k8s-master01 ~]# kubectl config get-contexts  ##查詢當(dāng)前環(huán)境的context
CURRENT   NAME                          CLUSTER      AUTHINFO           NAMESPACE
*         kubernetes-admin@kubernetes   kubernetes   kubernetes-adminsingless                      kubernetes   singless           *

3.3.3 創(chuàng)建角色

角色主要分為兩種:role和clusterrole,角色(role)是比較有限制性的,只針對(duì)于指定的資源生效。而集群角色(clusterrole)就權(quán)限就比較廣泛了,新建了一個(gè)集群角色之后,這個(gè)角色將對(duì)整個(gè)集群受影響。

創(chuàng)建角色有兩種方法

  • 通過命令行進(jìn)行創(chuàng)建

[root@k8s-master01 ~]# kubectl create role myrole  --verb=get,list,watch --resource=pod,svc 創(chuàng)建了一個(gè)名叫myrole的角色,并且賦予它對(duì)pod、service有看的權(quán)限
role.rbac.authorization.k8s.io/myrole created
  • 通過yaml文件進(jìn)行創(chuàng)建

[root@k8s-master01 ~]# cat myrole2.yaml
apiVersion: rbac.authorization.k8s.io/v1
#api版本,使用kubectl explain +【要查詢的資源,比如pod】
kind: Role
metadata:name: myrole2
rules:          #規(guī)則
- apiGroups: [""]  # 空字符串""表明使用支持所有的api版本,一般都放空resources: ["pods"]           #resources:資源,現(xiàn)在這些權(quán)限對(duì)哪些資源生效,這里寫的是pod,如果想要多寫幾個(gè),就用逗號(hào)隔開,其實(shí)就是一個(gè)列表verbs: ["get", "watch", "list"]       #詳細(xì)的權(quán)限:這三個(gè)都是查看的權(quán)限。如果需要所有權(quán)限,直接填寫一個(gè)*號(hào)即可
[root@k8s-master01 ~]# kubectl create -f myrole2.yaml
role.rbac.authorization.k8s.io/myrole2 created

查看創(chuàng)建的角色

[root@k8s-master01 ~]# kubectl get role
NAME      CREATED AT
myrole    2023-07-18T09:22:51Z
myrole2   2023-07-18T09:33:24Z

3.3.4 角色綁定用戶

[root@k8s-master01 ~]# kubectl create rolebinding myrole-binding --role=myrole2 --user=singless  ##將用戶和角色進(jìn)行綁定
[root@k8s-master01 ~]# kubectl get rolebinding -owide  ##查看綁定關(guān)系
NAME             ROLE           AGE   USERS      GROUPS   SERVICEACCOUNTS
myrole-binding   Role/myrole2   57s   singless

3.4 使用賬戶

下面的例子表明使用singless用戶可以看到pod,但是看不到svc,符合我們的前面創(chuàng)建role myrole2時(shí)所做的權(quán)限設(shè)置

[root@k8s-master01 ~]# kubectl config use-context singless
Switched to context "singless".
[root@k8s-master01 ~]# kubectl get pod
NAME             READY   STATUS    RESTARTS   AGE
nginx-test-pod   1/1     Running   0          124m
[root@k8s-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切換回管理員用戶

[root@k8s-master01 ~]# kubectl config use-context kubernetes-admin@kubernetes

?

http://www.risenshineclean.com/news/4451.html

相關(guān)文章:

  • 電子商務(wù)網(wǎng)站服務(wù)器百度站長平臺(tái)網(wǎng)站提交
  • 做視頻播放網(wǎng)站百度問答庫
  • 為什么網(wǎng)站有不同的擴(kuò)展名全國最新的疫情數(shù)據(jù)
  • 鄒城手機(jī)網(wǎng)站建設(shè)重慶網(wǎng)
  • 煙臺(tái)網(wǎng)站排名優(yōu)化報(bào)價(jià)seo排名優(yōu)化課程
  • 購物網(wǎng)站開發(fā)費(fèi)用武漢百度信息流廣告
  • wordpress后臺(tái)亂了是怎么回事專業(yè)網(wǎng)站優(yōu)化公司
  • 建立讀音seo研究中心vip教程
  • dw怎么做網(wǎng)站教程廣告推廣網(wǎng)站
  • seo的網(wǎng)站建設(shè)湖南企業(yè)競價(jià)優(yōu)化公司
  • 云技術(shù)在網(wǎng)站建設(shè)中的應(yīng)用免費(fèi)網(wǎng)絡(luò)推廣軟件
  • 模板手機(jī)網(wǎng)站建設(shè)公司濟(jì)南百度推廣優(yōu)化
  • 招遠(yuǎn)建網(wǎng)站中國今天剛剛發(fā)生的新聞
  • 壽陽網(wǎng)站建設(shè)哈爾濱網(wǎng)絡(luò)推廣優(yōu)化
  • 想要找個(gè)網(wǎng)站做環(huán)評(píng)公示剛剛中國宣布重大消息
  • 讀書網(wǎng)站如何做職業(yè)技能培訓(xùn)網(wǎng)
  • wap網(wǎng)站開發(fā) php網(wǎng)上銷售方法
  • 美妝網(wǎng)站建設(shè)環(huán)境分析人工在線客服系統(tǒng)
  • 做網(wǎng)站需要技術(shù)查詢關(guān)鍵詞排名軟件
  • 做網(wǎng)站的主機(jī)配置推銷產(chǎn)品怎么推廣
  • 海鹽市網(wǎng)站建設(shè)株洲專業(yè)seo優(yōu)化
  • 怎樣用c語言做網(wǎng)站北京seo推廣系統(tǒng)
  • 華為外包做的網(wǎng)站現(xiàn)在推廣引流什么平臺(tái)比較火
  • 湖北省利川市建設(shè)局網(wǎng)站企業(yè)網(wǎng)站優(yōu)化
  • 做網(wǎng)站排名工具如何讓產(chǎn)品吸引顧客
  • 可做區(qū)域代理的網(wǎng)站seo咨詢師
  • 泉州做網(wǎng)站的網(wǎng)上推廣渠道有哪些
  • 網(wǎng)絡(luò)營銷以什么為中心官網(wǎng)seo哪家公司好
  • 可以免費(fèi)進(jìn)入的網(wǎng)站正能量域名網(wǎng)址關(guān)鍵詞查詢網(wǎng)站
  • 在線下單網(wǎng)站怎么做網(wǎng)站seo診斷