最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Kubernetes如何限制不同團(tuán)隊(duì)只能訪問各自namespace實(shí)現(xiàn)

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

場景說明

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

1 | 實(shí)現(xiàn)思路

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

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

2 | 實(shí)現(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

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

  • 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 三個(gè)團(tuán)隊(duì),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。 那么,不同團(tuán)隊(duì)對k8s集群的訪問就可以這樣進(jìn)行:

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

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

相關(guān)文章

  • Kubernetes如何限制不同團(tuán)隊(duì)只能訪問各自namespace實(shí)現(xiàn)

    Kubernetes如何限制不同團(tuán)隊(duì)只能訪問各自namespace實(shí)現(xiàn)

    這篇文章主要為大家介紹了Kubernetes如何限制不同團(tuán)隊(duì)只能訪問各自namespace實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • kubelet為cadvisor添加namespace/pod/container標(biāo)簽示例詳解

    kubelet為cadvisor添加namespace/pod/container標(biāo)簽示例詳解

    這篇文章主要為大家介紹了kubelet為cadvisor添加namespace/pod/container標(biāo)簽示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • k8s控制deamonset中pod數(shù)量的方法

    k8s控制deamonset中pod數(shù)量的方法

    DaemonSet是Kubernetes中用于確保每個(gè)節(jié)點(diǎn)運(yùn)行一個(gè)Pod副本的控制器,常用于運(yùn)行集群守護(hù)進(jìn)程,通過節(jié)點(diǎn)選擇器、節(jié)點(diǎn)親和性、容忍度和更新策略,可以精確控制Pod的數(shù)量和調(diào)度,本文介紹k8s控制deamonset中pod數(shù)量的方法,感興趣的朋友一起看看吧
    2025-01-01
  • Kubernetes 1.28.2集群安裝過程中的關(guān)鍵步驟詳解(最新推薦)

    Kubernetes 1.28.2集群安裝過程中的關(guān)鍵步驟詳解(最新推薦)

    Kubernetes K8s是Google開源的容器編排平臺,最初由Borg項(xiàng)目發(fā)展而來,K8s 1.28版本引入了非正常節(jié)點(diǎn)關(guān)閉恢復(fù)、內(nèi)置Sidecar容器支持、Job優(yōu)化、Proxy改進(jìn)和調(diào)度框架優(yōu)化等功能,本文介紹Kubernetes 1.28.2集群安裝過程中的關(guān)鍵步驟,感興趣的朋友一起看看吧
    2025-03-03
  • k8s自身原理service及實(shí)現(xiàn)圖文示例解析

    k8s自身原理service及實(shí)現(xiàn)圖文示例解析

    這篇文章主要為大家介紹了k8s自身原理service圖文示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • Kubernetes探針使用介紹

    Kubernetes探針使用介紹

    這篇文章主要為大家介紹了Kubernetes探針使用詳細(xì)介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • 2022最新青龍面板部署完整版圖文教程

    2022最新青龍面板部署完整版圖文教程

    這篇文章主要介紹了2022最新青龍面板部署完整版圖文教程,下面以騰訊云服務(wù)器為例,先選地區(qū)、然后選擇官方鏡像、系統(tǒng)鏡像、Centos7.6版本,需要的朋友可以參考下
    2022-05-05
  • kubernetes認(rèn)證鑒權(quán)內(nèi)容淺析

    kubernetes認(rèn)證鑒權(quán)內(nèi)容淺析

    這篇文章主要為大家介紹了kubernetes認(rèn)證鑒權(quán)內(nèi)容淺析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • K8s中的臨時(shí)容器Ephemeral?Containers使用

    K8s中的臨時(shí)容器Ephemeral?Containers使用

    這篇文章主要介紹了K8s中的臨時(shí)容器Ephemeral?Containers使用,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 詳解Rainbond云原生平臺簡化Kubernetes業(yè)務(wù)問題排查

    詳解Rainbond云原生平臺簡化Kubernetes業(yè)務(wù)問題排查

    這篇文章主要介紹了詳解Rainbond云原生平臺簡化Kubernetes業(yè)務(wù)問題排查,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03

最新評論

缙云县| 德惠市| 静海县| 山丹县| 堆龙德庆县| 枣庄市| 延庆县| 云阳县| 磐安县| 镇康县| 达拉特旗| 沐川县| 略阳县| 泗水县| 嘉义县| 巍山| 顺义区| 麻阳| 阜新| 如皋市| 广汉市| 马山县| 德化县| 佛山市| 济宁市| 扶沟县| 长丰县| 称多县| 大余县| 城口县| 宣化县| 禹城市| 大竹县| 荔浦县| 莱西市| 博白县| 固原市| 古浪县| 抚顺市| 隆尧县| 永德县|