Kubernetes 用于自定义定义或运算符的kubectl vs json api

Kubernetes 用于自定义定义或运算符的kubectl vs json api,kubernetes,Kubernetes,是否可以使用json api代替所有kubectl命令 在这种情况下,如何更新资源或自定义定义。您可以查看 要从编程语言调用Kubernetes API,可以使用。官方支持的客户端库: Kubernetes Go客户端库 Kubernetes Python客户端库 Kubernetes Java客户机库 Kubernetes JavaScript客户端库 要使用Kubernetes REST API编写应用程序,不需要自己实现API调用和请求/响应类型。您可以为正在使用的编程语言使用客户端库

是否可以使用json api代替所有kubectl命令

在这种情况下,如何更新资源或自定义定义。

您可以查看

要从编程语言调用Kubernetes API,可以使用。官方支持的客户端库:

  • Kubernetes Go客户端库
  • Kubernetes Python客户端库
  • Kubernetes Java客户机库
  • Kubernetes JavaScript客户端库
要使用Kubernetes REST API编写应用程序,不需要自己实现API调用和请求/响应类型。您可以为正在使用的编程语言使用客户端库

客户端库通常为您处理诸如身份验证之类的常见任务。大多数客户端库可以发现并使用Kubernetes服务帐户来验证API客户端是否在Kubernetes群集中运行,或者可以理解kubeconfig文件格式来读取凭据和API服务器地址


支持使用扩展API的两个路径是:

  • 用于基本积垢需求
  • 对于一整套Kubernetes API语义 实现自己的apiserver

例如,这是一种使用python和一些代码示例创建crd资源的方法

列出所有吊舱

监视命名空间对象:

更多示例可在文件夹中找到

你可以看看

要从编程语言调用Kubernetes API,可以使用。官方支持的客户端库:

  • Kubernetes Go客户端库
  • Kubernetes Python客户端库
  • Kubernetes Java客户机库
  • Kubernetes JavaScript客户端库
要使用Kubernetes REST API编写应用程序,不需要自己实现API调用和请求/响应类型。您可以为正在使用的编程语言使用客户端库

客户端库通常为您处理诸如身份验证之类的常见任务。大多数客户端库可以发现并使用Kubernetes服务帐户来验证API客户端是否在Kubernetes群集中运行,或者可以理解kubeconfig文件格式来读取凭据和API服务器地址


支持使用扩展API的两个路径是:

  • 用于基本积垢需求
  • 对于一整套Kubernetes API语义 实现自己的apiserver

例如,这是一种使用python和一些代码示例创建crd资源的方法

列出所有吊舱

监视命名空间对象:

更多示例可在文件夹中找到

from kubernetes import client, config

# Configs can be set in Configuration class directly or using helper utility
config.load_kube_config()

v1 = client.CoreV1Api()
print("Listing pods with their IPs:")
ret = v1.list_pod_for_all_namespaces(watch=False)
for i in ret.items:
    print("%s\t%s\t%s" % (i.status.pod_ip, i.metadata.namespace, i.metadata.name))
from kubernetes import client, config, watch

# Configs can be set in Configuration class directly or using helper utility
config.load_kube_config()

v1 = client.CoreV1Api()
count = 10
w = watch.Watch()
for event in w.stream(v1.list_namespace, _request_timeout=60):
    print("Event: %s %s" % (event['type'], event['object'].metadata.name))
    count -= 1
    if not count:
        w.stop()

print("Ended.")