系列展开

当前想到可以展开的内容

jenkins

jenkins 是什么,充当了一个什么角色(粘合剂/流水线), 为什么是 jenkins 而不是其他的工具, 优缺点是什么,有没有其他的替代产品,怎么使用

  • jenkins 部署的几种方式

    • docker 直接拉起,受 docker 服务影响, 不好升级更新
    • 下载 war 包直接拉起, 参数需要自己指定, 像日志文件之类
    • rpm 安装方式, 也是 war 包展开, 但自带了 sysconfig 下的配置文件和 service 文件, 方便管理
  • jenkinsfile 的可以有几种语法,分别适用哪种场景; 举例说明

    • DSL,groovy
    • pipeline
  • jenkinsfile 的构成,分为哪几段,以及要怎么完成这几部分内容

    • properties,可以通过 jenkins 界面填写完成界面后,直接生成
    • node 部分,完成具体内容
    • try/catch 内容,用来获取异常发送邮件
    • node 中包含其他 node
    • 触发远端 jenkins 执行 job
    • 变量传递给远端机器怎么实现
    • jenkinsfile 调试,可以直接使用命令行界面来实现
  • 复杂场景下使用

    • 配合相应工具,完成环境部署闭环,包括物理机重装/打包/部署/打补丁/导镜像/升级/跑测试用例
    • 根据传递的参数,打包相应的 rpm 包和 docker image
    • 使用分支管理 job(master/dev)
  • 简单场景下使用

    • 定时任务触发: 代码扫描/打包等
    • 自动触发: 代码提交后检测代码 pep8 合规性
  • 配套周边

    • jenkins 对接服务器作为 slave,虚拟机/物理机,资源充足,工具齐全
    • jenkins 对接多个 docker 作为 slave,插件(yet another docker),不需要常备的资源,由需要就自动生成,没有就删除
    • jenkins 对接 k8s 作为 slave,在 docker 的基础上扩展, pod 的视角满足 docker 难以满足的场景,podtemplate 的使用
    • jenkins 用户管理,各种方式的优缺点,unix(方便添加,但不好迁移)
    • jenkins 的 python 库, 可以直接使用库来管理 jenkins
  • 待了解内容

    • 测试用例的报告怎么生成的, 使用的插件怎么配合代码, 测试用例需要生成什么内容
    • importlib 实现, 提取公用内容作为库文件导入
  • 其他

    • 缺点:
      • 不管哪种方式, jenkins 的安全问题是一个比较大的缺点
      • 更新时, 各个插件的兼容性问题不好处理
    • 优点:
      • 插件众多, 社区活跃, 出现问题能直接找到的概率比较大
      • 界面方式管理, 便于管理

openstack

openstack中的网络

  • 各个角色的网络平面

    • ctl 节点
    • net 节点
    • cmp 节点
  • openstack 中使用的网络

    • 网络设备
      • linux bridge
      • iptables
      • openvswitch
      • veth peer
      • ovs bridge
      • ipvs
    • 概念
      • vlan
      • vxlan
      • gre
      • flow(流表)
  • openstack 中各种不同的网络结构

    • 标准环境
    • 12inN 环境
    • allinone 环境
    • 超融合环境

openstack中的高可用实现

  • keepalived + haproxy
  • haproxy 展开说明
  • keepalived 展开说明
  • lvs 的使用场景,在 openstack 中使用

openstack中的中间件

  • mysql 组成 galera 集群, 配置的模式为主主模式, 怎么恢复
  • rabbitmq 集群, 设置的集群模式及 policy(连个 ram 节点,一个 disk 节点)
  • redis 集群, 6 节点集群(每个控制节点拉起两个 redis 服务,监听不同端口)
  • mongodb 集群

一些功能实现

  • ironic 创建裸机的实现及前置条件
  • 云主机怎么出公网的
  • rabbitmq在 openstack 集群的角色及怎么使用的
  • redis 在 openstack 集群中的作用
  • galera 集群的恢复

ops

  • ipmi
  • kickstart
  • rpmbuild
  • makeisofs
  • yum comp.gz
  • docker 脚本怎样实现不同用户执行最终还是以指定用户启动服务
  • strace/ltrace/ptrace的使用

ceph

ceph 是什么, 在 openstack 中的作用和角色

  • 各种 ceph 角色的区分
    • ceph-mon
    • ceph-osd
    • ceph-mgr

kolla的使用

这里需要细致展开,结合playbook部署云平台来做

  • 功能和作用
    • kolla 制作 docker 镜像
    • kolla-ansible 实现,完成一整套容器化 openstack 的部署
  • kolla 打包 docker 镜像的实现方式
  • kolla-ansible 实现部署 openstack
    • 对比现有方式, 差异在哪里, 怎样转换的(局点参数变成了变量文件中的内容)

加密

  • 证书

    • 证书的生成, 使用 openssl
    • 区分各种不同格式的证书 cert/pem/pfx/...
    • 证书的签发
  • ssl是什么

  • 对称加密和非对称加密

  • http和https的区别

docker系列

  • docker iptables的实现
    • iptables 的一些概念
    • 自定义链的使用
  • docker network的实现
    • linux bridge的使用, 关联内容: ovs 网桥
  • docker-compose的使用
  • docker-swarm的使用

kubernetes 系列

  • ipvs 的使用

碰到过的问题

记录日常出现过的问题

  • mysql 中包含 json 格式 value 的更新和新增
  • vim 打开 windows 编辑的 txt 文件乱码问题
  • 长连接和短链接的差别是什么
  • 三次握手,四次挥手的过程及各个关键参数
  • jenkins 对接 kubernetes, 配置对接
  • manjaro 系统安装
    • 软件安装: google-chrome/pycharm/tmux/draw.io/wd-dict/lnav/remmina/inxi/onedrive/eog/albert/okular/xmind-2020/picgo/typora/vscode/flameshot/yakuake/virtualbox/neteasemusic/uget/aria2c/vlc/wps
    • 输入法配置: fcitx5, 修改成百度词库,可以存储词库
    • 翻墙配置: trojan/clash, konsole配合privoxy服务一起使用, google-chrome 使用proxyomega插件
    • 目录整理: 家目录下去掉多余目录, 新建自己使用目录
    • tmux.conf/.vimrc/.bashrc
    • 字体安装: https://www.jianshu.com/p/26fa3a803439
    • system config
      • theme: numix
        • icons: McMojave-circle
        • application style: breeze
        • window decoration: oxygen)
        • splash screen: BeautifulTreeAnimation
      • startup and shutdown
        • login screen(SDDM): Sugar Candy(Marian Arlt)
      • kwallet: disable
    • 其他配置:
      • 配置sudoers文件:
        1
        2
        
        $ sudo cat /etc/sudoers.d/10-installer
        %wheel  ALL=(ALL) NOPASSWD: ALL
        
updatedupdated2022-03-152022-03-15