简述 ETCD 及其特点?

etcd 是 CoreOS 团队发起的开源项目,是一个管理配置信息和服务发现( service discovery )的项目,它的目标是构建一个高可用的分布式键值(key-value)数据库,基于 Go 语言实现。
特点:
  • 简单:支持 REST 风格的 HTTP+JSON API
  • 安全:支持 HTTPS 方式的访问
  • 快速:支持并发 1k/s 的写操作
  • 可靠:支持分布式结构,基于 Raft 的一致性算法,Raft 是一套通过选举主节点来实现分布式系统一致性的算法。

简述 ETCD 适应的场景?

etcd 基于其优秀的特点,可广泛的应用于以下场景:
服务发现 (Service Discovery) :服务发现主要解决在同一个分布式集群中的进程或服务,要如何才 能找到对方并建立连接。本质上来说,服务发现就是想要了解集群中是否有进程在监听 udp 或 tcp 端口,并且通过名字就可以查找和连接。
消息发布与订阅 :在分布式系统中,最适用的一种组件间通信方式就是消息发布与订阅。即构建一个配 置共享中心,数据提供者在这个配置中心发布消息,而消息使用者则订阅他们关心的主题,一旦主题有消息发布,就会实时通知订阅者。通过这种方式可以做到分布式系统配置的集中式管理与动态更新。应用中用到的一些配置信息放到 etcd 上进行集中管理。
负载均衡 :在分布式系统中,为了保证服务的高可用以及数据的一致性,通常都会把数据和服务部署多份,以此达到对等服务,即使其中的某一个服务失效了,也不影响使用。etcd 本身分布式架构存储的信息访问支持负载均衡。etcd 集群化以后,每个 etcd 的核心节点都可以处理用户的请求。所以,把数据量小但是访问频繁的消息数据直接存储到 etcd 中也可以实现负载均衡的效果。
分布式通知与协调 :与消息发布和订阅类似,都用到了 etcd 中的 Watcher 机制,通过注册与异步通知机制,实现分布式环境下不同系统之间的通知与协调,从而对数据变更做到实时处理。
分布式锁 :因为 etcd 使用 Raft 算法保持了数据的强一致性,某次操作存储到集群中的值必然是全局一致的,所以很容易实现分布式锁。锁服务有两种使用方式,一是保持独占,二是控制时序。
集群监控与 Leader 竞选:通过 etcd 来进行监控实现起来非常简单并且实时性强。

简述 HAProxy 及其特性?

HAProxy 是可提供高可用性、负载均衡以及基于 TCP 和 HTTP 应用的代理,是免费、快速并且可靠的一种解决方案。HAProxy 非常适用于并发大(并发达 1w 以上) web 站点,这些站点通常又需要会话保持或七层处理。HAProxy 的运行模式使得它可以很简单安全的整合至当前的架构中,同时可以保护web 服务器不被暴露到网络上。
HAProxy 的主要特性有:
  • 可靠性和稳定性非常好,可以与硬件级的 F5 负载均衡设备相媲美;
  • 最高可以同时维护 40000-50000 个并发连接,单位时间内处理的最大请求数为 20000 个,最大处
  • 理能力可达 10Git/s;
  • 支持多达 8 种负载均衡算法,同时也支持会话保持;
  • 支持虚机主机功能,从而实现 web 负载均衡更加灵活;
  • 支持连接拒绝、全透明代理等独特的功能;
  • 拥有强大的 ACL 支持,用于访问控制;
  • 其独特的弹性二叉树数据结构,使数据结构的复杂性上升到了 0(1),即数据的查寻速度不会随着数据条目的增加而速度有所下降;
  • 支持客户端的 keepalive 功能,减少客户端与 haproxy 的多次三次握手导致资源浪费,让多个请求在一个 tcp 连接中完成;
  • 支持 TCP 加速,零复制功能,类似于 mmap 机制;
  • 支持响应池(response buffffering);
  • 支持 RDP 协议;
  • 基于源的粘性,类似 nginx 的 ip_hash 功能,把来自同一客户端的请求在一定时间内始终调度到上游的同一服务器;
  • 更好统计数据接口,其 web 接口显示后端集群中各个服务器的接收、发送、拒绝、错误等数据的统计信息;
  • 详细的健康状态检测, web 接口中有关于对上游服务器的健康检测状态,并提供了一定的管理功能;
  • 基于流量的健康评估机制;
  • 基于 http 认证;
  • 基于命令行的管理接口;
  • 日志分析器,可对日志进行分析。

简述 HAProxy 常见的负载均衡策略?

HAProxy 负载均衡策略非常多,常见的有如下 8 种:
  • roundrobin:表示简单的轮询。
  • static-rr:表示根据权重。
  • leastconn:表示最少连接者先处理。
  • source:表示根据请求的源 IP,类似 Nginx 的 IP_hash 机制。
  • ri:表示根据请求的 URI。
  • rl_param:表示根据 HTTP 请求头来锁定每一次 HTTP 请求。
  • rdp-cookie(name):表示根据据 cookie(name)来锁定并哈希每一次 TCP 请求。

简述负载均衡四层和七层的区别?

四层负载均衡器 也称为 4 层交换机,主要通过分析 IP 层及 TCP/UDP 层的流量实现基于 IP 加端口的负载均衡,如常见的 LVS 、 F5 等;
七层负载均衡器 也称为 7 层交换机,位于 OSI 的最高层,即应用层,此负载均衡器支持多种协议,如HTTP、 FTP 、 SMTP 等。 7 层负载均衡器可根据报文内容,配合一定的负载均衡算法来选择后端服务器,即“ 内容交换器 ” 。如常见的 HAProxy 、 Nginx 。

简述 LVSNginxHAproxy 的什么异同?

相同:三者都是软件负载均衡产品。

区别:

  • LVS 基于 Linux 操作系统实现软负载均衡,而 HAProxy 和 Nginx 是基于第三方应用实现的软负载均衡;
  • LVS 是可实现 4 层的 IP 负载均衡技术,无法实现基于目录、URL 的转发。而 HAProxy 和 Nginx
  • 都可以实现 4 层和 7 层技术,HAProxy 可提供 TCP 和 HTTP 应用的负载均衡综合解决方案;
  • LVS 因为工作在 ISO 模型的第四层,其状态监测功能单一,而 HAProxy 在状监测方面功能更丰富、强大,可支持端口、URL、脚本等多种状态检测方式;
  • HAProxy 功能强大,但整体性能低于 4 层模式的 LVS 负载均衡。
  • Nginx 主要用于 Web 服务器或缓存服务器。

简述 Heartbeat

Heartbeat 是 Linux-HA 项目中的一个组件,它提供了心跳检测和资源接管、集群中服务的监测、失效切换等功能。heartbeat 最核心的功能包括两个部分,心跳监测和资源接管。心跳监测可以通过网络链路和串口进行,而且支持冗余链路,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未收到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运行在对方主机上的资源或者服务。

简述 Keepalived 及其工作原理?

Keepalived 是一个基于 VRRP 协议来实现的 LVS 服务高可用方案,可以解决静态路由出现的单点故障问题。
在一个 LVS 服务集群中通常有主服务器( MASTER )和备份服务器( BACKUP )两种角色的服务器,但是对外表现为一个虚拟 IP ,主服务器会发送 VRRP 通告信息给备份服务器,当备份服务器收不到 VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟 IP ,继续提供服务,从而保证了高可用性。

简述 Keepalived 体系主要模块及其作用?

keepalived 体系架构中主要有三个模块,分别是 core 、 check 和 vrrp 。
  • core 模块 为 keepalived 的核心,负责主进程的启动、维护及全局配置文件的加载和解析。
  • vrrp 模块 是来实现 VRRP 协议的。
  • check 负责健康检查,常见的方式有端口检查及 URL 检查。

简述 Keepalived 如何通过健康检查来保证高可用?

Keepalived 工作在 TCP/IP 模型的第三、四和五层,即网络层、传输层和应用层。
  • 网络层 ,Keepalived 采用 ICMP 协议向服务器集群中的每个节点发送一个 ICMP 的数据包,如果某个节点没有返回响应数据包,则认为此节点发生了故障,Keepalived 将报告次节点失效,并从服务器集群中剔除故障节点。
  • 传输层 ,Keepalived 利用 TCP 的端口连接和扫描技术来判断集群节点是否正常。如常见的 web服务默认端口 80,ssh 默认端口 22 等。Keepalived 一旦在传输层探测到相应端口没用响应数据返回,则认为此端口发生异常,从而将此端口对应的节点从服务器集群中剔除。
  • 应用层 ,可以运行 FTP、telnet、smtp、dns 等各种不同类型的高层协议,Keepalived 的运行方式也更加全面化和复杂化,用户可以通过自定义 Keepalived 的工作方式,来设定监测各种程序或服务是否正常,若监测结果与设定的正常结果不一致,将此服务对应的节点从服务器集群中剔除。
Keepalived 通过完整的健康检查机制,保证集群中的所有节点均有效从而实现高可用。

简述 LVS 的概念及其作用?

LVS 是 linux virtual server 的简写 linux 虚拟服务器,是一个虚拟的服务器集群系统,可以在
unix/linux 平台下实现负载均衡集群功能。
LVS 的主要作用是:通过 LVS 提供的负载均衡技术实现一个高性能、高可用的服务器群集。因此 LVS 主要可以实现:
  • 把单台计算机无法承受的大规模的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间,提升用户体验。
  • 单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高。
  • 7*24 小时的服务保证,任意一个或多个设备节点设备宕机,不能影响到业务。在负载均衡集群中,所有计算机节点都应该提供相同的服务,集群负载均衡获取所有对该服务的如站请求。

简述 LVS 的工作模式及其工作过程?

LVS 有三种负载均衡的模式,分别是 VS/NAT ( nat 模式)、 VS/DR (路由模式)、 VS/TUN (隧道模式)

NAT 模式(VS-NAT)

  • 原理 :首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。然后负载均衡器就把客户端发送的请求数据包的目标 IP 地址及端口改成后端真实服务器的 IP 地址(RIP)。真实服务器响应完请求后,查看默认路由,把响应后的数据包发送给负载均衡器,负载均衡器在接收到响应包后,把包的源地址改成虚拟地址(VIP)然后发送回给客户端。
  • 优点 :集群中的服务器可以使用任何支持 TCP/IP 的操作系统,只要负载均衡器有一个合法的 IP 地址。
  • 缺点 :扩展性有限,当服务器节点增长过多时,由于所有的请求和应答都需要经过负载均衡器,因此负载均衡器将成为整个系统的瓶颈。

IP 隧道模式(VS-TUN)

  • 原理 :首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。然后负载均衡器就把客户端发送的请求报文封装一层 IP 隧道(T-IP)转发到真实服务器(RS)。真实服务器响应完请求后,查看默认路由,把响应后的数据包直接发送给客户端,不需要经过负载均衡器。
  • 优点 :负载均衡器只负责将请求包分发给后端节点服务器,而 RS 将应答包直接发给用户。所以, 减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,也能处理很巨大的请求量。
  • 缺点 :隧道模式的 RS 节点需要合法 IP,这种方式需要所有的服务器支持“IP Tunneling”。

直接路由模式(VS-DR)

  • 原理 :首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。然后负载均衡器就把客户端发送的请求数据包的目标 MAC 地址改成后端真实服务器的 MAC 地址(R-MAC)。真实服务器响应完请求后,查看默认路由,把响应后的数据包直接发送给客户端,不需要经过负载均衡器。
  • 优点 :负载均衡器只负责将请求包分发给后端节点服务器,而 RS 将应答包直接发给用户。所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,也能处理很巨大的请求量。
  • 缺点 :需要负载均衡器与真实服务器 RS 都有一块网卡连接到同一物理网段上,必须在同一个局域网环境

简述 LVS 调度器常见算法(均衡策略)?

LVS 调度器用的调度方法基本分为两类:

固定调度算法:rr,wrr,dh,sh

  • rr:轮询算法,将请求依次分配给不同的 rs 节点,即 RS 节点中均摊分配。适合于 RS 所有节点处理性能接近的情况。
  • wrr:加权轮训调度,依据不同 RS 的权值分配任务。权值较高的 RS 将优先获得任务,并且分配到的连接数将比权值低的 RS 更多。相同权值的 RS 得到相同数目的连接数。
  • dh:目的地址哈希调度(destination hashing)以目的地址为关键字查找一个静态 hash 表来获得所需 RS。
  • sh:源地址哈希调度(source hashing)以源地址为关键字查找一个静态 hash 表来获得需要的RS。

动态调度算法:wlc,lc,lblc,lblcr

  • wlc:加权最小连接数调度,假设各台 RS 的权值依次为 Wi,当前 tcp 连接数依次为 Ti,依次去Ti/Wi 为最小的 RS 作为下一个分配的 RS。
  • lc:最小连接数调度(least-connection),IPVS 表存储了所有活动的连接。LB 会比较将连接请求发送到当前连接最少的 RS。
  • lblc:基于地址的最小连接数调度(locality-based least-connection):将来自同一个目的地址的请求分配给同一台 RS,此时这台服务器是尚未满负荷的。否则就将这个请求分配给连接数最小的RS,并以它作为下一次分配的首先考虑。

简述 LVSNginxHAProxy 各自优缺点?

简述代理服务器的概念及其作用?

简述高可用集群可通过哪两个维度衡量高可用性,各自含义是什么?

简述什么是 CAP 理论?

简述什么是 ACID 理论?

简述什么是 Kubernetes

简述 Kubernetes Docker 的关系?

简述 Kubernetes 中什么是 MinikubeKubectlKubelet

简述 Kubernetes 常见的部署方式?

简述 Kubernetes 如何实现集群管理?

简述 Kubernetes 的优势、适应场景及其特点?

简述 Kubernetes 的缺点或当前的不足之处?

简述 Kubernetes 相关基础概念?

简述 Kubernetes 集群相关组件?

简述 Kubernetes RC 的机制?

简述 Kubernetes Replica Set Replication Controller 之间有什么区别?

简述 kube-proxy 作用?

简述 kube-proxy iptables 原理?

简述 kube-proxy ipvs 原理?

简述 kube-proxy ipvs iptables 的异同?

简述 Kubernetes 中什么是静态 Pod

简述 Kubernetes Pod 可能位于的状态?

简述 Kubernetes 创建一个 Pod 的主要流程?

简述 Kubernetes Pod 的重启策略?

简述 Kubernetes Pod 的健康检查方式?

简述 Kubernetes Pod LivenessProbe 探针的常见方式?

简述 Kubernetes Pod 的常见调度方式?

简述 Kubernetes 初始化容器(init container)?

简述 Kubernetes deployment 升级过程?

简述 Kubernetes deployment 升级策略?

简述 Kubernetes DaemonSet 类型的资源特性?

简述 Kubernetes 自动扩容机制?

简述 Kubernetes Service 类型?

简述 Kubernetes Service 分发后端的策略?

简述 Kubernetes Headless Service

简述 Kubernetes 外部如何访问集群内的服务?

简述 Kubernetes ingress

简述 Kubernetes 镜像的下载策略?

简述 Kubernetes 的负载均衡器?

简述 Kubernetes 各模块如何与 API Server 通信?

简述 Kubernetes Scheduler 作用及实现原理?

简述 Kubernetes Scheduler 使用哪两种算法将 Pod 绑定到worker 节点?

简述 Kubernetes kubelet 的作用?

简述 Kubernetes kubelet 监控 Worker 节点资源是使用什么组件来实现的?

简述 Kubernetes 如何保证集群的安全性?

简述 Kubernetes 准入机制?

简述 Kubernetes RBAC 及其特点(优势)?

简述 Kubernetes Secret 作用?

简述 Kubernetes Secret 有哪些使用方式?

简述 Kubernetes PodSecurityPolicy 机制?

简述 Kubernetes PodSecurityPolicy 机制能实现哪些安全策略?

简述 Kubernetes 网络模型?

简述 Kubernetes CNI 模型?

简述 Kubernetes 网络策略?

简述 Kubernetes 网络策略原理?

简述 Kubernetes flflannel 的作用?

简述 Kubernetes Calico 网络组件实现原理?

简述 Kubernetes 共享存储的作用?

简述 Kubernetes 数据持久化的方式有哪些?

简述 Kubernetes PV PVC

简述 Kubernetes PV 生命周期内的阶段?

简述 Kubernetes 所支持的存储供应模式?

简述 Kubernetes CSI 模型?

简述 Kubernetes Worker 节点加入集群的过程?

简述 Kubernetes Pod 如何实现对节点的资源控制?

简述 Kubernetes Requests Limits 如何影响 Pod 的调度?

简述 Kubernetes Metric Service

简述 Kubernetes 中,如何使用 EFK 实现日志的统一管理?

简述 Kubernetes 如何进行优雅的节点关机维护?

简述 Kubernetes 集群联邦?

简述 Helm 及其优势?

简述 OpenShift 及其特性?

简述 OpenShift projects 及其作用?

简述 OpenShift 高可用的实现?

简述 OpenShift SDN 网络实现?

简述 OpenShift 角色及其作用?

简述 OpenShift 支持哪些身份验证?

简述什么是中间件?

整个面试题博主已经整理成了PDF版,有需要的小伙伴可以私信博主!

学习更多编程知识与技巧,关注与私信博主(学习)!

热爱学习和渴望进阶的小伙伴,学习路线、笔记、面试题,免费分享!

月薪30K的运维工程师面试宝典(面试必备干货)相关推荐

  1. 月薪30K的运维工程师面试宝典(含答案)

    同岗不同薪并不完全稀奇,无论是在同一家企业还是同一领域的不同企业,同一岗位的薪资待遇都会有所差距,谁都不想当底薪的那一个,所以要做就做最好的. 因此,运维想要拿高薪,冲击大厂是最直接的方法.今天就给各 ...

  2. linux面试宝典 pdf,运维工程师面试题(面试版).pdf

    运维工程师面试题(面试版) Linux 高级运维工程师笔试题 (面试版) 一.选择题(每题 2 分,共 40 分): 1.如果你的umask 设置为 022,缺省的你创建的文件的权限为( ) A. w ...

  3. 亚马逊---【运维工程师】实习生面试心得

    8月12日18:45开始------历时43分半------亚马逊运维工程师岗位电话面试 面试官感觉很腼腆,问的大都是知识块,涉及到了Cisco网络与交换,Linux系统.首先进行自我介绍,紧接着进入 ...

  4. 运维工程师的职责和必备技能

    运维工程师的职责: 1.服务器的配置,维护,监控,调优,故障排除等: 2. 大用户量下高性能服务器系统部署方案的制定及实施: 3. 保障服务器与数据库安全,检查并消除安全漏洞: 4. 数据备份.数据监 ...

  5. 运维工程师岗位-面试问答

    一.前言 最近参加运维工程师岗位的面试,笔者把自己遇到的和网友分享的一些常见的面试问答收集整理出来了,希望能对自己和对正在准备面试的同学提供一些参考. 二.面试问答 1.介绍下自己?(几乎每家公司首先 ...

  6. 【运维工程师必备技能之一】——英语基础

    提示:运维工作多年,提示想入门小白必备技能分享 文章目录 前言 一.什么是运维工程师? 二.必备基础--英语 1.为什么做运维需要英语基础 总结 前言 运维工程师(Operations)以服务为本,岗 ...

  7. 小米科技-运维工程师-面试经验

    小米面经一(运维工程师) 小米笔试好像是19笔试,在谈面试之前,我先给大家说一下小米笔试的笔试题有哪些吧.小米运维也有编程题的,刚开始我以为没有编程题,后来一座笔试,心都凉了,三道编程题呀.第一题是判 ...

  8. 总结一下:运维工程师面试的经历及面试相关问题

    2018年1月4号面试     笔者其实没有想到去面试,只是在智联上更新了一下简历,就陆陆续续接到很多猎头的邮件和电话,实在是没准备好要去面试,就推掉了几家公司的面试了.正因为笔者也很久没有面试了,笔 ...

  9. python运维工程师面试题_新浪软件测试面试题-Linux运维工程师面试真题

    新浪软件测试面试题-Linux运维工程师面试真题 作为Linux运维工程师,进入大公司是开启职业新起点的关键,今天特别分享了其在新浪面试Linux运维及云计算工程师的题目和经历,希望对广大Linux运 ...

最新文章

  1. [导入]DotNet软件开发框架
  2. winform npoi excel 样式设置
  3. wine运行bat文件
  4. jq如何获取选中option的值_【分享】如何获取变量token的值
  5. 使用HTML5创建和播放声音
  6. js 定时器_Node.js实战6:定时器,使用timer延迟执行
  7. 电脑桌面点任何文件都打开计算机,小编教你电脑开机自动打开文件夹怎么解决...
  8. 《程序员修炼之道》---- 修的是什么
  9. Java查询Mysql数据库时区问题(相差13/14)个小时
  10. 关于Excel表格的导入
  11. 燃气轮机发电系统matlab仿真模型,基于MATLAB的微型燃气轮机发电系统的建模及仿真.doc...
  12. QT Widget.cpp重新命名、报错“xxxx“ was not declared in this scope
  13. 为什么INT_MIN不是直接写成-2147483648
  14. Asp.net页面的生命周期之通俗理解
  15. 前端面试总结(vue篇)
  16. 联想笔记本电脑静音键常亮且电脑没有声音
  17. 如何插入数学的花体和空心体字母
  18. GJB 5000B二级-DEM立项论证
  19. 帝王师:刘伯温——读书笔记
  20. 柯乐义高级弹出菜单(可以有三级菜单)

热门文章

  1. 进程和线程的主要区别及进程与程序的主要区别
  2. 除了Jira、禅道还有哪些更好的敏捷开发过程管理平台?
  3. 2021-10-21分享几个贼拉好用的电脑小窍门
  4. 中国智能制造的务实落地方案
  5. 移动通信各制式、调制的速率及频谱利用率(2G-4G)
  6. 什么是奇异值分解(SVD)?
  7. CSS设置文字自动换行
  8. 暑假实训-3_Oracle数据库-3_单行函数
  9. Ajax速通(四)——axios
  10. 佳能相机快门测试软件不收费,【有图】佳能单反查快门的免费软件 EOSMSG4.0 新测好用-蜂鸟网...