網(wǎng)站制作NEWS
k8s
在企業(yè)中,我們常常需要為開發(fā)者設(shè)置合理的權(quán)限以滿足工作需求,同時(shí)確保集群的安全性。本篇將介紹如何在Kubernetes(K8s)集群中,通過RBAC(Role-based access control)實(shí)現(xiàn)只讀權(quán)限控制,以滿足開發(fā)者查看集群pod日志的需求,同時(shí)避免操作誤刪等風(fēng)險(xiǎn)。
理解RBAC后,我們著手實(shí)現(xiàn)步驟如下:
創(chuàng)建私鑰并生成自簽證書
使用命令`umask 077; openssl genrsa -out support.key 2048`創(chuàng)建私鑰。
生成證書簽署請(qǐng)求,命令為`openssl req -new -key support.key -out support.csr -subj "/CN=support"`。
用CA證書簽署證書,執(zhí)行`openssl x509 -req -in support.csr -CA ./ca.crt -CAkey ./ca.key -CAcreateserial -out support.crt -days 365`。
使用`openssl x509 -in support.crt -text -noout`查看證書信息。
設(shè)置用戶認(rèn)證信息
使用`kubectl config set-credentials support --client-certificate=./support.crt --client-key=./support.key --embed-certs=true`命令添加用戶認(rèn)證信息。
通過`kubectl config view`查看當(dāng)前配置。
設(shè)定上下文,確保用戶可以訪問集群
使用`kubectl config set-context support@kubernetes --cluster=kubernetes --user=support`設(shè)置上下文。
RBAC授權(quán)實(shí)現(xiàn)
定義角色`pods-reader`,允許用戶對(duì)pods執(zhí)行g(shù)et、list和watch操作。
創(chuàng)建`rolebinding`,將`pods-reader`角色綁定到`support`用戶。
定義`cluster-reader`角色,允許集群級(jí)操作。
創(chuàng)建`clusterrolebinding`,將`cluster-reader`角色綁定到`support`用戶。
完成上下文切換
使用`kubectl config use-context support@kubernetes`切換上下文。
至此,`support`用戶已具備集群pod資源的只讀權(quán)限。實(shí)現(xiàn)過程簡(jiǎn)明易懂,希望對(duì)您的工作有所幫助。如需進(jìn)一步交流或有疑問,請(qǐng)?jiān)谠u(píng)論區(qū)留言。歡迎關(guān)注公眾號(hào),一起探討更多SRE相關(guān)技術(shù)。
多重隨機(jī)標(biāo)簽