文章目录
- 第一阶段
- 平常怎么处理故障,思路是什么样的
- 公网和私网分类以及范围,本机地址,网络地址,广播地址
- 交换机的工作原理
- ICMP是什么干什么用的,它有哪些命令
- TCP和UDP协议的区别
- tcp有哪些控制位,分别是什么意思
- 你是用过哪些Linux命令
- Linux 系统安全优化与内核优化
- 经常使用shell脚本做什么
- 软连接与硬链接的区别
- 怎么查看文件
- IOS七层模型
- 三次握手与四次挥手
- lvm 逻辑卷创建过程
- 磁盘配额
- raid 磁盘阵列
- 文本三剑客
- 防火墙iptables与fireward
- Linux系统资源查询命令
- 日志的八大等级
- Linux 引导过程
- shell 函数的创建方法
- 免交互的使用
- 你是用过哪些shell脚本
- Tcpdump抓包使用工具
- CPU过高怎么解决
- 如何杀死僵尸进程
- 什么是中间件?什么是 JDK
- 什么是CDN
- 第二阶段
- http
- http 的版本
- http 响应状态码
- Nginx
- Nginx 的常用模块有哪些?
- Nginx 的 session 不同步怎么办
- nginx的优化
- Nginx如何实现动静分离
- Nginx反向代理有哪些方式实现,有什么区别 ?如何配置
- Nginx 负载均衡调度算法有哪些?
- tomcat知识点
- tomcat 三个端口号
- tomcat 优化
- LVS
- LVS、Nginx、Haproxy 有什么区别?
- 简述LVS三种模式 以及工作中使用哪种模式
- keepalived
- 脑裂的原因,如何解决
- 简述 keepalived 如何通过健康检查来实现高可用?
- mysql
- sql 语句
- 克隆表
- 清空表数据
- Mysql 六大约束
- 遗忘 root 密码的解决方法
- 索引的作用
- 索引的创建
- mysql 事务的 ACID 特性与四种隔离
- 死锁的产生原因与解决方法
- mysql 主从复制原理
- 主从复制的部署过程
- MHA 高可用
- MHA 部署过程
- MMM 高可用
- mysql 数据库的优化
- Mysql 数据库 cpu 飙升到 500% 怎么处理
- Mysql 数据库备份
- redis
- redis 为什么读写速度那么快?
- redis 常用的数据结构
- redis 持久化
- redis 哨兵
- redis cluster 集群
- redis 优化
- 缓存和数据库 双写一致性问题
- 缓存三大击穿问题
- ELK
- ELK 的工作原理
- ELK 的插件有哪些
- zabbix
- Zabbix 组件 及 工作原理
- zabbix 如何自定监控项
- zabbix 你都监控哪些参数
- kafka
- Zookeeper 是什么?
- Zookeeper 选举机制
- 消息队列的作用
- 消息队列的模式
- kafka 架构
- kafka ACK应答机制保证数据的可靠性
- Ceph
- 数据存储类型
- Ceph 架构 (从下往上看)
- Ceph 组件
- Ceph 的存储过程
- 第三阶段
- Docker
- docker 是什么?
- docker 容器与 虚拟机的区别?
- docker 三大核心概念
- 6大namespace 命名空间是什么?
- docker的镜像和容器管理命令?
- docker run 的运行过程
- cgroup 资源限制
- docker 网络模式
- dockerfile 有哪些指令
- dockerfile 如何缩小构建镜像的体积
- docker-compose 是什么?
- docker-compose.yml 配置讲解
- Harbor 私有仓库管理
- consul 服务自动发现
- https 的工作流程
- 数据库是否放在容器中运行?为什么?
- docker容器的重启策略?
- Ansible
- Ansible 概念
- 模块
- K8S
- k8s 有哪些组件
- k8s 组件的作用
- pod 的创建过程
- K8s 资源对象
- K8S 二进制搭建
- K8S kubeadm搭建
- kubeadm 部署的K8S集群更新证书
- K8S 3种网络
- K8S 3种接口
- flannel 3种模式
- flannel UDP模式工作原理
- flannel VXLAN模式工作原理
- Calico IPIP模式工作原理
- Calico BGP模式工作原理(本质就是通过路由表来维护每个 Pod 的通信)
- flannel 和 calico 区别?
- 陈述式资源管理
- service 的 4 种类型:
- service 的端口:
- 如何获取资源配置清单文件模板(yaml配置文件)
- 一个pod能包含几个容器?
- pause容器的作用?
- Pod 的 3 种类型:
- Pod 的 3 种容器:
- Pod 的 3 种镜像拉取策略: spec.containers.imagePullPolicy
- Pod 的 3 种容器重启策略: spec.restartPolicy
- Pod 容器的资源限制
- Pod 容器的 3 种探针(健康检查)
- 探针的 3 种探测方式
- 探针参数:
- Pod 应用容器生命周期的启动动作和退出动作
- K8S是通过 List-Watch 机制实现每个组件的协作
- scheduler 的调度策略
- Pod 调度到指定的 Node节点
- 标签的管理操作
- 亲和性
- 如何判断是否在同一个拓扑域?
- 亲和性的策略
- 污点 taint
- 容忍 tolerations
- 不可调度
- 不可调度 + 驱逐
- Pod 的启动过程:
- Pod 生命周期的 5 种状态
- K8S 中的排障手段
- K8S 的 存储卷 volumes
- PV PVC
- 创建 PV 的方式(PV的类型):
- PV 的 4 种状态:
- 创建使用 静态PV
- 创建使用 动态PV
- K8S 中的排障手段
- K8S 的 存储卷 volumes
- PV PVC
- 创建 PV 的方式(PV的类型):
- PV 的 4 种状态:
- 创建使用 静态PV
- 创建使用 动态PV
第一阶段
平常怎么处理故障,思路是什么样的
看故障现象根据经验就知道原因;
第一次碰到,先定位问题,故障不一定是我的问题,开发、测试、硬件、网络,也可能我的问题;如果问题在我,根据错误提示信息、系统日志、错误日志去分析问题。
系统问题可以用top看cpu、df看磁盘、uptime看负载、ps看进程、sar看流量。
应用程序就是看日志提示解决问题,如果是开发问题,可以通过邮件等方式,描述故障现象和定位过程发送给开发对接人和我的领导。
如果是网络问题,路由、交换机可以找网络工程师,可以抓包tcpdump;
如果是硬件问题,可以找厂商。
公网和私网分类以及范围,本机地址,网络地址,广播地址
公网
A:1.0.0.1~126.255.255.254/18
B:128.0.0.1~191.255.255.254/16
C:192.0.0.1~223.255.255.254/24
D:224.0.0.1~239.255.255.254
E:240.0.0.1~255.255.255.254
私网
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
其他
169.254.0.0~169.254.255.255 DHCP失效时分配的网址
127开头的都是本机 127.255.255.255除外 它是广播地址
224.0.0.18 VRRP协议交换机侦听此地址
交换机的工作原理
1)交换机开机时MAC地址表没有任何记录
2)源主机通过交换机发送数据帧给目标主机,交换机学习数据帧中的源MAC和对应接口标识并记录到MAC地址表中
3)如果交换机的MAC地址没有目的MAC地址所对应的接口记录,则会进行广播泛洪
4)只有拥有对应的MAC地址的主机才会进行回应响应
5)交换机会从目的主机回复的消息中学习到MAC地址和对应的接口标识并记录到MAC地址表中,之后两台主机可以通过交换机的MAC地址表进行单播通信
交换机通过MAC地址表的记录实现数据帧的转发,MAC地址表默认老化时间300S
ICMP是什么干什么用的,它有哪些命令
是一个错误侦测与回馈机制,发送错误和控制消息来探测节点的网络连通性
ping
pathping 例子:pathping www.baidu.com 跟踪数据包路径,计算机丢包情况
traceroute
TCP和UDP协议的区别
TCP UDP
可靠性 可靠 不可靠
连接性 面向连接 无连接
报文 面向字节流 面向报文(保留报文的边界)
效率 传输效率低 传输效率高
双工性 全双工 一对一、一对多、多对一、多对多
流量控制 有(滑动窗口) 无
拥塞控制 有(慢开始、拥塞避免、快重传、快恢复) 无
tcp有哪些控制位,分别是什么意思
URG 紧急位
ACK 确认位
PSH 急迫位
RST 重置位
SYN 同步(连接)位
FIN 断开位
你是用过哪些Linux命令
性能监控方面: free 查看内存 top 动态监控cpu 负载 等 df 查看磁盘使用 ps 查看进程 iostat 查看io
用户方面:useradd 创建用户 chmod 修改权限 chown 设置归属
查询方面: sed grep awk cat more less which whereis
Linux 系统安全优化与内核优化
安全优化: 设置防火墙规则 限制root 用户远程登录 设置历史命令条目及登录超时 chattr锁定文件 时间同步 配置yum更新源
内核系统优化:
sysctl.conf 文件中 net.ipv4.ip_forward 设置路由转发 net.ipv4.tcp tw recycle = 1 开启time-wait 快速回收 net.ipv4.ip_local_port_range = 1024 65000 设置外向连接端口范围/etc/security/limits.conf nofile 设置文件最大打开数 nproc 设置最大进程数 rss 设置最大常驻集大小 menlock 锁定内存地址空间
经常使用shell脚本做什么
使用shell脚本进行重复性的操作
一键部署公司的业务服务
日志的监控和分割 备份 配置crontab -e 进行计划性任务
巡检
软连接与硬链接的区别
硬链接与源文件共享inode ,也就是说,他们都指向同一份数据,占用的磁盘空间也相同,删除一共硬链接并不影响源文件内容和其他硬链接,相当于给文件起了一共别名
软连接与源文件不仅inode不同,源文件删除了。软连接也就失效了,类似于一个快捷方式、
怎么查看文件
find 查找文件
locate 查找系统中已经建立的文件索引库
whereis 可以查找指定命令的二进制文件、源代码文件
which 查找命令所在的目录
IOS七层模型
- 物理层
- 数据链路层
- 网络层
- 传输层
- 会话层
- 表示层
- 应用层
三次握手与四次挥手
三次握手 : pc1 向 pc2 发送一个 SYN 报文,pc 回复一个 SYN + ACK 报文 pc1 再次发送一个ACK报文
四次挥手: pc1发送一个FIN / ACK 报文给pc2 (此时pc1客户端进入等待断开连接状态)
pc2接收到pc1发送的请求断开报文之后回复一个ACK报文进行确认
pc2紧接着发送一个FIN / ACK 报文给pc1(此时pc2客户端进入等待断开连接状态)
pc1收到后发送ACK报文进行确认 (此时pc1进入时间等待状态 60秒后默认结束)
lvm 逻辑卷创建过程
- 创建一个物理卷: pvcreate 设备名(可创建多个)
- 创建卷组 : vgcreate 卷组名 物理卷名
- 创建逻辑卷: lvcreate -L 容量大小 -n 逻辑卷名 卷组名
- 扩展卷组:先扩展物理卷 在使用 vgextend 卷组名 设备
- 扩展逻辑卷 : 随后使用 lvextend -L + 容量大小 /dev/卷组名/逻辑卷名
- 格式化 挂载使用·
磁盘配额
- 首先检查是否安装 xfsprogs 和 xfs_quota
- 以支持配额的方式进行挂载文件系统 mount -o usrquota,grpquota /dev/vgname1/lvname1 /opt 或者永久挂载/ dev / vgname1 / lvname1 / opt xfs defaults,usrquota, grpquota 0
- 对用户和组账号进行配额限制 xfs_quota -x -c 'limit -u bsoft-80M bhard-100M isoft=40 ihard=50 lisi’ /opt/
- 验证用户在限制目录下的使用
raid 磁盘阵列
raid 0 条带化存储 传输速率达到单个硬盘的N 倍 但它没有数据冗余
raid 1 镜像存储 实现数据冗余 但利用率为N/2
raid 5 N>=3 块盘组成 利用率 (N-1)/N (其中有一块是用来校验的)
raid 6 N>=4 块盘组成 (N-2)/ N (有两块盘用来校验)
raid 1 0 先做镜像 再做条带 利用率 N/2
文本三剑客
grep :
-i 不区分大小写
-v 取反
-n 显示行号
-r 递归过滤文件夹中的所有内容
-w 只显示全部字符的列
-l 列出文件内容符合指定的样式文件名称
sed :
-i 替换:s 对指定的内容进行替换
d 删除选定的行
a 在当前行的下面增加一行内容
i 在当前行的上面增加一行内容
c 替换选定行为指定内容
y 字符转换 转换前后的字符必须长度相同
awk:
FS 列分隔符
NF 当前处理行的字段个数
NR 当前处理行的序号
RS 行分隔符
防火墙iptables与fireward
四表:raw 表 mangle