Jenkins升级插件引发的血案
我们公司用的jenkins是老版本, 不知道什么时候谁点了升级插件, 但是没有重启jenkins, 一直用者好好的, 突然有一天有个倒霉蛋重启了jenkins,然后就报错了.
搜索了一圈的解决方案:关闭认证, 配置文件在.jenkins/config.xml目录中, 需要先切换到jenkins用户, 先备份 cp .jenkins/config.xml .jenkins/config.xml.bak 然后再修改
将 authorizationStrategy 这一块改为
123<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy"> <denyAnonymousReadAccess>false</denyAnonymousReadAccess></authorizationStrategy>
将 securityRealm 块 删除, 保存后重启jenkins, 日志里会打印账号密码, ...
记录一次生产环境数据库迁移
迁移要求不要清理目标数据
迁移是老环境迁移到新环境, 新环境之前有过使用记录了, 要求不删除现有的数据, 将老数据导入。有以下几个问题:
导出的sql里面不能带drop语句,所以在mysqldump的时候需要加上--skip-add-drop-table参数
主键或唯一键重复的问题(mysqldump默认会在一个insert语句中插入多条数据,如果insert失败, 那么整条语句执行失败, 就会导致正常的数据插不进,需要增加参数 --skip-extended-insert, 让一条insert只插入一条数据)
sql执行失败了需要继续, 因为现有数据可能和老环境冲突, 所以插入失败不能影响其他数据的插入, 这里选择在mysql控制台执行source命令。
备份源数据库1mysqldump -h192.168.21.26 -P3306 -uroot -p<password> --skip-add-drop-table --skip-extended-insert --databases idk_base > hezhong_idk_base.sql
–skip ...
mac下实现快速登陆带有两步验证的ssh跳板机
我们有个堡垒机当前的登陆流程是: ssh username@ip -p port –> 输入密码 –> 打开手机 –> 查看两部验证码 –> 输入 –> 连接成功
解决输入密码的问题mac因为安全问题使用brew已经无法安装sshpass这个包了, 我们可以使用ssh key来进行免密登陆并提高安全性。不同的跳板机平台设置方式不太一样,基本都是在个人信息设置里面增加。
解决输入两步验证码的问题
两步验证码就是TOTP,基于生成的6位数字, 30s更换一次, 我们需要先拿到TOTP的seed, 一般都会给一个二维码,用二维码解析工具解析, 解析出来的内容大致类似于:
1otpauth://totp/Microsoft:iuxt@outlook.com?secret=XUHHW5TKKTYGMJYM&issuer=Microsoft
secret= 后面的内容就是TOTP的seed
使用脚本来生成两步验证码可以使用python的pyotp包
12345import pyotpimport systotp = pyotp.TOTP(sys. ...
使用echo server测试ingress-nginx服务
这个是灰度的方案
创建正式环境的服务1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677# DeploymentapiVersion: apps/v1kind: Deploymentmetadata: name: production labels: app: productionspec: replicas: 1 selector: matchLabels: app: production template: metadata: labels: app: production spec: containers: - name: production image: registry.k8s.io/ingress-nginx/e2e-test-echo@ ...
Prometheus标签处理
元标签在被监控端纳入普罗米修斯里面定义了一些元数据标签在Prometheus所有的Target实例中,都包含一些默认的Metadata标签信息。可以通过Prometheus UI的 Status 里面的 Service Discovery 查看
Metadata标签
说明
address
当前Target实例的访问地址 host:port
scheme
采集目标服务访问地址的HTTP Scheme,HTTP或者HTTPS
metrics_path
采集目标服务访问地址的访问路径
上面这些标签将会告诉Prometheus如何从该Target实例中获取监控数据。除了这些默认的标签以外,我们还可以为Target添加自定义的标签。
元标签是不会写到数据库当中的,使用promql是查询不到这些标签的,如果需要源标签的数据(比如k8s部署的Prometheus使用自动发现获取pod监控),这个时候就需要把一些元标签重新打标签来使用。
比如上图,监控k8s的pod状态, 因为pod是动态的,所以需要pod名字和pod的namespace信息,就可以从元标签中取值。
自定义 ...
在Windows下以服务方式运行MySQL
下载本文安装的是zip包, 安装方式更灵活
下载地址: https://dev.mysql.com/downloads/mysql/
创建配置文件在mysql根目录下创建my.ini文件,输入以下内容(根据自己需求调整, 如果不知道参数是做什么的, 那就不要配置, 不要瞎”调优”):
123456789101112131415161718192021[mysql]# 设置mysql客户端默认字符集default-character-set=utf8mb4[mysqld]#设置3306端口port = 13306# 设置mysql的安装目录, 这里也可以用相对路径表示, 如 . 表示当前目录basedir=C:\Users\iuxt\OneDrive\1\mysqld# 设置mysql数据库的数据的存放目录, 也可以用相对路径, 如 datadatadir=C:\Users\iuxt\OneDrive\1\mysqld\data# 允许最大连接数max_connections=200# 设置服务端使用的字符集character-set-server=utf8mb4# 创建新表时将使用的 ...
编译安装Redis记录
下载解压123wget https://download.redis.io/releases/redis-6.0.9.tar.gztar xf redis-6.0.9.tar.gzcd redis-6.2.13
编译编译需要gcc
1make
安装123sudo mkdir -p /usr/local/redis/{bin,conf}sudo cp src/{redis-benchmark,redis-check-aof,redis-check-rdb,redis-cli,redis-server} /usr/local/redis/bin/sudo cp redis.conf /usr/local/redis/conf/redis.conf
启动1/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
通过systemd管理vim /usr/lib/systemd/system/redis.service
12 ...
Kubernetes的3中探针readinessProbe、livenessProbe和startupProbe
探针K8S 提供了3种探针
startupProbe 启动检查(1.16版本新增)livenessProbe 存活检查readinessProbe 就绪检查
startupProbekubernetes 1.16版本新增功能,用于判断容器内应用程序是否已经启动,如果配置了startuprobe,就会先禁用其他的探测,直到它成功为止,成功后将不再进行探测。
1234567891011startupProbe: # 健康检查方式:[readinessProbe,livenessProbe,StartupProbe] failureThreshold: 3 # 检测失败3次表示未就绪 httpGet: # 请求方式 path: /health # 请求路径 port: 8080 # 请求端口 scheme: HTTP # 请求协议 initial ...
MySQL慢查询日志
开启慢查询会带来一定的性能影响。参考: http://c.biancheng.net/view/7782.html
查询慢查询日志功能状态默认情况下,慢查询日志功能是关闭的。可以通过以下命令查看是否开启慢查询日志功能。命令和执行过程如下:
12345678910111213141516mysql> SHOW VARIABLES LIKE 'slow_query%';+---------------------+---------------------------------------------------------------------+| Variable_name | Value |+---------------------+---------------------------------------------------------------------+| slow_query_log | ...
webdav使用记录
在windows挂载到z盘12:: 映射坚果云webdav, PERSISTENT:no表示不会记忆映射, 重启会丢失.net use Z: https://dav.jianguoyun.com/dav/ /user:iuxt@qq.com <密码> /PERSISTENT:no
通过curl使用webdav上传文件12345# 本地的test-new.zip文件上传到远程为test.zipcurl --user x@zahui.fan:<密码> https://file.babudiu.com/dav/test.zip -T ./test-new.zip # 保留文件名不变curl --user x@zahui.fan:<密码> https://file.babudiu.com/dav/ -T ./test-new.zip
创建目录12# 创建根目录 xxxxxxxcurl --user x@zahui.fan:<密码> -X MKCOL https://file.babudiu.com/dav/xxxxxxx/
重命名文件12 ...