Kubernetes-部署可以有多个副本集吗?

时间:2018-11-10 22:26:06

标签: kubernetes containers microservices

刚读完奈杰尔·普尔顿(Nigel Poulton)的 Kubernetes书。我剩下的问题是,部署是否可以指定多个ReplicaSet。

当我考虑部署时,我从传统意义上说就是部署整个应用程序。还是每个微服务都有一个部署?

apiVersion: apps/v1beta2
kind: Deployment
metadata: 
  name: hello-deploy
spec:
  replicas: 10
  selector:
    matchLabels:
      app: hello-world
  minReadySeconds: 10
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 1
      maxSurge: 1
  template:
    metadata:
      labels:
        app: hello-world
    spec:
      containers:
      - name: hello-pod
        image: nigelpoulton/k8sbook : latest
        ports:
        - containerPort: 8080

2 个答案:

答案 0 :(得分:2)

它应该是每个微服务的部署。

您还可以管理每种微服务类型的“已部署服务”的数量。 因此,例如,如果要部署服务A(带有Java服务的Docker映像)5次,则部署将产生5个Pod。每个窗格包含服务A的图像。

如果您部署此服务A的新版本(带有Java服务的Docker映像),Kubernetes可以进行滚动更新并管理旧Java服务类型(现有Pod)的关闭,并创建5个新装有新的Java Service A.2(新的docker映像)的容器。

因此,您的整个微服务应用程序/基础结构是基于多个部署的。每个生成Kubernetes Pod,由Kubernetes服务发布。

答案 1 :(得分:-1)

一个部署包含一个Pod模板,并且每个修订版生成一个副本集