中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

kubernetes中怎么驗證deployment

發布時間:2021-12-31 09:11:42 來源:億速云 閱讀:186 作者:iii 欄目:云計算

這篇文章主要講解了“kubernetes中怎么驗證deployment”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“kubernetes中怎么驗證deployment”吧!

k8s通常不會直接創建pod,而是通過controller來管理pod,以達到副本管理、滾動升級和集群級別的自愈能力。controller包括Deployment、ReplicaSet、DaemonSet、StatefuleSet、Job 等

1.kubectl run創建的pod沒有自愈功能,因為該pod沒有被controller所管理。

2.Deployment是最常用的部署無狀態服務的controller,用于管理replicaset和更新pod

3.創建Deployment后,Deployment contorller將立即創建一個ReplicaSet副本集,并由ReplicaSet創建所需要的pod。更新deployment時,deployment控制器將為deployment創建一個新的ReplicaSet副本集,并逐步在新的副本集中創建pod;在舊的的副本集中刪除pod,達到滾動更新的效果。

4.當且僅當Deployment的Pod template字段的內容發生變更時,Depoyment的發布更新才會觸發。

創建deployment

#命令行直接運行

kubectl create deployment nginx --image=nginx

#通過配置文件yaml創建

kubectl create deployment nginx --image=nginx --dry-run='client' -o yaml > dep.yaml

kubectl apply -f dep.yaml

#刪除deployment

kubectl delete deployment nginx

kubectl delete -f dep.yaml

#驗證deployment管理的pod具有自愈性

kubectl run起一個pod, kubectl create deployment起一個controller管理的pod

kubectl get pods -o wide 檢查pod分布的node

kubectl drain node2 將分布到node2上的pod驅逐

kubectl get pods -o wide 可看到node2被禁止調度,且controller管理的pod遷移到node1上運行了,而kubectl run的pod已被刪除

kubectl get rs 可看到對應的replicaset controller

#查看deployment的具體配置

kubectl edit deployment nginx

#將pod擴展為2

kubectl scale deployment nginx --replicas=2

#查看deployment nginx的滾動更新狀態

kubectl rollout status deployment nginx

#查看deployments

kubectl get deployments

#查看replicasets

kubectl get rs -w

#查看deployment的events

kubectl describe deployment

#查看更新歷史

kubectl rollout history deployment nginx

#回滾到前一個版本,不能回滾(rollback)一個已暫停的 Deployment,除非您繼續(resume)該 Deployment

kubectl rollout undo deployment nginx

kubectl rollout undo deployment nginx --to-revision=2

#暫停更新

kubectl rollout pause deployment nginx

#恢復更新

kubectl rollout resume deployment nginx

#導出deployment的配置文件

kubectl get deployment deploy_name -o yaml > deployment.yaml

#刪除 ReplicaSet 時,將不刪除其從屬對象

kubectl delete replicaset my-repset --cascade=false

用service暴露pod服務

kubectl expose deployment nginx --port=80 --type=NodePort

# 查看service

kubectl get svc

# 查看service對應的endpoint

kubectl get endpoints

#驗證

curl   http://service-clusterIP

curl   http://nodeIP:32038

以上命令行運行的nginx,可用以下配置文件來云

vi nginx-dep-service.yaml

apiVersion: apps/v1

kind: Deployment

metadata:

name: web-nginx

labels:

app: nginx

spec:

replicas: 1

selector:

matchLabels:

app: nginx

template:

metadata:

labels:

app: nginx

spec:

containers:

- name: nginx

image: nginx

----------------------

apiVersion: v1

kind: Service

metadata:

name: web-nginx

labels:

apps: nginx

spec:

selector:

app: nginx

ports:

- name: web-nginx

protocol: TCP

port: 80

nodePort: 32600

targetPort: 80

type: NodePort

kubectl apply -f nginx-dep-service.yaml

感謝各位的閱讀,以上就是“kubernetes中怎么驗證deployment”的內容了,經過本文的學習后,相信大家對kubernetes中怎么驗證deployment這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

施秉县| 华蓥市| 准格尔旗| 中江县| 宝丰县| 葫芦岛市| 本溪| 乐陵市| 土默特右旗| 中牟县| 公主岭市| 镇安县| 南京市| 西充县| 鲜城| 鄂托克旗| 萍乡市| 南木林县| 武清区| 永嘉县| 宁阳县| 来凤县| 榕江县| 天台县| 平山县| 土默特左旗| 静安区| 高碑店市| 花莲县| 仁寿县| 齐河县| 河西区| 洛浦县| 安徽省| 临潭县| 昌邑市| 湄潭县| 玉环县| 阳山县| 榕江县| 手游|