ginkgo 学习笔记
ginkgo 学习笔记参考文章(kubebuilder如何写测试用例)https://book.kubebuilder.io/cronjob-tutorial/writing-tests(ginkgo和gomega学习笔记)https://blog.gmem.cc/ginkgo-study-note
常用测试方法TDD 测试驱动开发执行test → 失败 → coding → 执行test → 成功
BDD 行为驱动开发TDD 侧重点偏向开发,通过测试用例来规范约束开发者编写出质量更高、bug更少的代码。而BDD更加侧重设计,其要求在设计测试用例时对系统进行定义,倡导使用通用的语言将系统的行为描述出来,将系统设计和测试用例结合起来,以此为驱动进行开发工作。BDD 衍生于 TDD,主要区别就是在于测试的描述上。BDD 使用一种更通俗易懂的文字来描述测试用例,更关注需求的功能,而不是实际结果。BDD 赋予的像阅读句子一样阅读测试的能力带来对测试认知上的转变,有助于我们去考虑如何更好写测试。
一句话理解 Ginkgo是测试框架 gomega 是Ginkgo首选断言库。
Ginkgo描述功能 ...
kubevirt make cluster-sync pull 镜像timeout
尝试在本地编译 kubevirt 源码,在执行 make cluster-sync 发生报错。环境信息:root@kubevirt:~/kubevirt# lsb_release -aDistributor ID: UbuntuDescription: Ubuntu 22.04 LTSRelease: 22.04Codename: jammy
操作记录12345678910111213141516171819202122232425262728293031323334353637# pull kubevirtgit clone git@github.com:kubevirt/kubevirt.git# 切换taggit checkout v1.1.1# 使用kind创建k8sexport KUBEVIRT_PROVIDER=kind-1.27make cluster-up# 编译源码并同步到k8smake cluster-sync......INFO: Repository fedora_with_test_tooling instanti ...
每天学习一个命令: mount 挂载文件系统
mount 挂载文件系统。它提供一个可以访问整个文件系统的目录。
举例下面这个例子是挂载 /dev/sdd1 分区到 /data 目录
123456789101112131415161718192021222324252627282930313233343536root@compute:~# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 931.5G 0 disk└─sda1 8:1 0 931.5G 0 part /sdb 8:16 0 931.5G 0 disk└─bcache0 252:0 0 931.5G 0 disk /var/lib/docker/volumes/nova_compute/_data/mnt/b90ee29525aa30b2667340bf769ea8 ...
每天学习一个命令: vmstat 统计系统资源使用
vmstat 会报告有关 processes, memory, paging, block IO,traps, disks 和 cpu 活动信息。生成的第一个报告给出了自上次重新启动依赖的平均值。优势是可以按周期或实时采集上述信息。
举例1234root@compute:~# vmstatprocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 759052 1845192 99157744 0 0 0 50 0 0 2 1 96 1 0
解释输出信息procs:
r: 正在运行的或者等待CPU运行的进程数。当这个值长时间超过了CPU个数,就会出现CPU瓶颈。一般负载大于3就算比较高,大于5是高,大于10系统就不正常。
b: 等待 I/O 完成的阻塞的进 ...
每天学习一个命令: top 显示Linux任务
top 命令提供了正在运行的linux系统的动态实时的监控信息。常用与排查系统性能问题。
top常用命令命令格式:top [-] [d] [p] [q] [c] [C] [S] [n]参数说明:d: 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。 top -d 1 ,则top每隔1秒刷新显示一次p: 通过指定监控进程ID来仅仅监控某个进程的状态。top -p 16091 只看某一个进程的c: 显示整个命令行而不只是显示命令名
在top命令的显示窗口,我们还可以输入以下字母,进行一些交互:h或?: 显示帮助画面,给出一些简短的命令总结说明。q: 退出程序。M: 根据驻留内存大小进行排序。这个要记住P: 根据CPU使用百分比大小进行排序。这个要记住T: 根据时间/累计时间进行排序。
举例1top
top 命令区分为两个部分,上面为统计部分,下面为进程信息。
系统统计信息第一行top - 11:11:40 up 4 days, 20:30, 2 users, load average: 0.89, 0.96, 3.77
系统时间,已运行天数,登 ...
搭建Miniflux
参考文章Installation InstructionsCertbot Instructions | Certbot
之前使用 fresh RSS自建源,发现白宦成 - 独立开发者记录的rss源。无法订阅后台报xml解析的错误。网上搜索无果后,就有了换平台的想法。偶然看到这篇文章The Best Self-Hosted RSS Feed Readers,对目前自建rss托管平台进行对比。最终miniflux以8.5的高分胜出。我最喜欢的界面简洁,以下是我的安装记录。
我已有的一台vps,域名都已经注册好了。使用场景是 通过nginx反向代理到miniflux,而且必须使用https,毕竟自己的平台安全还是要有的。
以下是我的搭建步骤:
安装miniflux1mkdir miniflux && cd miniflux
vim docker-compose.yml
1234567891011121314151617181920212223242526272829version: '3.4'services: miniflux: image ...
Kubernetes上搭建Jenkins
k8s上搭建Jenkins一、搭建k8s集群环境使用kubeadm工具进行kubernetes集群安装
二、安装helm插件官方文档
三、安装Jenkins官方文档
12345678910111213141516171819202122232425262728293031# 创建namespacekubectl create namespace jenkins# 添加jenkins helm源helm repo add jenkinsci https://charts.jenkins.iohelm repo updatehelm search repo jenkinsci# 创建jenkins pv 修改路径使用nfs共享存储 /data/jenkins# https://raw.githubusercontent.com/installing-jenkins-on-kubernetes/jenkins-volume.yamlkubectl apply -f jenkins-volume.yamlsudo chown -R 1000:1000 /data/jenkins# 创建serv ...
Win10+WSL2 开发环境记录
WSL2
WSL2
Windows10
安装wsl2
常用软件
Ubuntu 20.04
安装snap
FAQ
clipboard: error invoking win32yank.exe
chrome 解锁10080端口
wsl占用内存
在换工作期间,学习了PegasusWang 玩转vim。喜欢上了vim插件和快捷键。这里记录我在Windows+wsl2(windows subsystem for linux)开发环境的搭建过程,方便我重新构建环境。(主要是我怕忘)
Windows10安装wsl2官方文档
以下是摘录出来的内容,在Windows终端上以管理员执行即可。
1234567891011# install wslwsl --install# enable wsl2dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart# download wsl2 kernel updatehttps://wslstorestorage.blob.core.w ...
kolla镜像构建
kolla 简介
kolla是怎么实现生产级别的部署工具?
kolla build images
kolla镜像划分
kolla镜像分层
镜像功能划分
kolla构建镜像
准备环境
kolla-build.conf配置
构建kolla基础镜像base
修改base镜像debian apt源 pip源
构建kolla镜像
kolla-build 常用参数说明
指定Nova源码构建镜像
参考
kolla 简介
Kolla’s mission is to provide production-ready containers and deployment tools for operating OpenStack clouds.
Kolla 的使命是为运营 OpenStack 云提供生产就绪的容器和部署工具。
kolla是怎么实现生产级别的部署工具?kolla使用了两种主要的技术:ansible自动化工具和docker容器。 通常说的kolla指的的是kolla,kolla-ansible两个项目。kolla 主要负责OpenStack的docker镜像的构 ...
vim 基础操作学习记录
vim 操作分屏: :vs 横分屏 :sp 竖分屏
Visual 可视模式Normal 模式下使用v进入visual选择
使用 shirt+v选择行
使用 ctrl+v 进行快选择
编辑模式下(a,i,o)快速纠错Ctrl+h 删除上一个字符,Ctrl+w 删除上一个单词, Ctrl+u删除当前行
Ctrl+a 移动到开头 Ctrl+e 移动到末尾 Ctrl+b 前移 Ctrl+f 后移
快速切换insert和normal模式Esc 按起来不方便
可以使用Ctrl+c 代替Esc(可能会中断某些插件不推荐)或者Ctrl+[
gi 快速跳转到最后一次编辑的地方并进入插入模式
vim快速移动h,j,k,l 左下上右
w/W 移动到下一个单词开头。 e/E 下一个单次末尾。
b/B 回到上一个单次开头。backword
行间搜索移动同一行快速移动的方式搜索一个字符并且移动到该字符
使用f{char} 可以移动到char字符开头,t移动到char的前一个字符
如果第一次没搜到,可以使用分号;下一个 逗号,上一个 继续搜索 改行
大写F 翻过来搜索前面的字符
...