欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Kubernetes如何限制不同團隊只能訪問各自namespace實現(xiàn)

 更新時間:2023年04月13日 10:08:53   作者:爛筆頭  
這篇文章主要為大家介紹了Kubernetes如何限制不同團隊只能訪問各自namespace實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

場景說明

假設(shè)有這么一個場景:一個 Kubernetes 集群,有多個 namespace,然后每個 namespace 由一個工程團隊去使用,不同的工程團隊之間無法訪問和操作其他團隊的 namespace 下的資源,實現(xiàn)資源和權(quán)限隔離的目的。

1 | 實現(xiàn)思路

可以利用 Kubernetes 的 RBAC 來實現(xiàn):

  • 在各自的 namespace 下創(chuàng)建一個 ServiceAccount
  • 在這個 namespace 下創(chuàng)建一個 Role,定義這個 Role 的權(quán)限規(guī)則(rules)
  • 將這個 Role 和 ServiceAccount 進行綁定
  • 最后生成一個kubeconfig,給到各個團隊通過 kubectl 命令行調(diào)用

2 | 實現(xiàn)的腳本

需要的配置文件已經(jīng)寫好,如下:

  • create_kubeconfig.sh
#!/bin/bash
# Created by lanbitou 03.29.2023
ns=$1
name=$ns
user=$name
kubeconfig=$ns"-config"
# kubernetes master api server 地址, 需要替換掉
apiserver="https://123.456.789.ABC:6443"
cluster="cluster_name_"$ns
context=$cluster
name=$name ns=$ns envsubst < create-role-rolebinding.yaml | kubectl apply -f -
if [ $? != 0 ]
then
    echo "error, exit=1"
    exit 1
fi
token=$(kubectl -n $ns get secret $(kubectl -n $ns get secret | grep $user | awk '{print $1}') -o go-template='{{.data.token}}' | base64 -d)
echo $token
kubectl config set-credentials $user --token=$token --kubeconfig=$kubeconfig
kubectl config set-cluster $cluster --insecure-skip-tls-verify=true --server=$apiserver  --kubeconfig=$kubeconfig
kubectl config set-context $context --cluster=$cluster --user=$user --kubeconfig=$kubeconfig
kubectl config use-context $context --kubeconfig=$kubeconfig
echo $kubeconfig' is created in the current path.'

NOTE

這個腳本要在 Kubernetes admin 權(quán)限的 kubeconfig 下運行。

  • create-role-rolebinding.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: $name
  namespace: $ns
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: $ns
  name: $name
rules:
- apiGroups: ["", "extensions", "apps"]
  #resources: ["pods", "services", "configmaps", "secrets","deployments","replicasets","statefulsets","daemonsets","pods/log","pods/exec","namespaces"]
  resources: ["*"]
  verbs: ["*"]
- apiGroups: ["batch"]
  resources: ["jobs","cronjobs"]
  verbs: ["*"]
- apiGroups: ["apiextensions.k8s.io"]
  resources: ["customresourcedefinitions"]
  verbs: ["*"]
# 如果發(fā)現(xiàn)生成的kubeconfig權(quán)限不足,可以根據(jù)提示,在這里添加對應(yīng)的rule
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: $name
  namespace: $ns
subjects:
- kind: ServiceAccount
  name: $name
  namespace: $ns
roleRef:
  kind: Role
  name: $name
  apiGroup: rbac.authorization.k8s.io

3 | 使用方式

假設(shè),有 zhangsan,lisi,wangwu 三個團隊,namespace 也是 zhangsan,lisi,wangwu。

那么執(zhí)行腳本如下:

$ bash create_kubeconfig.sh zhangsan
$ bash create_kubeconfig.sh lisi
$ bash create_kubeconfig.sh wangwu

即可在腳本所在目錄,生成對應(yīng)的kubeconfig:zhangsan-config, lisi-config 和 wangwu-config。 那么,不同團隊對k8s集群的訪問就可以這樣進行:

$ kubectl -n zhangsan --kube-config=zhangsan-config get all

以上就是Kubernetes如何限制不同團隊只能訪問各自namespace實現(xiàn)的詳細內(nèi)容,更多關(guān)于Kubernetes限制namespace的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解Kubernetes 中容器跨主機網(wǎng)絡(luò)

    詳解Kubernetes 中容器跨主機網(wǎng)絡(luò)

    這篇文章主要為大家介紹了Kubernetes中容器跨主機網(wǎng)絡(luò)是怎么樣的,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • K8S?實用工具之合并多個kubeconfig實現(xiàn)詳解

    K8S?實用工具之合并多個kubeconfig實現(xiàn)詳解

    這篇文章主要為大家介紹了K8S?實用工具之合并多個kubeconfig實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • kubernetes k8s 存儲動態(tài)掛載配置詳解

    kubernetes k8s 存儲動態(tài)掛載配置詳解

    這篇文章主要為大家介紹了kubernetes k8s 存儲動態(tài)掛載配置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • Rainbond調(diào)用Vue?React項目的后端接口

    Rainbond調(diào)用Vue?React項目的后端接口

    這篇文章主要為大家介紹了Rainbond調(diào)用Vue?React項目的后端接口問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • 詳解Rainbond內(nèi)置ServiceMesh微服務(wù)架構(gòu)

    詳解Rainbond內(nèi)置ServiceMesh微服務(wù)架構(gòu)

    這篇文章主要為大家介紹了詳解Rainbond內(nèi)置ServiceMesh微服務(wù)架構(gòu),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • 一文詳解如何高效查看k8s日志

    一文詳解如何高效查看k8s日志

    K8S是kubernetes的縮寫,是為解決容器服務(wù)編排而生的,在運維K8S服務(wù)的過程中,經(jīng)常會遇到各種報錯和診斷問題,那么我們一般怎么查看K8S組件的日志,這篇文章主要給大家介紹了關(guān)于如何高效查看k8s日志的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • 玩客云安裝青龍面板實現(xiàn)京東簽到薅羊毛功能

    玩客云安裝青龍面板實現(xiàn)京東簽到薅羊毛功能

    這篇文章主要介紹了玩客云安裝青龍面板實現(xiàn)京東簽到薅羊毛,本人準(zhǔn)備的服務(wù)器就是玩客云,只需運行一些常用的?docker?容器就行,需要的朋友可以參考下
    2022-05-05
  • Kubernetes探針使用介紹

    Kubernetes探針使用介紹

    這篇文章主要為大家介紹了Kubernetes探針使用詳細介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • 云原生技術(shù)持久化存儲PV與PVC

    云原生技術(shù)持久化存儲PV與PVC

    這篇文章主要介紹了云原生技術(shù)持久化存儲PV與PVC
    2022-03-03
  • Istio 自動注入 sidecar 失敗導(dǎo)致無法訪問webhook服務(wù)的解決方法

    Istio 自動注入 sidecar 失敗導(dǎo)致無法訪問webhook服務(wù)的解決方法

    最近工作中在部署Istio環(huán)境的過程中發(fā)現(xiàn)官方示例啟動的pod不能訪問不到Istio的webhook,這個問題也是困擾了我一天,我把他歸類到sidecar注入失敗的情況下,本文給大家分享問題解決方法,感興趣的朋友跟隨小編一起看看吧
    2023-10-10

最新評論