定义一个Deployment
tomcat-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: frontend
labels:
app: app-demo
spec:
replicas: 1
selector:
matchLabels:
tier: frontend
matchExpressions:
- {key: tier, operator: In, values: [frontend]}
template:
metadata:
labels:
app: app-demo
tier: frontend
spec:
containers:
- name: tomcat-demo
image: kubeguide/tomcat-app:v1
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
相关解释
apiVersion: apps/v1 #API版本,可以通过kubectl api-versions查看
kind: Deployment #资源类型,可通过kubectl api-resources查看
metadata #资源元数据
metadata.name #该资源的名称
metadata.labels #定义资源的标签,此处定义了一个app=app-demo的标签
spec #资源规格
spec.replicas #Pod副本数量
spec.selector #标签选择器,此处表示自己控制tier=frontend的Pod
spec.template #Pod模板
spec.template.metadata #Pod的元数据
spec.template.metadata.labels #Pod的标签应该包含Deployment控制的标签
spec.template.spec #Pod规格
spec.template.spec.containers #容器配置,参考我写的Pod详解