第三章:Pod部署和调度
学习目标
部署、配置、标签选择、调度、副本、控制器、有状态的无状态的 Pod
- 讨论部署配置细节
- 通过
kubectl create/apply
创建 Deployment ,部署 Pod;
- 通过
kubectl edit
修改 对象;
- 如何查看对象信息,
kubectl get
、kubectl describe
、-o wide
、-o yaml
;
- 创建 Service,
kubectl expose
;
- 设置副本集,
replicaset
;
- 查看对象支持的属性
kubectl explain pods
,kubectl explain pod.spec
- 向上和向下扩展部署。
- 扩容 Pod,设置副本集,
kubectl scale
、kubectl edit
;
- 自动扩容 Pod,水平缩放,比例缩放,根据 CPU、内存缩放,
kubectl autoscale
;
- DaemonSet
- 实现滚动更新和回滚
- 更换镜像版本、更新 Pod,
kubectl set image
;
- 设置滚动更新速度,
maxSurge
、maxUnavailable
;
- 暂停和恢复更新,
kubectl rollout pause
、kubectl rollout resume
;
- 回滚旧版本,
kubectl rollout undo
;
- 使用标签选择各种对象以及调度
- 了解 label、selector、nodeSelector;
- 查询 label、选择 label、使用选择器调度 Pod;
- 选择器运算符,等值选择、集合选择;
- 配置污点和容忍度
- 亲和性和反亲和性
- 配置污点和容忍度
- 系统默认污点、master 的调度配置
- Job 和 CronJob
- 了解 Job,完成数(conpetions)、工作队列(parallelism)、控制并行性、清理 Job。
- CronJob 的时间表示
- StatefulSet
掌握以下命令的使用:
kubectl 原理是请求 apiserver 完成某些操作,日常操作中,最常用的就是 kubectl。
kubectl create {对象}
,创建 deployment、job 等对象。
kubectl apply -f
应用 yaml 文件,完成某些操作。
kubectl get {对象}
查询对象。
kubectl scale {对象}
伸缩对象数量(ReplicaSet)。
kubectl expose
创建 Service。
kubectl describe
获取对象详细的信息。
kubectl exec
在对象中执行命令,例如 pod。
"]},"search":{},"popup":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"hide-element":{},"fontsettings":{"theme":"white","family":"sans","size":2},"mermaid-gb3":{},"anchor-navigation-ex":{"associatedWithSummary":true,"float":{"floatIcon":"fa fa-navicon","level1Icon":"","level2Icon":"","level3Icon":"","showLevelIcon":false},"mode":"float","multipleH1":true,"pageTop":{"level1Icon":"","level2Icon":"","level3Icon":"","showLevelIcon":false},"printLog":false,"showGoTop":false,"showLevel":false},"alerts":{},"advanced-emoji":{"embedEmojis":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"insert-logo":{"style":"background: none; max-height: 50px; min-height: 50px","url":"/images/logo.jpg"}},"theme":"default","author":"痴者工良","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"Kubernetes - 痴者工良","language":"zh-hans","links":{"sidebar":{"痴者工良的博客":"https://www.whuanle.cn","粤ICP备18051778号":"https://beian.miit.gov.cn/"}},"gitbook":"*","description":"这是一本关于 Kubernetes 的书,作者 痴者工良"},"file":{"path":"3.pod/README.md","mtime":"2024-03-29T00:57:30.516Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2024-03-29T01:08:20.133Z"},"basePath":"..","book":{"language":""}});
});