一整天一整天的坐在辦公室,真的很~~~,懵圈中....,求解救。
本文通過《Kubernetes權威指南》的概念部分學習總結
Deployment作用
Deployment與RC的作用其實是一樣的,都是為了管理Pod的副本數
Deployment的使用場景
1)創建一個Deployment對象來生成對應的Replica Set並完成Pod副本的創建過程。
2)檢查Deployment的狀態來看部署動作是否完成(Pod副本的數量是否達到了預期的值)
3)更新Deployment以創建新的Pod
4)如果當前Deployment不穩定,則回滾到一個早先的Deployment版本
5)掛起或者恢復一個Deployment
例子
創建一個deployment,管理一個運行tomcat的pod
1、創建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: 8080
2、創建deployment
[root@master ~]# kubectl create -f tomcat-deployment.yaml
deployment.extensions/frontend created
3、查看deployment信息
[root@master ~]# kubectl get deployment NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE frontend 1 1 1 1 23s
輸出結果的含義:
DESIRED:Pod副本數量的期望值,即deployment里定義的Replica
CURRENT:當前Replica的值,這個值會不斷的增加,直到達到DESIRED為止,表明整個部署過程完成
UP-TO-DATE:最新版本的Pod的副本數量,用於指示在滾動升級過程中,有多少個Pod副本已經成功升級
AVAILABEL:當前集群中可用的Pod副本數量,即集群中當前存活的Pod數量
4、查看Pods信息
[root@master ~]# kubectl get pods NAME READY STATUS RESTARTS AGE frontend-6cfdb4d686-j8jj7 1/1 Running 0 9m
5、查看deployment的詳細信息
[root@master ~]# kubectl describe deployment Name: frontend Namespace: default CreationTimestamp: Fri, 20 Sep 2019 06:40:40 +0000 Labels: app=app-demo tier=frontend Annotations: deployment.kubernetes.io/revision=1 Selector: tier=frontend,tier in (frontend) Replicas: 1 desired | 1 updated | 1 total | 1 available | 0 unavailable StrategyType: RollingUpdate MinReadySeconds: 0 RollingUpdateStrategy: 1 max unavailable, 1 max surge Pod Template: Labels: app=app-demo tier=frontend Containers: tomcat-demo: Image: tomcat Port: 8080/TCP Host Port: 0/TCP Environment: <none> Mounts: <none> Volumes: <none> Conditions: Type Status Reason ---- ------ ------ Available True MinimumReplicasAvailable Progressing True NewReplicaSetAvailable OldReplicaSets: <none> NewReplicaSet: frontend-6cfdb4d686 (1/1 replicas created) Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal ScalingReplicaSet 9m deployment-controller Scaled up replica set frontend-6cfdb4d686 to 1