1.介绍
ROS:自行百度
Fast-RTPS:是eProsima公司对RTPS标准的一个实现,也就是函数库。RTPS是DDS标准中的一个子集。RTPS:Real Time Publish Subscribe,是DDS标准中的通讯协议部分。其实ROS 2用到的DDS就是这个部分,所以Fast RTPS足够支持ROS 2的需求。简单来说Fast RTPS就是ROS 2中用来订阅发布消息的组件(前提是你的ROS 2选择它作为DDS实现)。(http://https://blog.csdn.net/fang_chuan/article/details/82152514)
2. 实验目的
在kubernetes集群中运行ROS集成Fast-RTPS的应用程序,测试k8s集群中各个pod可以正常接收通过Fast-RTPS发送的消息,可单播、可组播
kubernetes网络插件——Weave ,本身支持 单播和组播
3. 基本Dockerfile文件内容
4. 通过Dockerfile文件生成Docker 镜像,并在该镜像中进行Fast-rtps的安装和测试
5. 进入docker 镜像 ,启动容器,然后进行下面的安装
第一步:安装JDK
第二步:安装SDK man
PS: curl 要多试几次,总是下载不下来,我试了第四遍的时候,开始正常下载了
第三步:安装Gradle
第四步:安装Gstreamer-1.12.3 库
然后执行完进行 make install
第五步:安装Fast—RTPS (make的时候走的有点慢)
6. 通过FastRtpsGen工具将IDL文件生成C++代码进行hello world 实验小程序
写 Helloworld.idl文件
7. 将容器打包成镜像,并 在kubernets 中进行安装和测试,启用了三个pod ,一个pub 消息,两个sub 消息
大功告成,收发正常!!!