kubectl导出的yaml忽略指定字段
kubectl 指定 -o yaml 输出的 yaml 文件包含一些默认字段,这些字段我们是不需要的,可以使用 yq 来进行去除这些字段,生成的 yaml 文件可以用于迁移/部署服务等。 安装 yq12curl -L https://file.babudiu.com/f/AQHE/yq_linux_amd64 -o /bin/yqchmod +x /bin/yq 导出 deployment1234567891011121314kubectl get deployment nginx -o yaml | yq eval ' del( .metadata.annotations, .metadata.creationTimestamp, .metadata.generation, .metadata.resourceVersion, .metadata.selfLink, .metadata.uid, .spec.progressDeadlineSeconds, ...
MySQL进行文件操作
我执行了这条命令: 1select concat('KILL ',id,';') from information_schema.processlist where COMMAND='Query' AND time > 10 into outfile '/tmp/a.txt'; 报错: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 查询 MySQL 的安全文件目录 12345678mysql> show variables like '%secure%';+--------------------------+-----------------------+| Variable_name | Value ...
PyCharm配合WSL进行开发
本文使用 WSL2,WSL2 里面安装了 Docker, PyCharm 支持的配合 wsl 进行使用的方法有很多种,这里提供几个思路 方法 1: WSL 远程开发(目前 BETA 版)方法 2: 代码放在 Windows 上,Python 解释器在 WSL 里方法 3: 代码放在 WSL 里,Python 解释器在 WSL 里方法 4: 代码放在 WSL 里,Python 解释器在 WSL 里的 Docker 里方法 5: 代码放在 Windows 上,Python 解释器放在 WSL 里的 Docker 里方法 6: 直接在 WSL 里安装 Linux 版的 PyCharm(WSL 支持 GUI 程序运行)方法 7: 使用 devcontainer(不好用) 我最推荐的: 将代码放在 WSL 中,将 Python 解释器放在 WSL 中。 代码放在 WSL 里,Python 解释器在 WSL 里首选,这个时候执行的就是 wsl 里的程序,比如 git 调用的就是 wsl 里的 git 程序。 使用方法: 进入 WSL 终端拉取代码(PyCharm 目前不支持拉代码到...
使用Python开发一个Prometheus exporter
需求:需要监控指定的邮箱发送邮件是否正常,使用 Prometheus 官方的 Python sdk,代码如下: 代码12345678910111213141516171819202122232425262728293031323334353637383940from prometheus_client import start_http_server, Gaugeimport smtplibimport argparseimport time# 创建一个 Gauge 类型的指标EMAIL_AUTHENTICATION_SUCCESS = Gauge('email_authentication_success', 'Indicates if the email authentication was successful', ['email'])def check_email_authentication(email, password, smtp_server, smtp_port): try: ...
Alpine容器文件后缀浏览器下载变成zip
比如一个网盘程序,上传了一个 excel 文件,点击获取直链,然后将获取到的直链放到浏览器地址栏访问触发下载,下载下来的文件后缀自动变成了.zip 这是因为 Alpine 镜像比较精简,缺少了很多 MIME 类型数据,可以通过安装 mailcap 包来解决。 12FROM Alpine:latestRUN apk add --no-cache mailcap 再次测试,已经正常
nginx Ingress 对指定路径去除 contextpath
要在 Kubernetes 中配置 Nginx Ingress 以便转发到后端时去掉 contextPath,你可以通过以下步骤来实现: 单个 path 去掉 contextpath假设你有一个服务在 /app 路径下运行,并希望通过 Ingress 直接访问后端服务的根路径 /,可以如下配置: 12345678910111213141516171819apiVersion: networking.k8s.io/v1kind: Ingressmetadata: name: example-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: /$2spec: rules: - host: example.com http: paths: - path: /app(/|$)(.*) pathType: ImplementationSpecific backend: service: name:...
CentOS 7 停止维护后如何使用
CentOS 7 停止维护后,很多源都失效了,使用 yum 的时候报错 404,需要修改源才能继续使用。 老版本 CentOS 源被更改成 vault 源,需要更换成 vault 源才能继续使用 yum。 一、修改成官方源1234sudo sed -i.bak \ -e 's|^mirrorlist=|#mirrorlist=|g' \ -e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://vault.centos.org/centos|g' \ /etc/yum.repos.d/CentOS-Base.repo 二、换成阿里云源1curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 三、更换成中科大的源123456789101112131415161718192021222324252627282930313233cat >...
trzsz 使用记录
官方介绍:trzsz ( trz / tsz ) 是一款优秀的文件传输工具,和 lrzsz ( rz / sz ) 类似的、兼容 tmux 的文件传输工具。其实就是一个利用终端来传输文件的工具,可以用来取代 lrzsz,更多详情看官方文档:https://trzsz.github.io/cn/ 和 GitHub:https://github.com/trzsz/trzsz-ssh/blob/main/README.cn.md tssh 我测试使用 zmodem 上传或下载文件的时候不会出现乱码的情况,比如 xshell 就经常出现乱码 使用 tssh 命令123456789### 自动在服务器上安装 lrzsztssh --install-trzsz root@x.x.x.x### 交互式添加机器tssh --new-host### 指定用户名, ssh 用户名带 `@` 符号的时候,使用 tssh 会解析错误(ssh 无问题)此时可以指定用户名的方式来使用。# --zmodem 是开启 zmodem 支持,可以使用 rz 或 sz 命令。tssh...
Java程序被停止前自动dump内存快照
线上业务偶尔会出现重启现象,为了排查这个问题,决定在 OOM 的时候自动进行 dump 内存快照用于分析 针对 JVM OOM 的情况OOM 全称 “Out Of Memory”,表示内存耗尽。当 JVM 因为没有足够的内存来为对象分配空间,并且垃圾回收器也已经没有空间可回收时,就会抛出这个错误,解决 OOM 问题的一个思路: 假设发生 OOM 了,必然说明系统中某个区域的对象太多了,塞满了那个区域,而且一定是无法回收掉那些对象,最终才会导致内存溢出的,首先就得知道到底是什么对象太多了导致 OOM ,就必须得有一份 JVM 发生 OOM 时的 dump 内存快照有了 dump 内存快照,就可以用 MAT 之类的工具,或者在线工具来分析:https://memory.console.heapdump.cn/JVM 在发生 OOM 的时候并不是直接挂掉的, 而是在 OOM 之前会尽量去 GC 腾出来一些内存空间,如果 GC 后还是没有空间,放不下对象, 才会触发内存溢出的。JVM 给我们提供了一些参数可以在发生 OOM 的时候进行自动 dump 内存快照。:...
无显示器环境下连接香橙派
连接香橙派(树莓派等其他派也类似)一般有以下几种方法: 插显示器、键盘鼠标直接进行操作 使用串口连接电脑,通过串口访问终端 通过网线连接路由器(路由器会通过 DHCP 分配一个 IP 给香橙派)从路由器后台获取到 IP 地址进行连接 通过网线直连电脑,电脑运行一个 DHCP 服务分配 IP 给香橙派,通过 IP 地址进行连接 通过官方的 orangepi_first_run.txt 文件来自动配置一个网口 IP 地址,电脑固定一个同网段的 IP,然后通过 IP 地址进行访问 我这里使用 tftpd64 来实现一个简单的 DHCP 服务。 配置如下: 设置好了以后,通过网线将香橙派和电脑直接连起来,这里就能看到有设备获取到了 IP 地址了。(不要设置 Def router,因为我们需要让网络使用 Wi-Fi 的网卡,有线网卡只是为了内网连接。) 192.168.88.1 就是香橙派的 IP 地址。可以用 ssh 连接了。 联网: 手机开热点,使用 nmtui 命令连接 Wi-Fi