【问题标题】:connecting to Kubernetes kops pod using docker deamon使用 docker daemon 连接到 Kubernetes kops pod
【发布时间】:2019-12-06 12:32:58
【问题描述】:

我用 kops 创建了 Kubernetes 集群(在 AWS 上),我想以 root 身份访问我的一个节点。根据this post,只有使用 Docker 命令才有可能。 当我输入docker image ls 时,我什么也得不到。当我使用 minikube 时,我用 minikube docker-env 解决了这个问题,并且从输出中我刚刚将最后一行复制到新的 CMD 行 @FOR /f "tokens=*" %i IN ('minikube docker-env') DO @%i (我使用的是 Widnows 10)并使用上述程序,在输入 docker image lsdocker image ps 后,我能够看到所有 minikube pod。有没有办法对用 kops 创建的 pod 做同样的事情?

我能够连接到 Kubernetes 节点,在其上安装 docker,然后我可以连接到指定 -u root 开关的 pod,但我想知道是否可以从主机(Windows 10 in我的情况)

【问题讨论】:

  • 为了确定,docker image ls 命令是在您的 AWS 节点上完成的(而不是在您的 Windows 机器上)?
  • 你只需要ssh到节点。 Docker 完全不参与。
  • docker image ls 正在我的 Windows 机器上运行

标签: docker kubernetes kops


【解决方案1】:

有点不清楚您要做什么。所以我将根据这个场景在这里提供一些一般信息:你已经使用 Kops 在 AWS 上创建了一个 K8S 集群

我想以 root 身份访问我的 AWS 节点之一

这与 kops 无关,也与 Docker 无关。这是基本的 AWS 管理。您需要检查您的 AWS 控制台管理以获取所有信息以连接到您的节点。

我想从我的 Windows 笔记本电脑上查看所有 docker 映像

同样,这与 kops 无关。 Kops 是一个 Kubernetes 发行版。在 Kubernetes 中,可以管理的最小计算单元是 pod。您不能直接使用 kubernetes 管理 docker 容器或图像。
所以如果你想查看你的 docker 镜像,你需要以某种方式连接到你的 AWS 节点,然后执行

docker image ls

事实上,这就是您对 minikube 示例所做的事情。您只是在 minikube 管理的 VM 上执行 docker 命令。

更多关于什么是 pod here

我想查看所有使用 kops 创建的 pod

好吧,假设您已成功将系统配置为使用 kops 访问 AWS(有关 here 的更多信息),那么您只需直接执行任何 kubectl 命令即可。例如,要列出位于 kube-system 命名空间中的所有 pod:

kubectl -n kube-system get po

希望这会有所帮助!

【讨论】:

  • 我想从 AWS 集群中使用 docker 命令获取所有 pod(docker 安装在我的 Windows 10 机器上,我还在 Windows 10 上安装了 Docker),而无需通过 SSH 连接到 AWS 节点并在其上安装 docker那个节点。当我使用 minikube 而不是 AWS 集群时,我可以实现同样的效果。我只想知道有没有可能。
  • 这是不可能的。 pod 是由 kubernetes 创建和管理的抽象。 docker 守护进程不知道什么是 pod。您只能使用 docker 命令查看容器。但是话又说回来,您将无法分辨哪个容器与哪个 pod 相关联。
【解决方案2】:

这是不可能的。 Pod 是由 Kubernetes 创建和管理的抽象。 docker 守护进程不知道什么是 pod。您只能使用 docker 命令查看容器。但是话又说回来,您将无法分辨哪个容器与哪个 pod 相关联。

@Marc ABOUCHACRA 回答

【讨论】:

    猜你喜欢
    • 2017-05-20
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 2018-09-03
    相关资源
    最近更新 更多