在使用在本地主机中构建docker映像的Kubernertes环境中运行SQLX rust

问题描述

我在Rust中使用sqlx条板箱来构建二进制文件时遇到了麻烦。我尝试使用sqlx运行脱机模式以忽略初始编译的数据库连接,但是我需要在Kubernetes中为我的Postgres集群设置DATABASE_URL变量。我已经做了以下事情:

  • cargo build --release
  • 使用本地主机中的环境变量指向本地主机postgres(工作正常)
  • 在我的docker文件中运行/bin/crate_name

但是,当我尝试:

  1. cargo build --release
  2. 在Kubernetes集群中使用指向我的Kubernetes Postgres的环境变量
  3. 在我的docker文件中运行/bin/crate_name

构建失败,因为有一个unresolved host

请记住,sqlx在编译过程中会检查查询

我确定这可能是一个网络问题,其中我的Docker运行时构建位于本地主机而非Kubernetes环境中。有没有解决的办法?如何通过货品编译在Kubernetes虚拟环境中构建它?

我最初的方法是创建一个Kubernetes容器作为工作区,并从容器内部运行docker build ... -network="host"以访问节点dns,以允许成功进行查询编译检查。

sqlx目前支持吗?换句话说,忽略数据库连接,然后在以后使用它?再次,我想在Kubernetes环境中运行sqlx,但是,当我在本地主机上构建时,会得到“找不到主机名”,因为我是在要查找Kubernetes Postgres内部uri的本地计算机上构建docker映像的。 >

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)