Linux知识库总结

This article was written by baixiaozhou on 1738910928000.

集群线上稳定性维护

1月 1 号-6 月30 号每月 30号前完成一次月度集群巡检

1月 1 号-6 月30 号完成值班任务,解决线上告警问题,故障响应时间不超过30min

1月 1 号-6 月30 号无违反运维红线产生的故障

1月 1 号-6 月30 号参与 juicefs 集群监控运维

1月 1 号-6 月30 号参与 KFS 集群监控运维

1月 1 号-6 月30 号参与 KPFS 集群监控运维

1.31 号前完成中邮信源集群桶复制进程异常 GC 修复

2.30 号前完成戴尔上海集群、北京集群电池更换

产品稳定性及日常测试跟进

9 月 30 号前,接入内部集群性能测试,完成百 G 网卡集群性能测试

7 月 30 号前完成 Minimax 集群测试

部署工具升级优化,自动化开发

6.30号前完成 KPFS 自动化部署

bogun 项目白屏化

6.30 号前初步完成 bogun 白屏化项目开发。

2025 1-6 月份 OKR

  1. 集群线上稳定性维护
    1月 1 号-6 月30 号每月 30号前完成一次月度集群巡检
    1月 1 号-6 月30 号完成值班任务,解决线上告警问题,故障响应时间不超过30min
    1月 1 号-6 月30 号无违反运维红线产生的故障
    1月 1 号-6 月30 号参与 juicefs 集群监控运维
    1月 1 号-6 月30 号参与 KFS 集群监控运维

    1月 1 号-6 月30 号参与 KPFS 集群监控运维
    1.31 号前完成中邮信源集群桶复制进程异常 GC 修复
    2.30 号前完成戴尔上海集群、北京集群电池更换

  2. 部署工具升级优化,戴尔集群升级

​ 6 月 30 号前完成 KPFS 部署工具开发

​ 6 月 30 前完成戴尔集群升级

  1. bogun 项目白屏化
    6.30 号前初步完成 bogun 白屏化项目开发。

面试问题

  1. Linux 基础

    1. 基础命令的使用 (日志检查,基础命令)
      1. 如何查找一个命令或者文件的路径?(which,find,locate)
      2. Linux 权限, 755/700/644 的区别
      3. linux 文件类型
      4. 如何切换到其他用户?(su 和 sudo 的区别)
      5. linux 网卡 bond 的模式
      6. Linux 软链接(symbolic link)和硬链接(hard link)的区别?
      7. 日志查看, grep,awk,less,more,tail
      8. 简单脚本, 查看 nginx 日志中最近 10 行 200 请求的平均耗时情况,或者状态码出现的次数
    2. 网络
      1. TCP 三次握手和四次挥手
      2. 如何查看端口占用 (netstat、ss 或者 lsof)
      3. 如何测试端口连通性(telnet 或者 nc)
    3. 其他命令
      1. 查看进程状态 (ps)
      2. 如何杀死进程 (kill -9, kill ,kill -15的区别)
  2. 监控

    1. 常用的监控系统用过哪些(用过prometheus 就问一下 promql 语法, 列一下常用的)
    2. 常用的监控命令 (内存、cpu、负载、磁盘io 等)
  3. 自动化工具 ansible 等

    1. 剧本
    2. 标签
    3. 参数等
  4. 数据库

    1. mysql 主从同步原理,配置
    2. sql 语句的简单查询。group by 等
  5. K8s pod的启动过程中,k8s的各个组件是怎样互相调用的

  6. docker 基础操作,挂载,docker-compose , 深入的话问一下 docker 技术底座,cgroup,文件系统,命名空间这些(作为一个加分项)

  7. 日志采集 elk 相关的,问一下 采集链路,分片规划啥的

  8. 问题排查

    1. 系统故障如何排错,CPU 高、内存高、负载高的场景
    2. 日志查看,系统排错

    项目经验:

    这个根据实际的项目展开询问,比如有 elk 日志等的就问相关的

    开发能力,到时候就问一下基础的

招行鲁班平台对接

命令行参数设置

kingyuctl –token xxx –endpoint xxx

–accesskey –id xxx show

–accesskey –id xxx enable xxx

–accesskey –id xxx disable xxx

–bucketquota

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// 通用验证函数(兼容所有切片类型)
func ValidateSingleValue(name string) interface{} {
return func(c *cli.Context, values interface{}) error {
// 通过反射获取值数量
v := reflect.ValueOf(values)
if v.Kind() != reflect.Slice {
return fmt.Errorf("param '%s' is not a slice type", name)
}

if v.Len() > 1 {
return fmt.Errorf("param '%s' allows only one value", name)
}
return nil
}
}

// 类型特化包装器
func AsStringAction(fn interface{}) cli.ActionFunc {
return func(c *cli.Context, s []string) error {
return fn.(func(*cli.Context, interface{}) error)(c, s)
}
}

func AsIntAction(fn interface{}) cli.ActionFunc {
return func(c *cli.Context, i []int) error {
return fn.(func(*cli.Context, interface{}) error)(c, i)
}
}

// 使用示例
&cli.StringSliceFlag{
Name: "name",
Action: AsStringAction(ValidateSingleValue("name")),
},

&cli.IntSliceFlag{
Name: "count",
Action: AsIntAction(ValidateSingleValue("count")),
},


GOOS=linux GOARCH=amd64 go build -trimpath -ldflags "-s -w" -gcflags "all=-trimpath=$PWD" -o kingyuctl

本站总访问量:
本站访客数: