在没有“特权”的K8s Pod中启动新的K8s Pod

时间:2018-07-23 08:17:02

标签: docker authentication kubernetes

美好的一天

我有一个问题。

在我们的K8s集群中应该有一个可以创建Pod(=“ Child Pod”)的Simulations Starter Service(=“主Pod”)。对于每个新请求(本例中为“开始模拟”之类的服务),服务都会启动一个新的模拟窗格。

此外,我没有“ Privileged”(Pod Security Policies)之类的额外特权。我们知道可以通过设置kubernetes上下文并在Master Pod中使用kubectl连接到同一集群。但这是很棘手和丑陋的,因为现在Pod Master对该集群具有强大的控制权(对他本人也是如此)。他根本不需要的力量,这不是最佳实践。

我是kubernetes和docker的新手(一周前开始发现它们),对我来说,这对我来说是一项艰巨的任务。

任何想法表示赞赏!

编辑: 我检查了Google和StackOverflow搜索,却没有找到任何东西。

2 个答案:

答案 0 :(得分:0)

这可以通过Kubernetes API完成。

有很多 Kubernetes官方支持的客户端库

  

开始-github.com/kubernetes/client-go/

     

Python-github.com/kubernetes-client/python/

     

Java-github.com/kubernetes-client/java

     

dotnet-github.com/kubernetes-client/csharp

     

JavaScript-github.com/kubernetes-client/javascript

here中列出了许多支持的社区

作为示例,我们可以使用official python客户端库。

安装:

git clone --recursive https://github.com/kubernetes-client/python.git
cd python
python setup.py install

直接从PyPi

pip install kubernetes

并使用此example deployment script

详细的安装,要求和用法可在here中找到。

答案 1 :(得分:0)

所以我的同事发现了一些东西。 作业队列。 我认为这正是我们想要的,实际上它只是需要权限(取决于您的特定部署)才能部署,但是在那之后就可以了。

我本来专注于豆荚,所以我完全想念乔布斯的存在。

如果有人来这里,请在Github Repository中与Rabbitmq一起尝试他们的工作排队教程。

谢谢!