5.Deployment

Deployment 描述了一种希望pod(如pod数、pod镜像版本)的状态,Deployment将努力现实这种状态。

创建

kubectl create -f {deployment yaml file}

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.12.2
        ports:
        - containerPort: 80

deployment 会自动创建replicaset和pod。replicaset的名称为deployment名称+随机数,pods的名称为replicaset名称+随机数。 rs列表查看:kubectl get rs pod列表查看:kubectl get pods

查看deployment:kubectl get deplolyment

查看deployment更多信息(selector,container):kubectl get deployment -o wide

升级pod image: kubectl set image deployment {deployment name} nginx=nginx:1.13

查看deployment升级历史:kubectl rollout history deployment {deployment name}

回滚deployment版本:kubectl undo deployment {deployment name}

暴露端口到节点上:

1.查看节点ip:kubectl get nede -o wide, 2.暴露端口kubectl expode deployment {deployment name} --type=NodePort, 3.查看暴露端口的映射:kubectl get svc

扩展:删除service: kubectl delete services {services name}

Last updated

Was this helpful?