下面我来按照考试大纲分享一下最新的2021年五月的考题及重点难点.
25% - Cluster Architecture, Installation Configuration? Manage role based access control (RBAC)
? Use Kubeadm to install a basic cluster
? Manage a highly-available Kubernetes cluster
? Provision underlying infrastructure to deploy a Kubernetes cluster
? Perform a version upgrade on a Kubernetes cluster using Kubeadm
? Implement etcd backup and restore
? RBAC的管理 参考文档
Rolebinding不能跨namespace, ClusterRolebinding可以跨namespace,考察RBAC,要求创建指定namespace下的serviceAccount,并创建Role/ClusterRole,绑定serviceAccount。要求指定的sa对指定namespace有创建pod的权限(如果是对整个集群的话,需要用ClusterRoleBinding)
# 创建一个namespace kubectl create namespace app-team1 # 创建一个serviceaccount 到 app-team1 这个namespace下面 名称是cicd-token kubectl -n app-team1 create serviceaccount cicd-token # 创建一个跨集群的绑定关系 kubectl -n app-team1 create rolebinding cicd-token-binding --clusterrole=deployment-clusterrole --serviceaccount=app-team1:cicd-token # 查看这个绑定关系 kubectl -n app-team1 describe rolebindings.rbac.authorization.k8s.io cicd-token-binding
? 使用Kubeadm 安装基础集群 参考文档
现在基本上都是可以通过yum/apt等直接安装kubeadm,考试应该是debian 所以使用apt-get 安装kubeadm工具.安装完后直接执行kubeadm init即可
? 管理高可用的k8s集群 参考文档
考试一般都会提供你k8s环境 你直接use 环境变量即可引用相关内容,在这里不做过多介绍.部署一个高可用的集群优先要保证各个节点的etcd都在运行后参考文档链接即可完成部署.
? 部署一个k8s集群 参考文档
创建阿里云ecs实例
使用最小2C2G的debian或者Ubuntu关闭swap,没记错的话阿里云已经帮助关闭了swap swap file.通过上面的模板可以自行创建多个实例.通过iptables 查看流量可以通过此脚本安装 docker-install安装 kubeadm, kubelet, and kubectl你也可以通过下面的命令来安装
#!/bin/bash # Disable Swap sudo swapoff -a # Bridge Network sudo modprobe br_netfilter sudo cat 'EOF' | sudo tee /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 sudo sysctl --system # Install Docker sudo curl -fsSL https://get.docker.com -o /home/ubuntu/get-docker.sh sudo sh /home/ubuntu/get-docker.sh # Install Kube tools sudo apt-get update sudo apt-get install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - cat 'EOF' | sudo tee /etc/apt/sources.list.d/kubernetes.list deb https://apt.kubernetes.io/ kubernetes-xenial main sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl
Optionally, add sudo kubeadm config images pull to the end of the script to pre-pull images required for setting up a Kubernetes cluster.
$ sudo kubeadm config images pull [config/images] Pulled k8s.gcr.io/kube-apiserver:v1.19.2 [config/images] Pulled k8s.gcr.io/kube-controller-manager:v1.19.2 [config/images] Pulled k8s.gcr.io/kube-scheduler:v1.19.2 [config/images] Pulled k8s.gcr.io/kube-proxy:v1.19.2 [config/images] Pulled k8s.gcr.io/pause:3.2 [config/images] Pulled k8s.gcr.io/etcd:3.4.13-0 [config/images] Pulled k8s.gcr.io/coredns:1.7.0
? 使用kubeadm 升级集群
升级集群以及维护节点必备的2个前置动作就是先通过cordon命令把预操作的节点状态置成"停止调度"(SchedulingDisabled)以及通过drain命令将跑在上面的pod调度到其他node上后,再进行对node的其他运维操作.
apt-get install kubeadm
kubeadm version
kubeadm upgrade plan
kubeadm upgrade apply v1.19.0
kubectl config use-context mk8s kubectl get node kubectl cordon mk8s-master-1 kubectl drain mk8s-master-1 --delete-local-data --ignore-daemonsets --force ssh mk8s-master-1 sudo -i apt-get install -y kubeadm=1.19.0-00 kubeadm version kubeadm upgrade plan kubeadm upgrade apply v1.19.0 --etcd-upgrade=false apt-get install kubelet=1.19.0-00 kubectl=1.19.0-00 kubelet version kubelet version systemctl status kubelete systemctl daemon-reload kubectl get node # 确认只升级了master节点到1.19.0
? 熟练掌握etcd的备份和还原 参考文档
先输出ETCDCTL_API=3的环境变量,
熟练掌握各种子命令
export ETCDCTL_API=3 # 设置API版本v3 etcdctl --endpoints 127.0.0.1:2379 --cacert=/opt/KUIN00601/ca.crt --cert=/opt/KUIN00601/etcd-client.crt --key=/opt/KUIN00601/etcd-client.key snapshot save /srv/data/etcd-snapshot.db
从 10.0.0 版开始,异步迭代器就出现在 Node 中了,在本文中,我们将讨论异步迭...
本文整理自直播《Hologres 数据导入/导出实践-王华峰(继儒)》 视频链接: https:/...
前提条件 请您在购买前确保已完成注册和充值。详细操作请参见 如何注册公有云管...
2021年3月24日,主题为《数据的世界,世界的数据》的星环科技2021春季新品发布会...
【51CTO.com快译】 数据可视化工具不断发展,提供更强大的功能,同时改善可访问...
信息化2.0时代提出开展智慧教育创新发展行动。2019年2月,中共中央、国务院印发...
在Python语言中有如下3种方法: 成员方法 类方法(classmethod) 静态方法(staticm...
建站 什么 虚拟主机 够用?这要看搭建的是什么类型的网站。比如个人博客类型的网...
Docker生成新镜像版本的两种方式 There are two ways Docker can generate new m...
摘要 元旦期间 订单业务线 告知 推送系统 无法正常收发消息,作为推送系统维护者...