您是否知道是否可以将本地文件夹挂载到Kubernetes运行容器中。
像docker run -it -v .:/dev some-image bash一样,我在本地机器上执行此操作,然后从VS代码远程调试到容器中。
更新:这可能是一个解决方案:telepresence链接:https://kubernetes.io/docs/tasks/debug-application-cluster/local-debugging/
您知道吗,可以将本地计算机挂载到Kubernetes。这个容器应该可以访问Cassandra IP地址。
你知道这是否可能吗?
发布于 2018-09-19 06:40:36
Kubernetes卷
使用hostPath将是一个解决方案:https://kubernetes.io/docs/concepts/storage/volumes/#hostpath
但是,只有当集群与挂载的文件夹运行在同一台计算机上时,它才能正常工作。
另一种方法是使用分布式或并行文件系统,将其挂载到容器中,并将其挂载到本地主机上。CephFS就是一个例子,它允许多读写挂载。您可以使用rook:https://github.com/rook/rook启动ceph集群
具有文件同步功能的Kubernetes本机开发工具
一种解决方案是使用dev工具,它允许您将本地文件夹的内容同步到kubernetes pod中的文件夹。例如,这里有ksync:https://github.com/vapor-ware/ksync
我测试过ksync和许多kubernetes原生开发工具(例如远程呈现、skaffold、草稿),但我发现它们很难配置,使用起来也很耗时。这就是为什么我和一位同事一起创建了一个名为DevSpace的开源项目:
它允许您配置本地文件夹和运行在k8s pods内的容器内的文件夹之间的实时双向同步。它是唯一一个可以让你使用热重载工具的工具,比如nodejs。它适用于卷以及临时/非持久文件夹,并允许您直接进入容器,类似于kubectl exec等。它与minikube和任何其他自托管或基于云的kubernetes集群一起工作。
让我知道这是否对您有帮助,如果您缺少使用Kubernetes优化开发工作流程所需的东西,请随时打开问题。我们将很乐意为此而努力。
发布于 2017-12-20 17:19:50
只要我们谈到像docker -v这样的事情,hostPath卷类型就应该可以做到这一点。但这意味着您需要将要使用的内容存储在Pod将在其上运行的节点上。这意味着在GKE的情况下,这意味着代码需要存在于google计算节点上,而不是您的工作站上。如果您配置了本地k8s集群(minikube、kubeadm...)对于本地开发,这也可以设置为工作。
https://stackoverflow.com/questions/47894378
复制相似问题