标签: kubernetes-python-client

我需要使用 kubernetes python 客户端获取 Kubernetes 集群中 Pod 的资源使用情况

我有 linux 命令来获取特定命名空间中 pod 的资源使用情况,等效的 python 命令是什么

$ kubectl top pod
NAME                                CPU(cores)   MEMORY(bytes)   
nginx-deployment-7fd6966748-57mt5   0m           2Mi             
nginx-deployment-7fd6966748-jpbjl   0m           2Mi             
nginx-deployment-7fd6966748-snrx4   0m           2Mi
Run Code Online (Sandbox Code Playgroud)

python python-3.x kubernetes kubernetes-python-client

3
推荐指数
1
解决办法
6184
查看次数

如何指定由 config.load_incluster_config() 从 kubernetes python sdk 获取的 ServiceAccount

我有一个具有多个 ServiceAccounts 的环境,并且 pod 可以使用 kubernetes python sdk 访问 Kubernetes api。函数 load_incluster_config() 选择哪个帐户。有什么方法可以指定要选择的帐户吗?我发现我的 pod 总是选择名为 ServiceAccount 的“默认”。

openshift kubernetes kubectl kubernetes-python-client kubernetes-pod

2
推荐指数
1
解决办法
1347
查看次数

添加/删除 kubernetes 注释的 API 等效项是什么?

我正在尝试找到与如何在 Kubernetes 中删除(删除)注释 等效的 API ,以删除 Python 中服务类型的注释。从命令行执行此操作效果非常好。

最新的kubernetes-client/python没有任何允许修补注释的 API。我总是可以删除并重新创建该服务,但我想修补它。

如果有人愿意的话,这是一个简单的 MCVE。测试服务 YAML

apiVersion: v1
kind: Service
metadata:
  name: my-service
  annotations:
    description: my test service
spec:
  ports:
    - protocol: TCP
      port: 80
      targetPort: 9376
Run Code Online (Sandbox Code Playgroud)

和我正在使用的Python代码

from kubernetes import client, config
from kubernetes.client.rest import ApiException

config.load_kube_config()

coreV1 = client.CoreV1Api()
appsV1 = client.AppsV1Api()

try:
    resp = coreV1.read_namespaced_service("my-service", "default")
    del resp.metadata.annotations["description"]
    patch = coreV1.patch_namespaced_service("my-service", "default", body=resp)
    print(patch)

except ApiException as e:
     print(str(e))
Run Code Online (Sandbox Code Playgroud)

kubernetes kubernetes-python-client kubernetes-service

2
推荐指数
1
解决办法
2961
查看次数

通过pod访问kubernetes python API

所以我需要通过一个Pod连接到python kubernetes客户端。我一直在尝试使用config.load_incluster_config(),基本上遵循这里的示例。但是,它会引发这些错误。

  File "/Users/myname/Library/Python/2.7/lib/python/site-packages/kubernetes/config/incluster_config.py", line 93, in   load_incluster_config
  cert_filename=SERVICE_CERT_FILENAME).load_and_set()
  File "/Users/myname/Library/Python/2.7/lib/python/site- packages/kubernetes/config/incluster_config.py", line 45, in load_and_set
  self._load_config()
  File "/Users/myname/Library/Python/2.7/lib/python/site-packages/kubernetes/config/incluster_config.py", line 51, in _load_config
  raise ConfigException("Service host/port is not set.")
Run Code Online (Sandbox Code Playgroud)

我正在使用Python 2.7和Minikube。任何提示或建议将不胜感激。谢谢。

python kubernetes minikube kubernetes-python-client

1
推荐指数
1
解决办法
1141
查看次数

Kubernetes python 客户端相当于“kubectl wait --for”命令

我正在使用 kubernetes-client/python 并想编写一个方法,该方法将阻止控制,直到一组 Pod 处于就绪状态(运行状态)。我发现 kubernetes 支持wait --for命令通过命令做同样的事情。有人可以帮助我如何使用 kubernetes python 客户端实现相同的功能。

准确地说,我最感兴趣的是相当于-

kubectl wait --for condition=Ready pod -l 'app in (kafka,elasticsearch)'
Run Code Online (Sandbox Code Playgroud)

python kubernetes kubernetes-python-client

1
推荐指数
1
解决办法
652
查看次数