Deployment是Kubernetes 1.2引入的概念,主要是为了解决Pod编排问题,可以将Deployment视为RC的一次升级。

Deployment相对于RC的最大升级是可以随时知道当前Pod的部署进度。

通过Deployment我们可以:

  • 创建Deployment对象生成对应的Replica Set并完成Pod副本的创建过程

  • 检查Deployment状态查看部署动作是否完成

  • 更新Deployment以创建新的Pod(比如镜像升级)

  • 如果当前Deployment不稳定,回滚到一个早先的Deployment版本

  • 挂起或者恢复一个Deployment

Deployment的定义与Replica Set定义类似

apiVersion: extension/v1beta1
kind: Deployment
metadata:
  name: nginx-deployment

ReplicaSet定义

apiVersion: v1
kind: ReplicaSet
metadata:
  name: nginx-repset

定义Deployment

创建tomcat-deployment.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: frontend
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: tomcat
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 80

创建Deployment对象

kubectl create -f tomcat-deployment.yaml

查看Deployment信息

kubectl get deployments

也可以查看Replica Set

kubectl get rs

查看Pod

kubectl get pods

results matching ""

    No results matching ""