Kubernetes之Deployment

原创
半兽人 发表于: 2018-10-10   最后更新时间: 2021-06-17 11:37:28  
{{totalSubscript}} 订阅, 6,687 游览

Deployment在继承Pod和Replicaset的所有特性的同时,它可以实现对template模板进行实时滚动更新并具备我们线上的Application life circle的特性。

1、创建Deployment

# vi deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: httpd-deployment
  labels:
    app: httpd-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: httpd-demo
  template:
    metadata:
      labels:
        app: httpd-demo
    spec:
      containers:
      - name: httpd
        image: httpd
        imagePullPolicy: Always
        ports:
        - containerPort: 80
        env:
        - name: VERSION
          value: "v1"
# 创建
kubectl create -f deployment.yaml

2、查看Deployment

# kubectl get deployment
NAME               DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
httpd-deployment   2         2         2            2           8d

# kubectl get pods -o wide
NAME                               READY     STATUS    RESTARTS   AGE       IP            NODE
httpd-deployment-956697567-8mqch   1/1       Running   0          8d        10.244.0.36   kube-master
httpd-deployment-956697567-wcbs6   1/1       Running   0          8d        10.244.0.37   kube-master

# kubectl describe deployment
...

3、更新deployment

通过此命令可以呼出vi编辑器对模板进行编辑.

kubectl edit -f deployment.yaml

通过此命令使当前编辑结果生效.

kubectl apply -f deployment.yaml

再次查看可以看到老版本的deployment已经下架, 新版本的已经生效.

# kubectl get deployment
NAME                          DESIRED   CURRENT   READY     AGE
httpd-deployment-6b98d94474   0         0         0         1m
httpd-deployment-956697567    2         2         2         7m

4、扩容与缩容

可以修改replicas的赋值对deployment进行扩容与缩容

kubectl scale deployment/httpd-deployment --replicas=1

5、删除deployment

kubectl delete deployment httpd-deployment
更新于 2021-06-17
在线,2小时前登录

查看kubernetes更多相关的文章或提一个关于kubernetes的问题,也可以与我们一起分享文章