基于模板动态创建服务

时间:2019-02-05 06:02:18

标签: kubernetes kubernetes-helm

我想创建一个云服务,客户端可以在其中动态创建服务。服务基本上是一个运行API容器的pod,例如一个博客,可以通过特定于入口控制器的url路径进行访问。只要客户付款,豆荚就可以存在,当然它们不是临时工作,它们可以访问数据库和存储量。

如何动态创建和维护这些服务,这意味着在节点出现故障时能够再次启动它们。

谢谢

2 个答案:

答案 0 :(得分:0)

创建和使用单个Pod副本不是一个好选择,它不能让您充分利用k8功能(零停机时间,高可用性,可扩展性等)

在设计系统时,请考虑以下几点

  1. 至少创建两个pod副本。这将确保高可用性。
  2. 使用部署或状态集来管理所需状态
  3. 使用多个主节点,etcd,工作节点创建k8集群。
  4. 使用HPA自动缩放。

如果您考虑以上几点,则k8将在节点或Pod发生故障的情况下照顾您的服务可用性。

答案 1 :(得分:0)

看到您的需求,首先想到的就是使用Helm作为中间件:

  

简化安装和管理Kubernetes应用程序的工具。

您将每个Helm版本(Kubernetes应用程序的安装实例)视作客户服务,最好在单独的命名空间中隔离客户环境。 您也可以仅在客户端模式下使用Helm来生成必要的清单文件,稍后使用简单命令将其应用(kubectl apply -f $ HOME / cust001_svc1.yaml)。诸如副本数,是否通过Ingress资源公开服务或是否使用StatefulSet之类的信息都缝在头盔图表中。

至少在我看来,这是一个证明概念。

还请检查Kubernetes生态系统中Operator的概念。