k8s新建使用者並授權

2022-06-30 20:27:11 字數 1239 閱讀 6040

在k8s中也有使用者和組的概念,只是不如openshift那麼清晰與好操作。但是原理基本上可以套用,畢竟openshift可以看作是k8s的封裝發行版,可參考openshift使用者與許可權思維導圖。

新建乙個k8s使用者大概可以分為以下幾步:

具體操作:

# (umask 077; openssl genrsa -out baison.key 2048)      //

建立使用者證書key

# openssl req -new -key baison.key -out baison.csr -subj "

/o=baison/cn=baison"//

建立使用者證書請求,-subj指定組和使用者,其中o是組名,cn是使用者名稱

# openssl x509 -req -in baison.csr -ca /etc/kubernetes/pki/ca.crt -cakey /etc/kubernetes/pki/ca.key -cacreateserial -out baison.crt -days 3650

//使用k8s的ca簽發使用者證書

# kubectl config set-credentials baison --client-certificate=baison.crt --client-key=baison.key --embed-certs=true

//使用者配置

# kubectl config set-context baison@kubernetes --cluster=kubernetes --user=baison //

context設定

# 可以切換到新使用者了,但此時使用者啥許可權都沒有

# kubectl config use-context baison@kubernetes

簡單說明:

k8s的使用者授權有很多種,其中最普遍的是rbac——基於角色的授權機制。

即最終效果是:某個使用者對某些資源擁有某些操作。下面以上面建立的baison使用者為例,讓此使用者對default空間擁有檢視pod與進入到pod裡的許可權。

# kubectl create role only-read-pods --verb=get,list,watch,create --resource=pod,pod/exec

# kubectl create rolebinding bind-only-read-pods --role=only-read-pods --user=baison

簡單說明:

K8S建立使用者RBAC授權

root k8s186 rbac vim usertest csr.json names 證書生成 export kube apiserver 設定集群引數 設定客戶端認證引數 設定上下文引數 kubectl config set context kubernetes cluster kuberne...

k8s認證與授權

認證用於身份鑑別,而授權則實現許可權分派。k8s以外掛程式化的方式實現了這兩種功能,且分別存在多種可用的外掛程式。另外,它還支援准入控制機制,用於補充授權機制以實現更精細的訪問控制功能。一 訪問控制概述 apiserver作為k8s集群系統的閘道器,是訪問及管理資源物件的唯一入口,餘下所有需要訪問集...

k8s登入 登陸並訪問k8s的apiserver

kubeadm安裝的k8s集群預設需要使用者登陸認證,無法直接使用命令curl訪問。所以首先的第一步就是獲取token。先找到k8s集群中的dns元件coredns,之前的版本使用的是kube dns。root k8s master kubectl n kube system get sa core...