刚读完奈杰尔·普尔顿(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
答案 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模板,并且每个修订版生成一个副本集