定义一个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详解,https://anqixiang.blog.csdn.net/article/details/107978496

kubectl get deployment字段说明

字段说明

# NAME:列出namespace中Deployment的名称(不指定namespace则默认为Default)
# READY:显示可用副本数。显示的模式是“就绪个数/期望个数”
# UP-TO-DATE:为了达到期望状态已经更新的副本数
# AVAILABLE:应用可供用户使用的副本数
# AGE:显示deploy运行的总时间

在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐