第一题:

1、更新证书(1分)

Kubernetes默认的证书有效期只有一年时间,对于某些场景下一个足够长的证书有效期是非常有必要的。请将Kubernetes集群证书的有效期延长至10年。

完成后提交master节点的用户名、密码及IP到答题框。(需要用到的软件包kubernetes_v1.18.1.tar.gz)

第二题:2、RBAC管理(2分)

创建一个名为deployment-clusterrole的clusterrole,并且对该clusterrole只绑定对Deployment、Daemonset、Statefulset的创建权限。在指定命名空间exam创建一个名为exam-user的serviceaccount,并且将上一步创建clusterrole和该serviceaccount绑定。

完成后提交master节点的用户名、密码和IP地址到答题框。

第三题:3、服务部署(1.5分)

题目解释:

1.创建ClusterRole

vi deployment-clusterrole.yml 输入以下内容

  1. apiVersion: rbac.authorization.k8s.io/v1
  2. kind: ClusterRole
  3. metadata:
  4. name: deployment-clusterrole
  5. rules:
  6. apiGroups: [""]
  7. resources: ["daemonsets", "deployments", "statefulsets"]
  8. verbs: ["create"]

kubectl create -f deployment-clusterrole.yml

2,先创建namespace

vi app-team1-namespace.yml 输入以下内容:

  1. apiVersion: v1
  2. kind: namespace
  3. mataData:
  4. name: exam

kubectl create -f exam-namespace.yml

//也可以执行kubectl create namespace exam

3.namespace创建好后,创建serviceaccount

  1. kubectl create -n exam serviceaccount cicd-token

4.绑定

serviceaccount创建好后,创建绑定关系

vi serviceaccount-clusterrole.yml 输入以下内容:

  1. apiVersion: rbac.authorization.k8s.io/v1
  2. kind: RoleBinding
  3. metaData:
  4. name: deployment-rolebinding
  5. namespaces: exam
  6. roleRef:
  7. apiGroup: rbac.authorization.k8s.io/v1
  8. kind: ClusterRole
  9. name: deployment-clusterrole
  10. subjecs:
  11. kind: ServiceAccount
  12. name: cicd-token
  13. namespaces: app-team1

最后执行 kubectl create -f serviceaccount-clusterrole.yml

第三题:服务部署

在default命名空间下使用镜像nginx:latest创建一个工作负载nginx-exam, 指定Pod调度到master节点,然后以
NodePort方式对外暴露10080端口。

第四题:hpa管理

在default命名空间下创建HPA规则nginx-exam-autoscale来管理上一题的工作负载nginx-exam,要求其Pod副本数在1-10之间动态变化,