我是Kubernetes和Docker新手。我有一个使用特定架构设置的不安全(无身份验证等)的弹性搜索容器(一个statefulSet)。这是一个后端服务。我有第二个容器(作为常规的pod / Deployment),其中包含REST服务,这是唯一应与elasticsearch容器通信的东西。
我了解Kubernetes Pod,部署,statefulSet和用于公开它们的服务的基础。无需为Elasticsearch设置身份验证,是否有一种简便/聪明的方法来配置这两个容器,这样其他Pod的应用程序都无法直接利用elasticsearch容器(仅REST服务容器)?
我已经看到了多容器容器的概念,因此我正在考虑将Elasticsearch容器作为与其进行通信的REST服务容器的附属工具。但这可能是不可能的,因为ES容器是一个statefulSet,而另一个不是?
还有另一种方式可以使每个人成为一个单独的豆荚吗?
任何见解都会受到赞赏。
答案 0 :(得分:1)
实际上,将其创建为多容器容器,其中REST服务将作为k8s服务公开,但能够与elasticsearch容器通信而无需在外部公开它。
您可以选择仅将REST容器添加到statefulSet中。 statefulSet必不可少的是一个Pod +存储,因此您在这个statefulSet中的Pod可以是一个多容器Pod。
答案 1 :(得分:0)
您基本上是在寻找应该在Pod部署的名称空间中使用的网络策略。看一下this section中的示例。