CKA考试笔记
题目一:etcd升级
1、从内置快照中备份数据
ETCDCTL_API=3 etcdctl --endpoints=https://master:2379 \
--cert=/etc/kubernetes/pki/etcd/server.crt \
--key=/etc/kubernetes/pki/etcd/server.key \
--cacert=/etc/kubernetes/pki/etcd/ca.crt \
snapshot save $etcd-backup
注意:证书路径从etcd pod的描述中查看;提示没有etcdctl 命令则执行下面命令:
wget "https://github.com/coreos/etcd/releases/download/v3.3.9/etcd-v3.3.9-linux-amd64.tar.gz" && tar -zxvf etcd-v3.3.9-linux-amd64.tar.gz && ln -s /root/cka/etcd-v3.3.9-linux-amd64/etcdctl /usr/local/bin/etcdctl
2、验证快照:
ETCDCTL_API=3 etcdctl --write-out=table snapshot status $etcd-backup
+----------+----------+------------+------------+
| HASH | REVISION | TOTAL KEYS | TOTAL SIZE |
+----------+----------+------------+------------+
| e4be98dc | 549192 | 2601 | 5.5 MB |
+----------+----------+------------+------------+
3、从快照备份数据:
ETCDCTL_API=3 etcdctl --endpoints master:2379 snapshot restore $etcd-backup
题目二:查看集群中状态为ready的node数量,不包含被打了 NoSchedule污点的节点,并将结果写 到/opt/node.txt
kubectl describe node $(kubectl get node | grep Ready | awk '{print $1}') | grep Taints | grep -vc NoSchedule > /opt/node.txt
题目三:设置成node不能调度,并使已被调度的pod重新调度。
kubectl cordon my-node
kubectl drain my-node --ignore-daemonsets
题目四:给一个pod创建service,并可以通过ClusterIP访问
kubectl expose pod web --port=80 --target-port=80
题目五:列出命名空间下某个service关联的所有pod,并将 pod名称写到/opt/pod.txt文件中(使用标签筛选)
kubectl get svc web -o wide
kubectl get pod -l app=web -o name > /opt/pop.txt
题目五:创建一个RBAC规则
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: deployment-clusterrole
rules:
- apiGroups: ["apps"]
resources: ["deployment","statefulset","daemonset"]
verbs: ["create"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: read-secrets
namespace: app-team1
subjects:
- kind: ServiceAccount
name: cicd-token
namespace: app-team1
roleRef:
kind: ClusterRole
name: deployment-clusterrole
apiGroup: rbac.authorization.k8s.io
题目六 创建一个Pod使用PV自动供给
apiVersion: v1kind: Podmetadata: name: pod-pvcspec: containers: - name: busybox image: busybox command: ["/bin/sh", "-c","sleep 6000"] volumeMounts: - name: data mountPath: /opt volumes: - name: data persistentVolumeClaim: claimName: block-pvc---apiVersion: v1kind: PersistentVolumeClaimmetadata: name: block-pvcspec: storageClassName: my-csi-plugin accessModes: - ReadWriteMany resources: requests: storage: 5Gi---apiVersion: v1kind: PersistentVolumemetadata: name: block-pvcspec: capacity: storage: 5Gi volumeMode: Filesystem accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Recycle hostPath: path: /tmp
题目七 创建一个secret,分别使用环境变量和env的方式挂载
apiVersion: v1kind: Secretmetadata: name: mysecretdata: username: YWRtaW4K password: MTIzNDU2Cg==---apiVersion: v1kind: Podmetadata: name: pod-volume-secretspec: containers: - name: pod-volume-secret image: nginx volumeMounts: - name: mysecret mountPath: "/etc/foo" volumes: - name: mysecret secret: secretName: mysecret---apiVersion: v1kind: Podmetadata: name: pod-env-secretspec: containers: - name: pod-env-secret image: nginx env: - name: ABC valueFrom: secretKeyRef: name: mysecret key: username volumes: - name: mysecret secret: secretName: mysecret
题目八 创建一个Pod,检测到没有相应的文件则自动退出。
apiVersion: v1kind: Podmetadata: name: web labels: app: myappspec: restartPolicy: Never containers: - name: myapp-container image: busybox:1.28 command: ['sh', '-c', 'cat /root/test.txt && sleep 3000'] volumeMounts: - mountPath: /root name: test-volume initContainers: - name: init-myservice image: busybox:1.28 command: ["sh","-c","touch /root/test.txt"] volumeMounts: - mountPath: /root name: test-volume volumes: - name: test-volume emptyDir: {}
题目九 创建一个pod使用pvc,并对这个PVC进行扩容
apiVersion: storage.k8s.io/v1kind: StorageClassmetadata: name: slowprovisioner: kubernetes.io/gce-pdparameters: type: pd-standard#需要先定义一个存储类,增加“allowVolumeExpansion: true”参数允许动态扩容。allowVolumeExpansion: true---apiVersion: v1kind: Podmetadata: name: web-serverspec: containers: - name: nginx image: nginx volumeMounts: - mountPath: "/usr/share/nginx/html" name: mypvc volumes: - name: mypvc persistentVolumeClaim: claimName: myclaim---apiVersion: v1kind: PersistentVolumeClaimmetadata: name: myclaim
常用命令:
临时运行一个测试容器:kubectl run test --image=busybox --restart=Never -it
CKA考试笔记的更多相关文章
- 关于如何准备CKA考试
最近(2019年4月)通过了CKA考试,在此分享一下考试心得. CKA全称Certified Kubernetes Administrator,是一门在线考试,全程需要向考官分享摄像头和屏幕,考试费用 ...
- CKA考试个人心得分享
考试相关准备: 真题:需要的私密: 网络:必须开启VPN,以便能访问国外网络,强烈建议在香港搭建相应FQ: 证件:考试需要出示含有拉丁文(英文)带照片的有效证件,相关有效证件参考(优先建议护照):ht ...
- CKA考试经验:报考和考纲
1 报考相关 1.有效期一年.在一年内需要定好考试的时间. 2.提前15分钟进入考试系统, 提前进入考试系统后并不是立马开始考试,而是预留给考官时间考察你的考试环境 3.考试时间 ,注意报考的Time ...
- 2023年2月份CKA考试历程
2023年2月份CKA 考试历程 目录 2023年2月份CKA 考试历程 一.购买CKA/CKS套餐 二.CKA 考试练习 三.CKA 第一次考试 考前考中 考后 四.CKA 第二次考试 五.考试的一 ...
- kubernetes学习:CKA考试认证
考点 CKA认证针对考核成为当业界的Kubernetes管理员所需的技能. CKA认证考试包括这些一般领域及其在考试中的权重: 应用程序生命周期管理 - 8% 安装.配置和验证 - 12% 核心概 ...
- 备考2019年6月份PMP考试-分享一些考试笔记(二)
最新比较经典的100道试题,有备考的小伙伴可以练练手,文章末尾附答案. 1 一个项目经理在运作一个数据中心安装项目.他发现相关方很恼火,因为他超出了预算,原因是人员费用要高于原先的计划.另外项 ...
- Java算法考试笔记
1.快速构建排列树: void BackTrace(int t){//排列树 if(t<N){//如果没有到叶子结点 for(int i=t;i<N;i++){ swap(x,t,i); ...
- kubernetes学习:CKA考试认证(二)
1. 它题的意思是 在 development 名称空间里面 找到名为 baz的 service 然后通过这个service的selector 找出 对应的pod . 要用 kubectl des ...
- CNCF基金会的Certified Kubernetes Administrator认证考试计划
关于CKA考试 CKA(Certified Kubernetes Administrator)是CNCF基金会(Cloud Native Computing Foundation)官方推出的Kuber ...
- CKAD个人考试心得
先晒一波本人的CKA和CKAD证书! 如下正式分享CKAD心得: 考试相关准备: l 练习:https://github.com/dgkanatsios/CKAD-exercises: l 网络:必须 ...
随机推荐
- 安卓线性布局LinearLayout
1.weight权重解读 用法归纳: 按比例划分水平方向:将涉及到的View的android:width属性设置为0dp,然后设置为android weight属性设置比例即可. ` <Line ...
- 【Python脚本】刚度矩阵格式转换
对于1-2-3坐标系: 应力矩阵如下: \[\left.[\sigma]=\left[\begin{array}{ccc}\sigma_{11}&\sigma_{12}&\sigma_ ...
- pandas contains 函数
Series.str.contains( pat, # 要查询的字符串.要查询的或者正则表达式 case=True, # 是否对大小写敏感 flags=0, # 用来传给正则模块的参数,比如 flag ...
- java web 传输视频流代码锦集
方案一 //path为本地文件路劲 public void play(String path, HttpServletRequest request, HttpServletResponse resp ...
- vscode运行js文件
一. 首先你需要下载安装 nodejs 下载地址 二. 在 VS Code中有一个插件 code runner,安装后可以直接运行在 node 环境中,然后就可以在 vscode 中输出文件的结果. ...
- 如何让低于1B参数的小型语言模型实现 100% 的准确率
如何让低于1B参数的小型语言模型实现 100% 的准确率 上下文学习被低估了--ICL 是提升性能的秘密钥匙--教会 AI 说"我不知道"--第 2 部分 Fabio Matric ...
- Linux 系统出现异常排查思路
16 系统出现异常排查思路16.1 查看用户信息16.1.1查看当前的用户# who 04:39:39 up 1:30, 1 user, load average: 0.01, 0.01, 0. ...
- 面试题-Java基础(新更新版)
前言 Java基础部分的题目,是我根据Java Guide的面试突击版本V3.0再整理出来的,其中,我选择了一些比较重要的问题,并重新做出相应回答,希望对大家起到一定的帮助. 修改记录 日期 修改内容 ...
- 国产化-内存数据库tendis-单机安装(完美替代redis)
挺好的产品腾讯能开源还是体现了大厂的担当和格局,赞一个.阿里也开源了一些不错的产品后面讲. Tendis 介绍 Tendis 是腾讯公司开源的一款高性能分布式存储系统,基于 Redis 协议开发,具有 ...
- 【Java】RESTful风格
RESTful风格 REST:即 Representational State Transfer.(资源)表现层状态转化.是目前最流行的一种互联网软件架构.它结构清晰.符合标准.易于理解.扩展方便,所 ...