参考了博客:https://www.jianshu.com/p/bd7ba22cf52b
其中说到了Prometheus-operator在扫描PodMonitor以及ServiceMonitor的配置是通过monitoring.coreos.com/v1中的Prometheus来定义的,通过serviceMonitorSelector和podMonitorSelector决定哪些ServiceMonitor和PodMonitor生效。如果选择器为空({})意味着会选择所有的对象。
k8s使用helm安装Prometheus-operator
使用helm来安装以来,首先安装helm
1 | curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash |
linux查询因为oom被杀掉的进程
在linux上可以使用
1 | dmesg -T | egrep -i 'killed process' |
来查询因为oom被杀掉的应用
如果有被杀掉的应用,那么显示就会如上图
同时也可以使用journalctl -k
命令来查询系统的日志,如果有的话那么会在日志中显示完整的oom被杀掉的过程。
其中dmesg
命令是用来在Unix-like系统中显示内核的相关信息的。dmesg全称是display message (or display driver),即显示信息。实际上,dmesg命令是从内核环形缓冲区中获取数据的。当我们在Linux上排除故障时,dmesg命令会十分方便,它能很好地帮我们鉴别硬件相关的error和warning。除此之外,dmesg命令还能打印出守护进程相关的信息,已帮助我们debug。因此OOM相关的信息可以在这里看到。
clash在线转换服务,自己搭建
使用的是这个项目,https://github.com/CareyWang/sub-web
可以直接使用docker运行
1 | docker run -d -p 58080:80 --restart always --name subweb careywong/subweb:latest |
打开对应网址在指定位置输入对应的vmess协议的url或者其他协议的url即可完成转换,将转换完的url复制到clash中即可使用。
selenium 反反爬虫
1 | options = webdriver.ChromeOptions() |
使用的测试网站https://bot.sannysoft.com/
drone使用vault作为敏感信息存储
使用vault来存储secret,需要使用drone的drone-vault插件
docker-compose文件内容如下:
使用docker运行selenium的chrome webdriver
首先使用对应的docker镜像来运行chrome webderiver,这是对应项目的主页:https://github.com/SeleniumHQ/docker-selenium
使用下面的命令来运行
1 | $ docker run -d -p 4444:4444 -v /dev/shm:/dev/shm selenium/standalone-chrome:3.141.59-dubnium |
运行后,即可使用python运行selenium来连接,使用下面的代码即可
1 | from selenium import webdriver |
看到正常输出信息即可。
openssl生成https证书
有些时候需要将一些服务转为https的服务,这时候就需要https证书,但是正规的https证书是需要到CA去购买的,付费不说,申请也是需要周期的,在测试时,可以使用openssl库来生成一些临时的证书
在服务端设置了自己生成的证书,在客户端只需要手动的信任这个证书。
使用下列命令来生成临时的证书
requests发送post请求的Content-type相关
Cenots7国内环境搭建k8s
安装还是比较简单的,直接按照kubernetes官网的教程来就可以了,但是唯一比较麻烦的点在于kubernetes相关的一些镜像的下载。
这些镜像是放在gcr上的,而国内无法通过代理的方式访问gcr,只能通过替换源的方式来下载这些镜像。
1. 安装k8s的runtime
这里选择使用docker作为k8s的runtime,可以直接使用docker官方提供的一键脚本
1 | wget -qO- https://get.docker.com/ | sh |
然后启动一下docker
1 | systemctl start docker |
查看一下docker的状态
1 | systemctl status docker |
设置docker使用的cgroupdriver,修改成和kubelet的一致,使用以下命令
1 | cat <<EOF > /etc/docker/daemon.json |
如果不修改这个cgroupdriver在kubelet
启动时会出现如下报错
1 | "Failed to run kubelet" err="failed to run Kubelet: misconfiguration: kubelet cgroup driver: \"systemd\" is different from docker cgroup driver: \"cgroupfs\"" |
然后运行docker即可
1 | systemctl restart docker |
然后查看docker的运行情况
1 | systemctl status docker |
2. 安装kubelet、kubeadm、kubectl
按照官方的文档,链接