kubernetes-Deployment
生活随笔
收集整理的這篇文章主要介紹了
kubernetes-Deployment
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在kubernetes中,Pod是最小的控制單元,但是kubernetes很少直接控制Pod,一般都是通過Pod控制器來完成的。Pod控制器用于pod的管理,確保pod資源符合預期的狀態,當pod的資源出現故障時,會嘗試進行重啟或重建pod。
在kubernetes中Pod控制器的種類有很多,本章節只介紹一種:Deployment。
命令操作
# 命令格式: kubectl create deployment 名稱 [參數] # --image 指定pod的鏡像 # --port ? 指定端口 # --replicas 指定創建pod數量 # --namespace 指定namespace [root@master ~]# kubectl create deploy nginx --image=nginx:latest --port=80 --replicas=3 -n dev deployment.apps/nginx created ? # 查看創建的Pod [root@master ~]# kubectl get pods -n dev NAME ? ? ? ? ? ? ? ? ? ? READY ? STATUS ? RESTARTS ? AGE nginx-5ff7956ff6-6k8cb ? 1/1 ? ? Running ? 0 ? ? ? ? 19s nginx-5ff7956ff6-jxfjt ? 1/1 ? ? Running ? 0 ? ? ? ? 19s nginx-5ff7956ff6-v6jqw ? 1/1 ? ? Running ? 0 ? ? ? ? 19s ? # 查看deployment的信息 [root@master ~]# kubectl get deploy -n dev NAME ? READY ? UP-TO-DATE ? AVAILABLE ? AGE nginx ? 3/3 ? ? 3 ? ? ? ? ? ?3 ? ? ? ? ? 2m42s ? # UP-TO-DATE:成功升級的副本數量 # AVAILABLE:可用副本的數量 [root@master ~]# kubectl get deploy -n dev -o wide NAME ? READY UP-TO-DATE AVAILABLE ? AGE ? ? CONTAINERS ? IMAGES ? ? ? ? ? ? SELECTOR nginx ? 3/3 ? ? 3 ? ? ? ? 3 ? ? ? ? ? 2m51s ? nginx ? ? ? nginx:latest ? ? ? ?run=nginx ? # 查看deployment的詳細信息 [root@master ~]# kubectl describe deploy nginx -n dev Name: ? ? ? ? ? ? ? ? ? nginx Namespace: ? ? ? ? ? ? dev CreationTimestamp: ? ? Wed, 08 May 2021 11:14:14 +0800 Labels: ? ? ? ? ? ? ? ? run=nginx Annotations: ? ? ? ? ? deployment.kubernetes.io/revision: 1 Selector: ? ? ? ? ? ? ? run=nginx Replicas: ? ? ? ? ? ? ? 3 desired | 3 updated | 3 total | 3 available | 0 unavailable StrategyType: ? ? ? ? ? RollingUpdate MinReadySeconds: ? ? ? ?0 RollingUpdateStrategy: ?25% max unavailable, 25% max surge Pod Template:Labels: ?run=nginxContainers:nginx:Image: ? ? ? nginx:latestPort: ? ? ? ? 80/TCPHost Port: ? ?0/TCPEnvironment: <none>Mounts: ? ? ? <none>Volumes: ? ? ? <none> Conditions:Type ? ? ? ? ? Status Reason---- ? ? ? ? ? ------ ?------Available ? ? True ? MinimumReplicasAvailableProgressing ? True ? NewReplicaSetAvailable OldReplicaSets: <none> NewReplicaSet: ? nginx-5ff7956ff6 (3/3 replicas created) Events:Type ? Reason ? ? ? ? ? ? Age ? From ? ? ? ? ? ? ? ? ? Message---- ? ?------ ? ? ? ? ? ? ---- ? ---- ? ? ? ? ? ? ? ? ? -------Normal ScalingReplicaSet 5m43s deployment-controller Scaled up replicaset nginx-5ff7956ff6 to 3# 刪除 [root@master ~]# kubectl delete deploy nginx -n dev deployment.apps "nginx" deleted配置操作
創建一個deploy-nginx.yaml,內容如下:
apiVersion: apps/v1 kind: Deployment metadata:name: nginxnamespace: dev spec:replicas: 3selector:matchLabels:run: nginxtemplate:metadata:labels:run: nginxspec:containers:- image: nginx:latestname: nginxports:- containerPort: 80protocol: TCP然后就可以執行對應的創建和刪除命令了:
創建:kubectl create -f deploy-nginx.yaml
刪除:kubectl delete -f deploy-nginx.yaml
總結
以上是生活随笔為你收集整理的kubernetes-Deployment的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kubernetes-Label
- 下一篇: kubernetes-Service