有什么好看的电影的呢?
近期国内引进了一些动漫电影,然而博主还没有去看( ̄▽ ̄)*,外面阳性太多,遂先看看网上的风评如何,兴趣使然,此处就用scrapy来收集下豆瓣上某电影的短评
初始化scrapy项目初始化项目12345678910111213141516# 先安装下依赖包(venv) xadocker@xadocker-virtual-machine:~/PycharmProjects/untitled1$ pip3 install bs4 scrapy# 使用scrapy创建一个采集项目douban(venv) xadocker@xadocker-virtual-machine:~/PycharmProjects/untitled1$ scrapt startproject douban(venv) xadocker@xadocker-virtual-machine:~/PycharmProjects/untitled1$ lltotal 20drwxrwxr-x 5 xadocker xadocker 4096 12月 14 15:44 ./drwxrwxr-x 4 xadocker xadoc ...
jenkins的初始化groovy脚本
最近浏览jenkins官方文档时,看到一个有意思的功能,它就是jenkins在启动时可以加载groovy脚本来做初始化工作(●’◡’●),有点意思
对于启动groovy脚本需要放置在jenkins的家录中的init.groovy.d中,jenkins启动时回读取该目录内所有groovy脚本并运行
12[root@jenkins-manager jenkins]# mkdir /var/lib/jenkins/init.groovy.d[root@jenkins-manager jenkins]# chown jenkins.jenkins -R /var/lib/jenkins/init.groovy.d
使用启动groovy脚本重置管理员密码安装jenkins后第一次打开会提示输入初始密码,此处使用启动脚本提前预设密码来跳过
重置免密多半出现于临时接手其他人项目,他人提供密码错误或者未提供,此时就需要重置下了,以下步骤也可以先在自建的jenkins实例中,jenkins控制台(脚本命令行)执行查看效果
1.获取当前所有用户
123456789import hudson.sec ...
收手吧阿祖!
最近一大早收到微信告警,大早上的,阿祖就干活了,这么勤奋的吗?
登上服务器查看了下进程都是php-fpm占用高,想到有可能是有人在刷,所以去查看了下访问日志,发现有大量的这种请求:
123456789101112131415161718192021222324252627282930313233192.30.89.51 - - [26/Nov/2022:22:22:31 +2700] "POST /xmlrpc.php HTTP/1.1" 405 415 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36"64.42.179.43 - - [26/Nov/2022:22:31:23 +2700] "POST /xmlrpc.php HTTP/1.1" 405 415 "-" "Mo ...
用OSS提供纯静态服务
最近某个群里有人在讨论:前端直接部署在oss中是否可行?这种方式博主2年前实现过一次,过程也挺简单。静态网站是指所有的网页都由静态内容构成,包括客户端执行的脚本(例如JavaScript)。您可以通过静态网站托管功能将您的静态网站托管到OSS的存储空间(Bucket),并使用Bucket的访问域名访问这个网站。对于前后端完全分离项目很适合这种方式部署,而且若是只有静态服务,也省了服务器费用
样例说明这里以阿里OSS为示例讲解,不过有些注意事项:
默认首页是您通过浏览器访问静态网站域名时,OSS返回的网站首页。您为默认首页指定的文件必须是Bucket根目录下允许被匿名访问的文件。如果您还开通了子目录首页,则子目录下也应存在此文件。
默认404页是您通过浏览器访问Bucket内文件出现404错误时,OSS返回的错误页面。您为默认404页指定的文件必须是Bucket根目录下允许被匿名访问的文件。
配置示例说明
如果该Bucket绑定了自定义域名example.com,且配置的静态网站默认首页为index.html,默认404页为error.html。则通过自定义域名访问静态 ...
x86平台上怎么制作ARM平台镜像?
最近在整ARM平台上的中间件,以往接触的都是因特尔x86的服务器,在这里记录下镜像制作,制作mysql镜像示例,因为mysql官方没有5.x的arm64/v8镜像
参考官方仓库构建方式改造,此处已ubuntu为基础系统镜像,目前需要解决x86平台如何构建ARM平台镜像?一番搜索后发现可以用buildx这个工具镜像构建,官方链接:https://github.com/docker/buildx,省去了去买arm平台服务器😁
制作镜像流程:
安装buildx插件
用ubuntu镜像编译mysql5.7.x源码得到二进制文件
将编译得到mysql5.7.x二进制文件再用新基础ubuntu镜像制作最终mysql镜像
调整环境要想使用buildx模拟多平台构建,mac/arm CPU平台似乎默认就有该功能(docker server需要开启experimental),而x86需要满足以下条件:
docker版本>=19.03
Linux内核版本>=4.8
binfmt-support >= 2.1.7
dockers服务端开启experime ...
Gitea轻量级仓库的选择
近期前前前前前前前同事M先森找博主问了个问题:gitea这个仓库怎么配置webhook?老实说这东西2019年曾使用过,当时是由土豪P整的cicd组合(gitea+drone),一个字:轻量~,后来被博主干掉了,好像pass的原因是因为这个仓库和cicd流水线的权限管理上的不足,具体啥来者博主自己都忘了。。。催的紧,留个篇章记录下
用helm快速安装一个体验下helm安装123[root@k8s-master gitea]# curl -fsSL -o get_helm.sh [root@k8s-master gitea]# https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3[root@k8s-master gitea]# chmod 700 get_helm.sh[root@k8s-master gitea]# ./get_helm.sh
helm部署gitea1234567891011121314151617181920212223242526272829303132333435363738 ...
k8s中使用mysql主从集群
RDS太贵了,除了生产用到,其他一律自建。。。本来博主自建是在ecs上进行,用二进制创建也很快,但是后面领导说要在k8s中创建,且以后缩小公用范围,将范围缩减到部门,让部门的成本中心自行买单
作为中间件平台的k8s集群,同时还得考虑集群外访问方式,不过可比其他那些有注册模式得中间件好多了,看下需求:
持久化数据落盘
部署模式:单实例模式,一主多从
访问方式:集群内/外都可访问
数据监控:mysqld_exporter
读写分离:要么程序上处理读写逻辑,或者用中间件
多平台架构镜像:x86和arm,都用ubuntu/debian系统镜像
standalone单实例此处就不i赘述,很久以前写过类似的样例,此篇只描述主从结构
x86平台架构镜像制作mysql官方镜像:https://hub.docker.com/\_/mysql,根据这个debian镜像坐下改造,让它初始化时创建以下用户和授权:
replication:用于主从复制同步
monitor:用于mysqld_exporter采集
xbk:用xbk工具备份还原(为新slave节点 ...
建设一个网络隧道?
近期总有些群友问哪个TZ好用,有没有免费的啥的,同问。。。用过一些但是费用稍贵,且时间久了质量下降
看了下服务器价格对比下,博主觉得似乎可以搞搞。。。文章关键词读者自行转顺:npvonepo,npv,NPVnepO,怕被feng
Terraform创建服务器terraform配置123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596xadocker@xadocker-virtual-machine:~/workdir/datadir/terraform/tf-npvonepo$ cat providers.tf terraform { required_providers { alicloud = { #source = &q ...
Gitlab该如何升级?
各位用Gitlab的小伙伴们,你们的Gitlab升级了吗?还是一直未升级过呢?又或者是已经很久没升级了?仔细想想博主第一升级gitlab的时候是2019年中之时,当时的需求是将7.x升级12.x。当时公司项目不是很多,人员和用户组也是很少,所以便没有进行升级,而是进行仓库迁移,用户权限全部新建。而且我们当时还有gitea这个仓库,也一并迁移仓库到了gitlab。当时迁移就是用gitlab控制台中的仓库导入功能即可,没啥技术含量~
近期博主又遇到升级需求,特此记录下。此时就不是gitlab导入远程仓库这么简单了,因为这种方式只适用于项目工程少的场景。目前的场景项目工程和用户、组都很庞大,只能一步一步走升级流程了。目前的版本依旧是7.x,目标升级到15.x,且运行环境从ecs转为k8s中。。。
官方升级文档:https://docs.gitlab.com/ee/update/,从官方的升级建议来看,博主可能需要升级20+个版本的`(*>﹏<*)′,而且官方镜像只有8.x开始
7.x -> 8.0.5 -> 8.12.0 -> 8.17.7 -> 9 ...
多集群多prometheus实例下的管理
前言
对于多个技术部门,多个项目系统的背景,不仅要满足权限管理的隔离,又要资源隔离,但同时还得追求资源共用,毕竟都是要钱的玩意。。。这种场景是不是有点矛盾?目前博主手上掌控着不到20个k8s集群,总资源达9600c/19T,由于国有化原因一直没有上prometheus上(很多其他云原生的东西都没有上),我也不知道他们是怎么过来的╮(╯▽╰)╭。最近听老大说终于终于终于审批过了测试环境安装prometheus的申请,整起(☆▽☆)
方案需求:
管理上需要满足各个项目组的隔离,各项目组只能看自己负责的系统应用(我们这边是用ns隔离)
grafana需要开发项目权限编辑,减轻运维负担
尽可能节省资源
思考了下可以先这样改造
第一点:一个prometheus实例对应一个tsdb,不能怼多个,看来需要多个prometheus实例,每个集群一个总控prometheus监控当前集群组件+各ns一个prometheus实例监控项目组
第二点:我既然给项目组权限编辑,就得给他们edit角色,这个角色可以随意查看已接入得数据源数据,对于grafana博主开始以为这玩意能有数据 ...