<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
前言:
K8s也提供API介面,提供這個介面的是管理節點的apiserver元件,apiserver服務負責提供HTTP API,以便使用者、其他元件相互通訊。使用者端庫
安裝
pip install kubernetes -i https://pypi.douban.com/simple
k8s認證方式:
HTTPS證書認證(kubeconfig)
import os from kubernetes import client, config config.load_kube_config(file_path) # 指定kubeconfig組態檔 apps_api = client.AppsV1Api() # 資源介面類範例化 for dp in apps_api.list_deployment_for_all_namespaces().items: print(dp)
HTTP Token認證(ServiceAccount)
from kubernetes import client, config configuration = client.Configuration() configuration.host = "https://192.168.3.201:16443" # APISERVER地址 configuration.ssl_ca_cert="ca.crt" # CA證書 /etc/kubernetes/pki/ca.crt configuration.verify_ssl = True # 啟用證書驗證 configuration.api_key = {"authorization": "Bearer " + token} # 指定Token字串 client.Configuration.set_default(configuration) apps_api = client.AppsV1Api()
這2個認證,2選1
獲取Token字串:建立service account並繫結預設cluster-admin管理員叢集角色:
建立使用者:
$ kubectl create serviceaccount dashboard-admin -n kube-system
使用者授權:
$ kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
獲取使用者Token:
$ kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk ‘/dashboard-admin/{print $1}’)
其他常用資源介面類範例化:
core_api = client.CoreV1Api() # namespace,pod,service,pv,pvc apps_api = client.AppsV1Api() # deployment networking_api = client.NetworkingV1beta1Api() # ingress storage_api = client.StorageV1Api() # storage_class
舉個例子
Deployment操作:
# 先得有上面的認證,下面的程式碼才行 # 建立 namespace = "default" name = "api-test" replicas = 3 labels = {'nginx':'true'} # 不區分資料型別,都要加引號 image = "nginx" body = client.V1Deployment( api_version="apps/v1", kind="Deployment", metadata=client.V1ObjectMeta(name=name), spec=client.V1DeploymentSpec( replicas=replicas, selector={'matchLabels': labels}, template=client.V1PodTemplateSpec( metadata=client.V1ObjectMeta(labels=labels), spec=client.V1PodSpec( containers=[client.V1Container( name="web", image=image )] ) ), ) ) try: apps_api.create_namespaced_deployment(namespace=namespace, body=body) except Exception as e: status = getattr(e, "status") if status == 400: print(e) print("格式錯誤") elif status == 403: print("沒許可權") # 刪除 name = "api-test" apps_api.delete_namespaced_deployment(namespace=namespace, name=name)
但其實這個API挺繞的 ,一個建立deployment的,這裡N多的類的物件。
到此這篇關於python呼叫kubernetesAPI簡單使用方法的文章就介紹到這了,更多相關python呼叫kubernetesAPI 內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45