k8s⾯试题详解1、监控Docker命令
docker inspect -f {"state"}
2、K8s的组件有哪些
kube-apiserver
kube-controller-manager
kube-scheduler
kube-proxy
kubelet
Flannel
ETCD
DNS
3、常⽤控制器以及特点?
Deployment # 部署⽆状态应⽤
DaemonSet # 每个节点上都部署⼀个,⽤于收集、监控⽇志
StatufluSet # 部署有状态应⽤
4、Service的类型有哪些?
ClusterIP  # 向集内部暴露服务
NodePort  # 通过宿主主机IP和端⼝向外部暴露服务
LoadBalancer # 通过弹性IP向外部暴露服务
ExtennalName # 将外部的⼀个服务定义⼀个集内部的别名
5、Ingress-Nginx的⼯作原理
脚本实现网页自动填表根据ingress配置清单,实时⽣成Nginx配置,并且使其⽣效,之后通过nginx反向代理转发流量到pod中6、从ingress到pod的流程
ingress ---> endprints(HeadLess Service) ---> pod
7、控制器、service、ngress管理pod的⽅式?
控制器 ---> 通过标签
Service ---> endPoints
ingress ---> endpoints
8、主容器的作⽤
1.提供⼀个Pod的基础⽹路命名空间
2.提供共享存储
3.监控业务容器
9、Pod的⽣命周期通配符是什么东西
1.调度服务到节点
2.创建Pod
2.创建主容器
3.依次创建业务容器
4.执⾏开始回调钩⼦
5.进⾏健康检查:存活探测、就绪探测
6.执⾏结束回调钩⼦
7.⼀次结束业务容器
8.结束主容器
9.销毁Pod
10、在k8s中yaml配置清单的最基本结构
kind:
apiVersion:
metadata:
易语言破解版生成安装软件失败spec:matlab怎么用sym创建函数
status:
11、Ingress 设置重定向的⽅式有哪些,区别是什么?
1.注解    # 当前ingress⽣效
12、部署Wordpress的流程
1.将Wordpress打包到镜像并构建
2.编写配置清单(Service、Deployment、Ingress)
3.部署、访问测试
13、Docker的四中⽹络模式
Brigre  # 默认,启动Docker进程时,会在主机上创建⼀个名为docker0的虚拟⽹桥,和物理交换机类似None  # 容器有独⽴的 Network namespace,但并没有对其进⾏任何⽹络设置
Host  # 容器和宿主机共享 Network namespace
Container # 容器与容器共享⼀个NameSpace,K8s中的Pod就是采⽤此模式
14、Dockerfile常⽤指令
FROM # 镜像来源
ADD  # 复制⽂件到镜像,⽀持tar包⾃动解压,强于COPY
RUN  # 指定构建镜像时运⾏的命令
ARG  # ⽤于指定传递给构建时的变量
ENV  # 环境变量
COPY # 复制⽂件到镜像
LABEL # 为镜像添加元数据,不常⽤
EXPOSE # 制定与外界交互的端⼝
VOLUME # ⽤于指定持久化⽬录
ONBUILD # 镜像触发器,可触发基础镜像内的动作
WORKDIR # ⼯作⽬录,类似于cd后的初始路径
CMD  # 指定容器运⾏时的默认命令,如启动命令
15、K8s组件及协同关系
所有服务均是由Apiserver调度
1.Kubectl发送了⼀个部署nginx的任务
2.进⼊Master节点进⾏安全认证
3.通过认证后,Apiserver接受指令
4.将部署的命令数据记录到ETCD中
5.Apiserver再读取ETCD中的数据
6.Apiserver到Scheduler,告诉它要部署服务
7.Scheduler向Apiserver调取⼯作节点数据,看部署在哪台合适
8.Apiserver调取ETCD中粗出的数据,并发送给Scheduler
9.Scheduler通国计算⽐较,到最合适的Node节点并发送给Apiserver
10.Apiserver把要部署在Node节点的计划储存到ETCD中
11.Apiserver读取ETCD中的部署计划,通知Node节点的Kubelet来部署容器
12.Kubelet根据指令部署Nginx容器,kube-proxy为Nginx容器创建⽹桥
13.容器⽹桥部署完成后,Kubelet通知Apiserver已完成部署⼯作
14.Apiserver将部署状态存储在ETCd中,同时通知Controller-Manager来活了
15.Controller-Manager向Apiserve要需监控容器的数据
16.ApiserverETCD读取相应数据,同时通知Kubelet要源源不断发送监控的数据
17.ApiserverKubelet发送来的数据存储到ETCD中
18.Apiserver将ETCD的数据返回给Controller-Manager
19.Controller-Manager根据数据计算判断容器是否存在或健康
16、K8s存储卷有哪些
empyDir
# Pod调度到节点时创建的⼀个临时空⽬录,Pod删除随之删除,⽤于容器间分享⽂件
hostPath
# 节点存储卷,挂在宿主机的⽂件或⽬录到Pod中
PV/PVC
# 是外部存储系统中的⼀块存储空间,具有持久性,⽣命周期独⽴于Pod
StoageClass
# 是充当PV的模板,从⽽可以动态创建所需的PV,⾃动构建相对应的PV持久化存储卷
configmap
# 能使⼀个配置⽂件多台机器共⽤,杜绝重复修改,⽀持热更新,且⽀持挂载
两种⽅式:挂载、存储卷
secret
# 将密码转换为密⽂,写⼊配置清单中,起到加密的作⽤。
17、健康检查的⽅式+针对点+错误处理⽅式
存活性监测 # 容器是否正常启动 --> 删除容器
就绪性检测 # 容器是否正常提供服务 --> 移出负载均衡
18、将Pod调度到master节点的⽅法
1.删除污点:
删除master节点上打的污点标签,⽤亲和性使Pod调度到master(scheduler)
2.容忍污点:
设置Pod容忍污点,使⽤selectNode调度到master
mysql查询面试题及答案19、简单说明emptyDir与hostPath
emptyDir # ⽤来作为Pod中的临时⽬录
hostPath # 类似于docker -v 参数,将存储卷挂载在本地
20、部署Discuz的步骤
1.编写配置清单
# 部署MySQL集
创建命名空间
创建Service提供负载均衡
使⽤控制器部署Discuz
# 部署Discuz应⽤
创建命名空间
创建Service提供负载均衡(headless service)
创建服务并挂载代码
jdk最新版本是多少
# 连接服务器
Discuz连接MySQL --> sql.svc.cluster.local
2.部署~
21、K8s的配错⽅法有哪些?
1.权限不⾜
2.内存不⾜
33.⽹络问题
22、K8s⽹络流量⼊栈到出栈的流程
23、说明PV/PVC
PV # 相当于磁盘分区
PVC # 相当于磁盘请求
24、部署Discuz的流程

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。