当前位置: 首页 > 知识库问答 >
问题:

我如何从运行在同一Kubernetes集群中的容器连接到运行在Kubernetes集群中的主机虚拟机上的Docker?

夏季萌
2023-03-14

我正在使用一个安装了docker的docker映像,为了运行任务来清理我的kubernetes集群中每个节点上的docker映像数据。我尝试使用Daemonset,因为它将在除master之外的每个节点上运行,但是在docker容器中运行cron被证明是徒劳的。

因此,我尝试使用K8s Cronjob,它定期运行,具有以下属性:

主机网络:真

      volumes:
        - name: dockersocket
          hostPath:
            path: /var/run/docker.sock

我正在运行一个 shell 脚本,该脚本从上述 CronJob 创建的容器内运行 docker 命令。

但是,当我尝试使用< code > docker-H X . X . X . X images 获取在kubernetes集群的一个节点上运行的所有映像时,我得到以下错误:

<code>无法连接到Docker守护程序tcp://X.X.X.X:2375.docker守护程序正在运行吗

我做错什么了吗?如何从kubernetes集群内部运行的容器连接到kubernetes集群节点上运行的Docker?

共有1个答案

微生翼
2023-03-14

框架挑战:你所做的不是正确的方法。

试图访问Kubernetes集群中的底层Docker通常被认为是一个坏主意,因为它很容易导致难以修复的损坏状态。

Kubelet内置垃圾收集。为什么不为此调整配置呢?

如果您运行的是大型PaaS提供商之一,那么您的节点周转率可能足够高(来自自动升级/其他),因此这并不是一个问题。

 类似资料:
  • 我有一个库伯内特斯集群(K8s)运行在物理服务器A(内部网络IP192.168.200.10)和一个PostgreSQL数据库运行在另一个物理服务器B(内部网络IP192.168.200.20)中。如何使我的Java应用程序容器(pod)能够连接到服务器B中的PostgreSQL数据库? 操作系统:Ubuntu v16。04 Docker 18.09.7 Kubernetes v1。15.4印花棉

  • 问题内容: 我对Google Cloud平台和Docker相当陌生,并设置了一个节点集群,制作了一个Dockerfile,该文件可复制存储库并在公共端口上运行Clojure REPL。我可以从IDE连接到它,然后播放我的代码,太棒了! 但是该REPL应该应该通过SSH进行隧道传输,但这是我的问题开始的地方。 我找不到合适的SSH位置来 更改Docker在其上运行REPL的存储库: 公开的IP仅公开

  • 我使用的是infra team(不是mini kube)提供的kubernetes集群,我已经创建了带有所有配置的traefik入口控制器,入口容器,我们的应用程序正在集群中运行。现在我想使用域名或IP地址访问应用程序,为此,我创建了一个入口资源,如下所示 这里我没有得到的是主机名,因为应用程序在集群中运行,这个主机名应该是集群主节点名吗?实际prod环境中的主机名或ip地址应该是什么。 注意:我

  • 我有Ubuntu作为虚拟机使用Oracle VM运行。在这个虚拟机中运行弹性访问docker使用以下命令: 在Oracle VM机器网络设置中,我添加了此端口转发: 主宾 127.0.0.1:9200 -- 当我尝试使用chrome将http请求发送到地址127.0.0.1:9200和127.0.0.1:9300时,我得到的响应没有问题。 当我尝试使用Java客户端API进行连接时,出现以下异常:

  • 我的团队开发了一个kubernetes集群。我们已经使用< code>kubectl命令行对其进行了手动测试。这些测试用例涉及到,例如: < li >豆荚 < li >服务、负载平衡器等。 < li >部署 < li >水平窗格缩放 < li >回滚部署 < li >入口控制器 Helm-kubernetes的包装经理 < li >持久性卷和持久性卷声明。 < li>DNS 上述手动测试用例的链接

  • 我有一个在kubernetes集群(在AWS EKS上)上运行的mongo db副本集,比如集群-1。这在具有cidr的VPC-1中运行192.174.0.0/16. 我在一个单独的VPC中有另一个集群,比如VPC-2,在那里我将在mongo集群之上运行一些应用程序。该VPC cidr范围为192.176.0.0/16。所有VPC对等和安全组入口/出口规则都正常工作,我能够跨两个VPC ping集