02工作负载和调度
考试大纲
工作负载和调度:15%
-
了解部署以及如何执行滚动更新和回滚
-
使用 ConfigMaps 和 Secrets 配置应用程序
-
了解如何扩展应用程序
-
了解用于创建健壮的、自修复的应用程序部署的原语
-
了解资源限制如何影响 Pod 调度
-
了解清单管理和通用模板工具
Deployment 扩容 Pod
题目描述:
- 设置配置环境 kubectl config use-context k8s
- 将 deployment webserver 扩展至 6 pods
官方文档:
- https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
- https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/deployment/
参考解答:
Pod 调度
题目描述:
- 设置配置环境 kubectl config use-context k8s
- 按如下要求调度一个 pod:
- 名称:nginx-kusc00401
- image: nginx
- Node selector: disk=ssd
官方文档:
- https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
- https://kubernetes.io/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/
参考解答:
apiVersion: v1
kind: Pod
metadata:
name: nginx-kusc00401
spec:
containers:
- name: nginx
image: nginx
imagePullPolicy: IfNotPresent
nodeSelector:
disk: ssd
查询 Ready Nodes 个数
题目描述:
- 设置配置环境 kubectl config use-context k8s
- 检查有多少个 worker nodes 已准备就绪(不包括被打上 Taint: NoSchedule 的节点),并将数量写入
/opt/KUSC00402/kusc00402.txt
官方文档:
参考解答:
# 查看所有的 nodes
kubectl get nodes |grep -i ready # 记录总数 A
# 查看有污点的 nodes
kubectl describe node | grep Taint | grep NoSchedule # 记录总数 B
# 将结果数量输出到指定文件 (结果为 A - B)
echo 2 > /opt/KUSC00402/kusc00402.txt
创建多容器 Pod
题目描述:
-
设置配置环境 kubectl config use-context k8s
-
创建一个名字为 kucc4 的 pod,在 pod 里面分别为以下每个 images 单独运行一个 app container (可能会有 1-4 个 images):
-
nginx
-
redis
-
memcached
-
consul
官方文档:
- https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
- https://kubernetes.io/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/
参考解答: