十分钟速成课·电影史 有感

在来之不易的假期期间,找了一些自己感兴趣的视频在看。

然后就发现了这么个宝藏视频。

十分钟速成课·电影史

Read More

Powershell ExecutionPolicy Error

vscode打开调试模式,调试Python报错

1
2
...cannot be loaded because running scripts is disabled on 
this system. For more information, see about_Execution_Policies at...

Read More

k8s给域名创建https证书

在k8s集群给域名颁发https的免费证书,首先需要有一个域名,并且解析到k8s集群内,而我是使用了一个边缘节点来部署ingress,把域名解析到这个ingress节点。
k8s集群还需要安装好Helm,通过Helm来进行组件管理和部署。
在部署过程中如果出现问题,请参考官方的cert-manager架构图,结合日志来判断哪里出现了问题。

Read More

算法图解的代码实现

最近在看《算法图解》,书写的很棒,于是我决定把上面提到的算法依次实现一下,代码放在文章中做留存。
第一章:二分查找

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# bisect_search.py
import random
low = 0
hight = 100
numberlist = list(range(0, 100))
guess_number = random.randint(0,100)
print(guess_number)
while True:
mid = round((low+ hight) / 2)
if guess_number == numberlist[mid]:
print('Guess number is ',guess_number)
break
elif guess_number > numberlist[mid]:
low = mid
elif guess_number < numberlist[mid]:
hight = mid
else:
print('Has someting woring.')

Read More

饮品调配单

昨天晚上做了一份冬日特饮,热红酒,特地以此记录下来。

热红酒:

红酒一瓶 橙子 两个 柠檬半个 苹果 两个 肉桂 5g 丁香 5g 桂皮 5g 八角 2g (丁香没有买到,所以没加)

Read More

Linux防火墙读书笔记

尝试使用博客来做读书笔记,《Linux防火墙(第4版)》这个是一本非常经典的讲iptables的书,虽然现在最新版的Centos已经不再使用iptables,但是比如k8s等等最新的serverless服务,底层还是基于Iptables,所以这本书还是有很高的阅读价值的。

第一部分 数据包的过滤以及基本的安全措施

数据包过滤防火墙的基础概念和机制,这些概念包括网络通信的参考架构、级域网络的服务是如何被识别的、什么是数据包,以及网络上的计算机互相发送消息和消息的类型。
OSI网络模型代表了基于层次的网络框架,每一层都提供了不同于其他层的功能,总共分为了7层。
物理层、数据链路层、网络层、传输层、会话层、表示层、应用层,共七层。
OSI的物理层被传输介质所占据,它们传输比特,网络入侵检测人员通常不会关注物理层。
数据链路层在给定的物理介质上传输数据,并负责传输过程中的错误检测和恢复,物理硬件地址也定义在这一层,例如MAC地址。
网络层负责逻辑寻址和数据路由,IP协议是网络层的协议,路由器和一些交换机工作在第三层。
传输层是能够建立可靠性的重要一层,传输层的协议包含TCP和UDP等,在该层上,会话在两个端点之间建立。
第六层是表示层,主要是负责与上层的应用层进行通信,还定义了使用的加密方式等。
最后是应用层,它负责向用户或者应用程序展示数据。

Read More

漫谈我对Linux监控软件的理解

谈谈我常用的监控软件

服务器的监控,在服务器运行过程中,会采集机器目前的状态信息,显示机器的运行状态,方便我们用来看机器目前运行是否正常。
如果出现问题了,可能是哪方面的问题。如果说用来耍帅,其实也是….凑合的。
我现在日常管理的环境基本上都是Linux,发行版以Centos居多,少量的ubuntu服务器。
在主机监控方面,我常用的有htop,glances,df,du,netstat等命令,结合起来看问题,但是算监控的话,应该只有前两个。
相对来说,我觉得监控软件用来查问题,是它日常使用中更偏重的一个方面。排查问题嘛。
服务器的监控软件,比如说zabbix或者prometheus这种东西来说,更注重的是对于服务器状态的收集,趋势的判断,服务的报警,再就是触发器的自动恢复。
更多的是用来查看趋势性的东西,比如说昨天晚上凌晨突然机器负载暴增,但是大家都睡觉了,想回溯现场,肯定是看监控软件了,采集的信息越多,就更容易排查问题。
日志监控的话,毫无疑问的就是ELK套件了,这个已经是事实上的行业标准了,没什么好说的,只是这版本帝刷版本刷的实在是有些略快。
因为说是漫谈,嗯…再者这东西也就是博客,关于一些具体的东西,我建议还是去官方文档看,这里也只是一些使用上的体会和简单的指北。

Read More

rap2&YApi api文档部署

这两天一直在做这个api文档的部署,折腾了两天。
两天下来,这东西也总算搞定了,记录一下,网上有不少的部署文档,结果都是坑。
我用的是CentOS+docker+docker-compose做的部署。

项目来源:https://github.com/taomaree/docker-rap2

Read More

openresty配置request&respone输出到log

openresty配置request&respone输出到log
本机已安装openresty,并且配置正常访问。
需要openresty加载lua,然后把request和respone输出到日志里。
参考如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 添加以下内容进入openresty的server_name具体监听的conf里
lua_need_request_body on;

set $resp_body "";
body_filter_by_lua '
local resp_body = string.sub(ngx.arg[1], 1, 1000)
ngx.ctx.buffered = (ngx.ctx.buffered or "") .. resp_body
if ngx.arg[2] then
ngx.var.resp_body = ngx.ctx.buffered
end
';

set $req_header "";
set $resp_header "";
header_filter_by_lua '
local h = ngx.req.get_headers()
for k, v in pairs(h) do
ngx.var.req_header = ngx.var.req_header .. k.."="..v.." "
end
local rh = ngx.resp.get_headers()
for k, v in pairs(rh) do
ngx.var.resp_header = ngx.var.resp_header .. k.."="..v.." "
end
';

Read More

openresty_install_vts.md

nginx moudle vts

nginx vts地址为 https://github.com/BoTranVan/nginx-module-vts.git
执行以下命令clone仓库

Read More