kubernetes中的deployment部署(命令方式)

1.形成一個k8s集羣服務需要那些支持

1.1 什麼是master節點

可以在中文社區文檔進行查詢
master節點是kubernetes cluster的大腦,是用來管理支配所有有關的node節點的服務以及連接網絡架構問題,當然master也可以是一個節點。
它主要擁有一下功能以及應用:

1.API Server(k8s.gcr.io/kube-apiserver): # 是kubernetes cluster的前端接口,各種客戶端工具以及kubernetes其他組件可以通過它管理cluster的各種資源
2.k8s.gcr.io/kube-scheduler:# 負責決定將pod放在哪個node上運行
3.k8s.gcr.io/kube-controller-manager: # 負責管理cluster各種資源,保證資源處於預期狀態
4.k8s.gcr.io/etcd:# 負責保存集羣的配置信息和各種資源的狀態信息,當數據發生變化的時候,etcd會快速通知kubernetes相關組件
5.pod網絡:# pod要能夠相互通信,kubernetes cluster必須部署pod網絡,flannel是其中一個可選的方案

1.2 node節點

node節點:1.kubelet
		 2.kube-proxy
	     3.pod網絡

master同時也是一個node幾乎所有的kubernetes組建本身也運行在pod裏面。

2. deployment部署

kubernetes通過各種controller來管理pod的生命週期,爲了滿足不同的業務場景,kubernetes開發了多種,我們首先學習最常用deployment

2.1 運行deployment

在這裏插入圖片描述
在這裏插入圖片描述
我們在以往的操作中如果出現部署錯誤,我們就會在日誌中進行查看,但是如果我們在一個k8s的部署中出現錯誤,我們就可以使用一下命令查看有關部署的詳細的信息
replicaset(容器副本)

[k8s@server1 ~]$ kubectl describe deployment nginx-deployment 
Events:
  Type    Reason             Age    From                   Message
  ----    ------             ----   ----                   -------
  Normal  ScalingReplicaSet  3m24s  deployment-controller  Scaled up replica set nginx-deployment-748ff87d9d to 2
  # 這裏告訴我們創建了一個 replicaset(容器副本) nginx-deployment-748ff87d9d
  # Events是 deployment的日誌,記錄了replicaset的啓動過程

在這裏插入圖片描述

[k8s@server1 ~]$ kubectl describe replicaset nginx-deployment-748ff87d9d
Name:           nginx-deployment-748ff87d9d
Namespace:      default
Selector:       pod-template-hash=748ff87d9d,run=nginx-deployment
Labels:         pod-template-hash=748ff87d9d
                run=nginx-deployment
Annotations:    deployment.kubernetes.io/desired-replicas: 2
                deployment.kubernetes.io/max-replicas: 3
                deployment.kubernetes.io/revision: 1
# 指明replicaset是由Deployment/nginx-deployment創建的
Controlled By:  Deployment/nginx-deployment
Replicas:       2 current / 2 desired
Pods Status:    2 Running / 0 Waiting / 0 Succeeded / 0 Failed
Pod Template:
  Labels:  pod-template-hash=748ff87d9d
           run=nginx-deployment
  Containers:                     
   nginx-deployment:
    Image:        nginx:1.7.9
    Port:         <none>
    Host Port:    <none>
    Environment:  <none>
    Mounts:       <none>
  Volumes:        <none>
Events:
  Type    Reason            Age   From                   Message
  ----    ------            ----  ----                   -------
  Normal  SuccessfulCreate  16m   replicaset-controller  Created pod: nginx-deployment-748ff87d9d-bxc8r
  Normal  SuccessfulCreate  16m   replicaset-controller  Created pod: nginx-deployment-748ff87d9d-25k5w

在這裏插入圖片描述
在master上:用戶通過kubectl創建deployment,deployment創建replicaset(容器副本),replicaset創建pod(最小工作單元)。

2.2 刪除部署

[k8s@server1 ~]$ kubectl delete deployment nginx-deployment

這樣就可以將你部署錯誤的或者出現你不在需要的部署刪除成功了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章