1

我想使用python 客户端 SDK(类似于 kubectl run)创建一个 pod,结果如下:

kubectl run --rm --image $IMAGE --overrides="$OVERRIDES" --generator=run-pod/v1 -ti "$POD"

有什么好的例子吗?我可以看到一些使用 exec https://github.com/kubernetes-client/python/blob/master/examples/pod_exec.py的示例,但这需要先创建 pod 并运行 exec,但不运行“交互式终端"作为 kubectl 运行中的 -ti 标志。

下面的代码仅适用于发送远程命令,但不适用于交互式终端,即使我们运行 command=['/bin/bash'] 显示如下输出。

    try:    
        #resp = stream(api_instance.connect_post_namespaced_pod_exec, podname, namespace='default', stderr=True, stdin=True, stdout=True, tty=True)
        stream(api_instance.connect_get_namespaced_pod_exec, podname, namespace='default', stderr=True, stdin=False, stdout=True, tty=False)
    except ApiException as e:
        print("Exception when calling CoreV1Api->connect_get_namespaced_pod_exec: %s\n" % e)
    print(f"Pod created - cannot exec")

在此处输入图像描述

4

1 回答 1

0

我使用伪终端让它在这里工作。退出终端后仍有一些问题。

我让它在这里工作。退出终端后仍有一些问题。 https://github.com/mohatb/python/blob/master/examples/exec_tty

于 2020-06-06T11:48:06.453 回答