打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
CKA 真题
  • 1.列出pod并排序
kubectl get pod --sort-by .metadata.name题目一般都是按名字排序
  • 2.找出pod中的错误日志
kubectl logs heapster-798fcd9949-lk9rc | grep error > xx.txt要求是把错误内容输出到某个文件中,可以粘贴,也可以直接重定向文件
  • 3.创建一个pod ,并调度到某个节点上
命令行创建pod的方法可以参考攻略的pdf,主要参数是--restart=Never,否则就会是deploymentkubectl run nginx-pod --image=nginx --port=80 --restart=Never --dry-run -o yaml > pod.yaml

先导出一份示例yaml出来,记得保存好这份yaml,后面也要用的

在yaml的spec属性中增加 nodeName: xxx创建pod:kubectl create -f pod.yaml
  • 4.列出正常节点的个数
kubectl get node 如何判断正常节点:一般都是not readyget或者describe node排查node信息,把可用数写到一个文件中,文件里写一个数字就行了,不要多写空格换行之类的,谨记
  • 5.pod中挂载volume
  直接使用这个文档的示例就行,不用改啥东西  文档地址:https://kubernetes.io/docs/concepts/storage/volumes/
  • 6.提供一个pod,添加init-container ,在container中添加一个空文件,启动的时候。在另一个containre中检测是否有这个文件,否则退出

文档地址:https://kubernetes.io/docs/co...

apiVersion: v1kind: Podmetadata:  creationTimestamp: null  labels:    run: nginx-pod  name: nginx-podspec:  containers:  - image: nginx    name: nginx-pod    command: ['sh','-c','if [ -f "a.txt" ]; then  echo xx ;fi']    ports:    - containerPort: 80    resources: {}    volumeMounts:    - name: workdir      mountPath: /usr/nginx/html  dnsPolicy: ClusterFirst  initContainers:  - image: busybox    name: initcheck    command: ['sh','-c','touch /tmp/index.html']    volumeMounts:    - name: workdir      mountPath: /tmp  volumes:  - name: workdir    emptyDir: {}
  • 7.创建pod,再创建一个service
pod的模板使用前几题留下的yaml,改下就行了   service的nodePort类型:https://kubernetes.io/docs/concepts/services-networking/service/      注意:校验nodePort是否通,不要在中控机上校验,登录到node去校验      也有可能让你建cluster-ip类型   
  • 8.在一个pod中创建2个容器,如redis+nginx
apiVersion: v1kind: Podmetadata:  name: demospec:  containers:  - image: nginx    name: nginx  - image: redis    name: redis
  • 9.找到指定service下的pod中,cpu利用率按高到底排序

    按selector查找

kubectl get pod --selector="run=demo" | awk '{ print $1}' | grep -v NAME | 或者找到pod后,一个一个看kubectl top pod | grep -v NAME | sort -k 3
  • 10.创建一个简单的daemonset
文档地址:https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/文档中给的yaml内容太多了,volume都可以删掉daemonset创建好后会发现pod数小于节点数,可以看下节点是不是打了taint
  • 11.deployment的扩容 ,scale命令
kubectl scale --replicas=4 deployment demo
  • 12 创建secret,有一个paasword字段(手动base64加密),创建两个pod引用该secret,一个用env ,一个用volume来调用
这个文档里面全都有,记住链接https://kubernetes.io/docs/concepts/configuration/secret/
  • 13.先将nginx:1.9的deployment,升级到nginx:1.11,记录下来(—record),然后回滚到1.9

升级

kubectl set image deployments demo demo=nginx:1.11 --record

回滚

kubectl rollout undo deployment demo
  • 14.使用ns lookup 查看service 和pod的dns
service和pod的创建用之前的yaml
查看dnskubectl run -it --image busybox:1.28.4  dnstest --rm /bin/shsevice:nslookup svc-demo.kube-system.svc.cluster.localpod:nslookup 1-2-3-4.default.pod.cluster.local查看pod ip时,要把1.2.3.4换成1-2-3-4,否则会报错对应的文档:https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
  • 15.etcdctl 来 备份etcd
ETCDCTL_API=3 etcdctl --endpoints ....snapshot save  xxx 根据-h提示写就行了先声明环境变量ETCDCTL_API=3 ,不然etcdctl 是v2版本这个文档:文档地址:https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/
  • 16.static pod的使用
文档地址:https://kubernetes.io/docs/tasks/administer-cluster/static-pod/找到--pod-manifest-path=/etc/kubelet.d/配置的位置,然后把pod的yaml放进去apiVersion: v1kind: Podmetadata:  name: static-web  labels:    role: myrolespec:  containers:    - name: web      image: nginx      ports:        - name: web          containerPort: 80          protocol: TCP
  • 17.在一个新的namespace创建pod

    先创建ns,在创建pod,和前面步骤类似

  • 18.pv 类型hostpath 位置在/data , 大小为1G , readonly模式
文档地址:https://kubernetes.io/docs/concepts/storage/persistent-volumes/
  • 20.给pod创建service
  • 21.使用node selector,选择disk为ssd的机器调度
apiVersion: v1kind: Podmetadata:  name: nginx  labels:    env: testspec:  containers:  - name: nginx    image: nginx    imagePullPolicy: IfNotPresent  nodeSelector:    disktype: ssd

22.排查apiserver连接不上问题:

用的kubeadmin安装的,是kubelet的配置中目录地址有问题
  • 23.把一个node弄成unavailable 并且把上边的pod重新调度去新的node上

    应该是直接drain,需要注意daemonset要强制删除,或者给节点打污点,taint,再去删掉

  • 24.tls bootstrap加入节点(题目超长,时间一般都是不够用的。可以选择性放弃,这题8分)

参考作答:https://lingxiankong.github.i...

文档地址:https://kubernetes.io/docs/re...


日期:2019年5月
版本:k8s 1.13

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
入门级实操教程!从概念到部署,全方位了解K8S Ingress!
ubuntu18安装Kubernetes 1.20.5
Kubernetes K8S之Taints污点与Tolerations容忍详解
《基于Kubernetes的容器云平台实战》读书笔记
centos7 搭建 kubernetes1.16.7 集群 II (ingress)
Kubernetes 运维学习笔记
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服