


Dapatkan data Openshift ConfigMap menggunakan python
Saya cuba menggunakan perpustakaan python openshift untuk mendapatkan data peta konfigurasi dalam projek. Saya berjaya mendapatkan nama peta konfigurasi tetapi saya boleh mencari fungsi atau contoh dalam dokumentasi untuk mengekstrak data. Adakah sesiapa yang menghadapi masalah ini atau tahu bagaimana untuk melakukannya?
Ini adalah kod yang saya gunakan untuk mendapatkan nama cm (mengembalikan kamus):
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)
Saya telah mencuba menggunakan oc.selector
并使用 with oc.selector(project_name):
untuk mencuba dan mendapatkan beberapa data tetapi tidak dapat mencari cara untuk mendapatkannya.
Sila ambil perhatian bahawa saya tidak perlu menggunakan arahan oc cmd, saya perlu menggunakan python. Buat masa ini saya hanya memerlukan data dan lihat bagaimana untuk menukarnya kemudian.
Terima kasih.
Jawapan betul
Jika anda menggunakan oc.invoke
, anda perlu lulus hujah baris arahan yang sesuai. Pertimbangkan perkara yang akan berlaku jika anda menjalankan arahan yang sama secara manual:
$ 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
Anda mendapat nama, tetapi bukan kandungannya. Jika anda mahukan kandungan, anda perlu memilih format output yang lebih sesuai, seperti -o json
:
$ oc get configmaps kubelet-config -o json { "apiversion": "v1", "data": { ... }, "kind": "configmap", "metadata": { "name": "kubelet-config", "namespace": "kube-system", } }
Anda perlu memasukkan parameter yang sama dalam panggilan ke oc.invoke
. Sesuatu seperti ini menunjukkan cara sesuatu berfungsi:
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)
Ini berfungsi, tetapi jangan lakukannya.
Jelas sekali anda sudah tahu cara menggunakan pemilih kerana itulah cara anda mengulangi item anda. Anda harus menggunakan teknik yang sama untuk mengulang peta konfigurasi:
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)
Ini banyak berdasarkan contoh terus dari dokumentasi. Lelaran configmaps.objects()
untuk mendapatkan objek api bagi setiap peta konfigurasi. Anda boleh mengakses nama dan kandungan.
Atas ialah kandungan terperinci Dapatkan data Openshift ConfigMap menggunakan python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Penyelesaian kepada Isu Kebenaran Semasa Melihat Versi Python di Terminal Linux Apabila anda cuba melihat versi Python di Terminal Linux, masukkan Python ...

Apabila menggunakan Perpustakaan Pandas Python, bagaimana untuk menyalin seluruh lajur antara dua data data dengan struktur yang berbeza adalah masalah biasa. Katakan kita mempunyai dua DAT ...

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam masa 10 jam? Sekiranya anda hanya mempunyai 10 jam untuk mengajar pemula komputer beberapa pengetahuan pengaturcaraan, apa yang akan anda pilih untuk mengajar ...

Cara mengelakkan dikesan semasa menggunakan fiddlerevery di mana untuk bacaan lelaki-dalam-pertengahan apabila anda menggunakan fiddlerevery di mana ...

Ekspresi biasa adalah alat yang berkuasa untuk memadankan corak dan manipulasi teks dalam pengaturcaraan, meningkatkan kecekapan dalam pemprosesan teks merentasi pelbagai aplikasi.

Bagaimanakah Uvicorn terus mendengar permintaan HTTP? Uvicorn adalah pelayan web ringan berdasarkan ASGI. Salah satu fungsi terasnya ialah mendengar permintaan HTTP dan teruskan ...

Artikel ini membincangkan perpustakaan Python yang popular seperti Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask, dan Permintaan, memperincikan kegunaan mereka dalam pengkomputeran saintifik, analisis data, visualisasi, pembelajaran mesin, pembangunan web, dan h

Di Python, bagaimana untuk membuat objek secara dinamik melalui rentetan dan panggil kaedahnya? Ini adalah keperluan pengaturcaraan yang biasa, terutamanya jika perlu dikonfigurasikan atau dijalankan ...
