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
- theme: numix
- 其他配置:
- 配置sudoers文件:
1 2
$ sudo cat /etc/sudoers.d/10-installer %wheel ALL=(ALL) NOPASSWD: ALL
- 配置sudoers文件: