请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

如果只能访问某些个命名空间,如何实现动态的加载访问配置文件,并罗列出对应命名空间下的pod列表

老师,您好,如果只有集群下某几个命名空间的访问权限,并且是通过配置文件的形式给出的访问token,这样的情形下,如何实现在动态添加这样命名空间访问权限的配置文件的情况下,动态加载不同命名空间的pod列表呢

正在回答 回答被采纳积分+3

2回答

暮闲 2023-04-25 06:57:37
同学你好,我觉得可以实现咋,思路如下:
初始化一个map 为每个配置文件命名 作为key 将client-go对应的kubeconfigSet作用value 调用k8s接口时,根据配置文件名找到 kubeconfigSet,这样能解决你的问题吗?
0 回复 有任何疑惑可以回复我~
暮闲 2023-04-24 13:04:24
同学我没有很懂你的问题,我理解一下你的问题看对不对:
就是说通过serviceAccout的方式,需要动态该serviceAcount能够访问到的命名空间,并加载该命名空间下的pod列表吗?
0 回复 有任何疑惑可以回复我~
  • 提问者 爱下围棋的时光 #1
    老师,是这样的,公司部署了一个k8s集群,我们要部署自己的项目,要申请资源(cpu和内存大小)、服务的域名,然后公司会给我们一个部署好的命名空间(基本是一个项目一个命名空间)及配置文件(比如名字为config.yaml)如下,
    apiVersion: v1
    clusters:
      - cluster:
          certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0t...
          server: https://decc-ara-master.decc.smartwasp.com:6443
        name: ara
    contexts:
      - context:
          cluster: ara
          namespace: ara-wasp-ocr
          user: ara-wasp-ocr-admin
        name: ara-wasp-ocr-admin
    current-context: ara-wasp-ocr-admin
    kind: Config
    preferences: {}
    users:
      - name: ara-wasp-ocr-admin
        user:
          token:eyJhbGciOiJSUzI1NiIsIm....
    我们进行任何k8s操作的时候,都要这样 kubectl --kubeconfig=./config.yaml apply -f deploy.yaml(这个是我们自己编写的服务部署文件)
    回复 有任何疑惑可以回复我~ 2023-04-24 13:57:07
  • 提问者 爱下围棋的时光 #2
    如果我们有多个项目,申请了多个这样的资源,部署好之后,每次拿到这样的配置文件(改成project_name.yaml),在我们课程中如何实现不修改代码,可以根据选择的项目名称,获取到该项目的所有pod列表
    回复 有任何疑惑可以回复我~ 2023-04-24 14:02:07
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信