背景
DaoCloud是国内领先的容器云,我的山寨容器云需要多向他学习。
以前只用过公有云版本,大概把持续集成持续交付那一块弄明白了。最近发现有DaoCloud企业版,简称DEC,看了下截图,感觉很不错,决定也自己搞一个玩。
要动态更新容器里某些进程的配置,例如nginx。所以需要实时获取配置更新,并同步到容器里的配置文件里,采用的方法是用confd从etcd采集数据,然后更新配置文件的方法。
现有的方案是把confd+nginx放在同一个容器里,虽然能解决问题,但是不够优雅,毕竟一个容器只跑一个进程好。
恰好业务是跑在k8s上,k8s关于pod的文档上说
Containers within a pod share an IP address and port space, and can find each other via localhost. They can also communicate with each other using standard inter-process communications like SystemV semaphores or POSIX shared memory. Containers in different pods have distinct IP addresses and can not communicate by IPC
如果同一个pod里的进程,可以互相看到对方,那么就可以不用修改,直接把现有一个容器拆成两个容器了。