我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用 python 获取 Openshift ConfigMap 数据

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用 python 获取 Openshift ConfigMap 数据

问题内容

我正在尝试使用 openshift python 库获取项目中 configmap 的数据。我设法获取了 configmap 的名称,但我可以在文档中找到用于提取数据的函数或示例。有没有人遇到过这个问题或者知道如何做到这一点?

这是我用来获取 cm 名称的代码(返回一个字典):

import openshift as oc

if __name__ == '__main__':
    project_selector = oc.selector('projects')
    projects = project_selector.objects()
    number_of_projects = len(projects)
    for project in projects:
        name = project.model.metadata.name
        oc.invoke('project', name)
        tokens = oc.invoke('get', ['configmaps']).actions()[0].as_dict()['out'].replace('\n', ' ').split(' ')
        configmap_data = [x for x in tokens if len(x) > 0 and not x.isupper()]
        print(configmap_data)

我确实尝试使用 oc.selector 并使用 with oc.selector(project_name): 来尝试获取一些数据,但找不到获取它的方法。

请注意,我不需要使用 oc cmd 命令,而必须使用 python。 目前我只需要数据,稍后看看如何更改它。

谢谢。


正确答案


如果您使用 oc.invoke,则需要传递适当的命令行参数。考虑一下如果手动运行相同的命令会发生什么:

$ oc get configmaps
name                                                   data   age
coredns                                                1      54d
extension-apiserver-authentication                     6      54d
kube-apiserver-legacy-service-account-token-tracking   1      54d
kube-proxy                                             2      54d
kube-root-ca.crt                                       1      54d
kubeadm-config                                         1      54d
kubelet-config                                         1      54d

您得到了名称,但没有得到内容。如果你想要内容,则需要选择更合适的输出格式,例如 -o json

$ oc get configmaps kubelet-config -o json
{
    "apiversion": "v1",
    "data": {
        ...
    },
    "kind": "configmap",
    "metadata": {
        "name": "kubelet-config",
        "namespace": "kube-system",
    }
}

您需要在对 oc.invoke 的调用中包含相同的参数。像这样的东西演示了事情是如何工作的:

import openshift as oc
import json

project_selector = oc.selector('projects')
projects = project_selector.objects()
for project in projects:
    # get a list of configmap names
    configmaps = oc.invoke('get', ['-n', project.name(), '-o', 'name', 'configmaps'])

    # for each configmap, get the content
    for cm in configmaps.out().splitlines():
        out = oc.invoke('get', ['-n', project.name(), '-o', 'json', cm])
        manifest = json.loads(out.out())
        data = manifest['data']
        print(data)

这可行,但不要这样做。

很明显您已经知道如何使用选择器,因为这就是您迭代项目的方式。您应该使用相同的技术来迭代配置映射:

import openshift as oc

projects = oc.selector('projects')
for project in projects.objects():
    with oc.project(project.name()):
        configmaps = oc.selector('configmaps')
        for cm in configmaps.objects():
            data = cm.as_dict()['data']
            print(data)

这很大程度上基于示例 straight from the documentation。迭代 configmaps.objects() 可为每个 configmap 获取一个 api 对象。您可以访问该名称和内容。

以上就是使用 python 获取 Openshift ConfigMap 数据的详细内容,更多请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用 python 获取 Openshift ConfigMap 数据

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

使用 python 获取 Openshift ConfigMap 数据

问题内容我正在尝试使用 openshift python 库获取项目中 configmap 的数据。我设法获取了 configmap 的名称,但我可以在文档中找到用于提取数据的函数或示例。有没有人遇到过这个问题或者知道如何做到这一点?这
使用 python 获取 Openshift ConfigMap 数据
2024-02-22

使用Python怎么批量获取基金数据

本篇文章给大家分享的是有关使用Python怎么批量获取基金数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python可以做什么Python是一种编程语言,内置了许多有效的工
2023-06-07

怎么使用datagrid获取行数据

要使用DataGrid获取行数据,可以按照以下步骤进行操作:1. 首先,获取到DataGrid控件的实例。可以通过代码获取或者在XAML文件中定义一个DataGrid控件,并设置一个给定的名称。2. 在需要获取行数据的地方,可以使用以下代码
2023-08-26

python怎么获取powerbuilder数据

要从PowerBuilder中获取数据,可以使用以下方法:使用ODBC驱动程序连接到PowerBuilder数据库。首先,确保已经安装了PowerBuilder ODBC驱动程序。然后,在Python中使用`pyodbc`模块连接到数据库。
2023-10-24

python 使用get_argument获取url query参数

python 使用get_argument获取url query参数 ornado的每个请求处理程序,我们叫做handler,handler里可以自定义自己的处理程序,其实也就是重写方法,如post,get,get_current_user
2022-06-04

python怎么获取redis数据

获取Redis数据的Python方法本指南介绍了使用redis-py库获取Redis数据的多种方法,包括获取字符串、列表、哈希表、集合和有序集合数据。redis-py库还提供了其他方法,如scan_iter(),mget(),blpop()/brpop(),watch()/unwatch()。通过这些方法,开发人员可以轻松有效地访问和操作存储在Redis中的数据。
python怎么获取redis数据
2024-04-09

怎么使用Excel和Python从互联网获取数据

这篇文章主要介绍“怎么使用Excel和Python从互联网获取数据”,在日常操作中,相信很多人在怎么使用Excel和Python从互联网获取数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用Excel
2023-07-06

python怎么调用接口获取数据

要调用接口获取数据,可以使用Python中的requests库。下面是一个简单的示例:```pythonimport requests# 发送GET请求response = requests.get('http://api.example.
2023-08-30

python怎么获取数据行列数

在Python中,可以使用numpy库来获取数据的行数和列数。下面是一个示例代码:```pythonimport numpy as np# 创建一个2维数组data = np.array([[1, 2, 3], [4, 5, 6], [7,
2023-09-27

使用nodejs怎么获取表单数据

使用nodejs怎么获取表单数据?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、首先npm初始化,下载express包,导入模块后创建服务对象//导入express模块c
2023-06-15

Python连接impala并获取数据

环境:Centos6.5 python2.71、下载并安装Python package:impyla-0.14.0.tar.gzhttps://pypi.python.org/packages/6c/30/da9fe733561eb948a
2023-01-31

python如何获取商品数据

要获取商品数据,你可以使用Python中的各种库和模块来实现。以下是一些常用的方法:1. 使用网络爬虫:使用Python的库,如BeautifulSoup或Scrapy,可以从网页中提取商品数据。你可以通过解析HTML或使用API来获取数据
2023-08-23

python爬虫如何获取数据

使用Python爬虫获取数据可以分为以下几个步骤:导入所需的库:通常情况下,使用requests库发送HTTP请求获取网页内容,使用beautifulsoup4库解析网页内容。import requestsfrom bs4 import
python爬虫如何获取数据
2024-02-29

Python数据类型怎么获取

这篇文章主要介绍“Python数据类型怎么获取”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python数据类型怎么获取”文章能帮助大家解决问题。内置数据类型在编程中,数据类型是一个重要的概念。变量
2023-07-05

Python数据获取如何实现图片数据提取

本篇内容主要讲解“Python数据获取如何实现图片数据提取”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python数据获取如何实现图片数据提取”吧!有很多功能…比如用户画像,客户
2023-06-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录