簡體   English   中英

Kubernetes ConfigMap更新

[英]Kubernetes ConfigMap Update

我正在研究一個python腳本,以編程方式更新configmaps。

示例腳本如下所示。

import requests

headers = {"Content-Type": "application/json-patch+json"}
configData = {
"apiVersion": "v1",
"kind": "ConfigMap",
"data": {
    "test2.load": "testimtest"
},
"metadata": {
    "name": "nginx2"
}
}

r = requests.patch("http://localhost:8080/api/v1/namespaces/default/configmaps/nginx2", json=configData)

這個問題的有趣之處在於我對POST和GET方法沒有問題,但是當我想使用HTTP的PATCH方法更新kubernetes configmaps時,

 "reason":"UnsupportedMediaType" //STATUS_CODE 415

我該如何解決這個問題。

您需要閱讀一些內容才能確定實際上是否支持此HTTP動詞,也許您遇到權限問題?

無論如何,我對您的建議是使用kubectl的詳細選項來找出類似的內容。

例如,假設我要刪除窗格,我將:

kubectl -v=9 delete pod myapp

輸出(我整理了一下)應該包含您要查找的信息:

I1315 14:42:19.153664 30452 round_trippers.go:417]
   curl -k -v -XDELETE -H "Accept: application/json, */*"
   -H "User-Agent: kubectl/v1.8.5 (linux/amd64) kubernetes/cce11c6"
   https://<ip>:<port>/api/v1/namespaces/default/pods/myapp
...

因此,現在,如果我擁有用python或其他方法構造方法所需的所有詳細信息,希望對您有幫助和/或有所幫助,請使用patch命令嘗試一下。

我建議您使用Kubernetes客戶端庫,而不要自己進行原始HTTP調用。 然后,您無需弄清底層連接的內容,因為該庫將為您抽象出來。

我一直在使用Pykube ,它提供了一個不錯的pythonic API,盡管它現在似乎確實被放棄了。

您還可以使用官方維護的client-python 該庫有點笨拙,因為它基於自動生成的OpenAPI客戶端,但是它涵蓋了很多用例,例如流式傳輸結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM