Part1 集群架构,安装和配置

01. RBAC (4%)

Context

为部署管道创建一个新的 ClusterRole 并将其绑定到范围为特定的 namespace 的特定 ServiceAccount

Task

创建一个名为 deployment-clusterrole 且仅允许创建一下资源类型的新 ClusterRole

  • Deployment

  • StatefulSet

  • DaemonSet

在现有的 namespace app-team1 中创建一个名为 cicd-token 的新 ServiceAccount

限于 namespace app-team1 ,将新的 ClusterRole deployment-clusterrole 绑定到新的 ServiceAccount cicd-token

解题:

kubectl create clusterrole deployment-clusterrole --verb=create --resource=deployments,statefulsets,daemonsets

kubectl -n app-team1 create serviceaccount cicd-token

kubectl -n app-team1 create rolebinding cicd-token-rolebinding --clusterrole=deployment-clusterrole --serviceaccount=app-team1:cicd-token

02. 驱逐节点 (4%)

Task

Set the node named ek8s-node-1 as unavailable and reschedule all the pods running on it.

中文解释:

将 ek8s-node-1 节点设置为不可用,然后重新调度该节点上的所有 Pods

解题:

03. 集群升级 (7%)

Task

现有的 kubernetes 集群正在运行版本 1.18.8 。仅将主节点上的所有 kubernetes 控制平面和节点组件升级到版本 1.19.0

另外,在主节点上升级 kubeletkubectl

确保在升级之前 drain 主节点,并在升级后 uncordon 主节点。请不要升级工作节点,etcd,container 管理器,CNI 插件,DNS 服务或任何其它插件。

解题:

04. ETCD 备份恢复 (7%)

Task

首先,为运行在 https://127.0.0.1:2379 上的现有 etcd 实例创建快照并将快照保存到 /data/backup/etcd-snapshot.db

为给定实例创建快照预计能做几秒内完成。如果该操作似乎挂起,则命令可能有问题。用 CTRL + c 来取消操作,然后重试。

然后还原位于 /srv/data/etcd-snapshot-previous.db 的现有先前快照。

提供了以下 TLS 证书和密钥,以通过 etcdctl 连接到服务器。

  • CA 证书:/opt/KUIN00601/ca.crt

  • 客户端证书:/opt/KUIN00601/etcd-client.crt

  • 客户端密钥:/opt/KUIN00601/etcd-client.key

解题:

Last updated