我有一个在虚拟机中运行的airflow dag,但是为了促进事件驱动触发,我正在尝试在GCP中设置cloud composer。然而,我只在cloud composer中看到了安装pypi包的选项。
我需要rosbag包来运行我的bash脚本,在cloud composer中有什么方法可以做到这一点吗?或者在VM或容器中使用Kubernetes运行Airflow更好?
发布于 2021-09-21 12:17:50
您可以在Cloud Composer中添加自己的要求
https://cloud.google.com/composer/docs/how-to/using/installing-python-dependencies
然而,非常了解rosbag
(我是使用ROS的机器人工程师有相当长一段时间了)-这可能不是特别容易计算出正确的依赖集。Airflow总共有超过500个依赖项,它们中的一些很可能与特定版本的ROS冲突。
此外,ROS有自己的特定方式来初始化和设置所有环境变量,获取某些脚本-您必须自己模拟这些脚本,修改PYTHONPATH,并可能进行一些初始化。
我想说你最好的选择就是使用DockerOperator,并使用Docker镜像中的ROS。如果需要的话,甚至可以通过GPU支持来做到这一点(已经做到了),并且它将提供正确的隔离级别- Airflow和ROS都大量使用Python和依赖项,这可能是最简单的方法。
https://stackoverflow.com/questions/69268138
复制相似问题