【问题标题】:How do you link Pachyderm with the correct Kubernetes context?如何将 Pachyderm 与正确的 Kubernetes 上下文联系起来?
【发布时间】:2017-05-30 18:42:36
【问题描述】:

我有多个 Kubernetes 上下文。当我更改上下文时,我一直在使用kill -9 来终止端口转发以重做pachtctl port-forward & 命令。我想知道这是否是正确的做法。

更详细的:

我从 Kubernetes 上下文开始,我们将其称为 context_x。然后我想将上下文更改为我的本地上下文,称为 minikube。我还想查看这个 minikube 上下文的存储库,但是当我使用 pachctl list-repo 时,它仍然显示 context_x 的 Pachyderm 存储库。当我执行pachctl port-forward 时,我会收到一条关于地址已在使用中的错误消息。所以我必须 ps -a,然后在那些端口转发进程上杀死 -9,然后再次执行 pachctl port-forward 命令。

我一直在做的一个例子:

$ kubectl config use-context minikube
$ pachctl list-repo #doesn't show minikube context's repos
$ pachctl port-forward &
...several error messages along the lines of:
Unable to create listener: Error listen tcp4 127.0.0.1:30650: bind: address already in use
$ ps -a | grep forward
33964 ttys002    0:00.51 kubectl port-forward dash-12345678-abcde 38080:8080
33965 ttys002    0:00.51 kubectl port-forward dash-12345679-abcde 38081:8081
37245 ttys002    0:00.12 pachctl port-forward &
37260 ttys002    0:00.20 kubectl port-forward pachd-4212312322-abcde 30650:650
$ kill -9 37260
$ pachctl port-forward & #works as expected now

另外,pachctl port-forward 进程 37245 上的 kill -9 不起作用,看来我必须在 kubectl port-forward 上杀死 -9

【问题讨论】:

    标签: kubernetes portforwarding pachyderm


    【解决方案1】:

    如果需要,您可以指定端口,使用-p 中提到的-p 标志作为不同的端口@ 是否有不这样做的原因?

    同时在后台启动进程,然后向其发送SIGKILL 会导致资源未正确分配,因此当您再次尝试加入时,您可能会看到它出现错误,因为它无法再次分配相同的端口。因此,请尝试在最后不使用 & 的情况下运行它。

    因此,每当您更改上下文时,您只需CTRL + C 并重新启动它,这将正确释放资源并获得主题增益。

    【讨论】:

    • 作为在 Pachyderm 工作的人...我同意这是最好的方法。当你想切换时,不用& 和 ctrl-c 运行它
    【解决方案2】:

    只是想为找到它的任何人更新此答案-pachctl 现在支持上下文,并且 Pachyderm 上下文包括对其关联的 kubectl 上下文的引用。当您切换到新的 pachctl 上下文时,pachctl 现在将自动使用关联的 kubectl 上下文(您仍然需要在 kubectl 中切换上下文)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-20
      相关资源
      最近更新 更多