Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
kubernetes API中类似回调方法的选项_Kubernetes_Minikube - Fatal编程技术网

kubernetes API中类似回调方法的选项

kubernetes API中类似回调方法的选项,kubernetes,minikube,Kubernetes,Minikube,我一直在研究kubernetes REST API调用,以使用python客户端创建部署和服务。现在的情况是,我必须创建部署,当POD准备就绪时,我必须使用回调方法告诉用户他们的部署已经就绪。我可以像使用cli一样实现这一点 watch kubectl describe pod <pod-name> watch kubectl描述吊舱 调查吊舱的状况。 但是,如何实现当pod状态更改时调用的回调函数,例如从容器创建->就绪>/code>。 任何帮助都将不胜感激。我想您可以关注部署

我一直在研究kubernetes REST API调用,以使用python客户端创建部署和服务。现在的情况是,我必须创建部署,当POD准备就绪时,我必须使用回调方法告诉用户他们的部署已经就绪。我可以像使用cli一样实现这一点

watch kubectl describe pod <pod-name>
watch kubectl描述吊舱
调查吊舱的状况。 但是,如何实现当pod状态更改时调用的回调函数,例如从
容器创建->就绪>/code>。
任何帮助都将不胜感激。

我想您可以关注部署应用程序的名称空间,并对此作出反应

诸如您在
kubectl description pod
末尾看到的事件将持久保存在etcd中,并提供集群中发生的事情的高级信息。要列出所有事件,您可以使用
kubectl get events


有一个Python Kubernetes客户端库

pip install kubernetes

from kubernetes import client, config

def get_pods(name, exact=False, namespace='default'):

    # TODO check if this could be created once in an object.
    config.load_kube_config(os.path.join(os.environ["HOME"], '.kube/config'))

    v1 = client.CoreV1Api()

    pod_list = v1.list_namespaced_pod(namespace)

    if exact:
        relevant_pods = [pod for pod in pod_list.items if name == pod.metadata.name]
    else:
        relevant_pods = [pod for pod in pod_list.items if name in pod.metadata.name]

    return relevant_pods
您可以在大多数用例中使用气流

我写了一个库,它对库伯内特斯事件和更多事件做出反应

它是被动的,这意味着它直接与Helm的声明式风格相反,并且是一个可调试的python部署工具,可以替代Helm

安装焊枪

使用开源示例

与Apache Airflow同步


但我是否可以实现对事件的回调,而不是使用kubectl持续监视?