Xoc*_*zin 7 docker kubernetes google-kubernetes-engine
我 在k8s上运行了许多Jobs。
这些作业运行一个自定义代理,该代理复制一些文件并为用户(受信任的)提供的容器运行设置环境。该代理在用户容器的一侧运行,捕获日志,等待容器退出并处理生成的结果。
为此,我们安装了Docker的套接字/var/run/docker.sock并作为特权容器运行,并且从代理内部,我们使用docker-py与用户容器进行交互(设置,运行,捕获日志,终止)。
这几乎可以正常工作,但我认为这是一个hack。由于用户容器是通过直接在节点上调用docker创建的,因此k8s并不知道它的存在。自从我们的监控工具与K8交互以来,这一直引起麻烦,并且无法看到这些独立的用户容器。由于用户容器的限制(cpu /内存)未计入对pod的请求,因此这也使pod调度更加难以管理。
我知道初始化容器,但是这些容器不太适合本用例,因为我们要保持代理运行并监视用户容器,直到完成为止。
在Pod上运行的容器是否可以请求Kubernetes将其他容器添加到代理正在运行的同一Pod中?如果是这样,代理是否还可以请求Kubernetes随意删除用户容器(例如,满足某些自定义条件)?
| 归档时间: |
|
| 查看次数: |
3314 次 |
| 最近记录: |