MySQL禁止修改指定的数据
比如有个字段,不想让程序修改它的值,但是精确到表中的数据,不能简单粗暴的通过权限来控制。 添加触发器 测试验证 生效的话,会提示:
在Kubernetes集群中挂载configmap到pod中
挂载整个 configmap 此时 pod 内 /var 目录下会有两个文件 1.txt 和 2.txt。另外,如果 /var 目录原来是有数据的,那么挂载后里面也就只有 1.txt 和 2.txt, 看不到原来的文件了。(和挂载类似) 挂载指定的 key 到目录 如上配置, 在容器中文件即为: 这种挂载方式 会影响到原 /var/ 目录中的文件和目录。 增加 item 有两个作用: 可以自定义挂载后的文件名 可以选择 configmap 里面哪些 key 挂载,哪些 key 不挂载 使用 subpath 挂载 configmap 这种挂载方式不会影响到 /var 目录内原始的文件,只是增加了这两个文件。
在Kubernetes集群中部署多个Nginx Ingress Controller
为什么要在集群中部署两个 Nginx Ingress Controller? 因为公司的入口目前是在一个 Ingress 上, 公网域名也解析到了这个 Ingress Controller 上面,不过有些内网的服务,我们并不想让它暴露在外,那么可以再部署一个内网使用的 Ingress Controller。 官方介绍地址:https://kubernetes.github.io/ingress-nginx/user-guide/multiple-ingress/ 我准备将这两个 ingressclass 放在两个 namespace 里面。 先抽出 clusterrole 和 clusterrolebinding因为可以使用一个 clusterrole,没必要每个 ingress controller 都创建 clusterrole 修改 namespace所有 namespace 都需要修改成新的 修改 ingressclass 修改启动参数 简单制作方法首先下载文件:https://github.com/kubernetes/ingress-nginx/blob/ma...
Linux下tmp目录的管理
生成临时文件可以使用 mktemp 命令生成 tmp 文件,mktemp -d 生成临时目录,避免临时目录重复使用的问题 tmp 目录定时清理这个是由 systemd 的几个模块实现的, 在 centos7 中: 配置文件也有 3 个地方: /tmp 目录的清理规则主要取决于 /usr/lib/tmpfiles.d/tmp.conf 文件的设定,默认的配置内容为: 如你不想让系统自动清理/tmp 下以 tomcat 开头的目录,那么增加下面这条内容到配置文件中即可:
离线安装Docker
下载解压离线二进制包下载地址 官方地址:https://downrload.docker.com/linux/static/stable/x86_64/ 阿里云镜像地址:https://mirrors.aliyun.com/docker-ce/linux/static/stable/x86_64/ 创建 systemd 配置 创建配置文件 设置开机自启动
harbor接入外部trivy镜像漏洞扫描
harbor 接入 trivy 漏洞扫描, 用到的开源工具 harbor-scanner-trivy 安装需要依赖 Redis, 先安装 Redis 安装 trivytrivy 是扫描核心组件, 需要安装,参考 trivy 官网安装文档 https://aquasecurity.github.io/trivy/v0.41/getting-started/installation/ trivy 首次运行会从 github 下载漏洞数据库,需要确保机器可以连接 GitHub,执行 trivy image --download-db-only 会下载 db,db 数据存储在 ~/.cache/trivy 安装 scanner-trivy开源地址:https://github.com/aquasecurity/harbor-scanner-trivy scanner-trivy 是通过环境变量读取配置 启动命令: 或者通过 supervisor 运行 在 Harbor 里使用harbor 系统管理 审查服务 扫描器 里面添加 trivy 地址: 然后就可以正常扫描镜像了 ...
python常用配置
pip升级 pip 版本 镜像源中科大源配置说明: https://mirrors.ustc.edu.cn/help/pypi.html 临时使用 设为默认通过pip命令来配置通过配置文件来配置升级 pip 到最新的版本 (>=10.0.0) 后进行配置: vim ~/.config/pip/pip.conf windows 调用虚拟环境在 bat 脚本中调用 Python 虚拟环境,可以使用
macOS 的 Rosetta 2 使用记录
Rosetta 2 是什么Rosetta 2 是一个兼容层,是苹果 macOS 在 2020 年为了从 intel 芯片转向 Apple Silicon 芯片,又不能失去对现有软件生态的兼容(本来生态就不太好,再不兼容就完蛋了。)为什么叫 Rosetta 2,因为 Rosetta 是苹果上一次变换架构所开发的软件。 如何判断 Rosetta 2 是否被安装终端执行命令, 能成功运行说明支持 x86_64 程序。 查看进程 手动安装 Rosetta 2
在 Linux 系统中搭建 OpenVPN
OpenVPN 是一款开源的虚拟私人网络(VPN)软件,基于 SSL/TLS 协议实现安全的点对点或站点对站点连接。它广泛应用于远程访问、数据加密传输、绕过网络限制等场景。对于 Linux 用户而言,掌握 OpenVPN 的安装与配置不仅能提升网络安全性,还能灵活应对多样化的网络需求。 安装 OpenVPN 服务端 生成加密证书与密钥(使用 EasyRSA)下载 EasyRSA 初始化 PKI(公钥基础设施) 生成 CA 根证书 生成 Diffie-Hellman 参数(DH)DH 参数用于密钥交换,增强前向安全性: 生成 TLS 加密密钥用于加密 TLS 握手过程,防止中间人攻击: 启用 证书吊销列表(CRL)通过吊销客户端证书实现禁止指定客户端访问 生成服务端证书与密钥 生成客户端证书与密钥假设客户端名为 client1,每个客户端都需要生成 生成后,客户端证书位于 pki/issued/client1.crt ,私钥位于 pki/private/client1.key ,还有个集成了所有证书的配置,可以直接复制到客户端的 ovpn 配置文...
使用Nginx反向代理域名
需求如下:研发代码里写死了地址 https://b.com 现在在不想发布新代码的情况下修改地址为 https://a.com 手动增加反向代理的 header先 ping a.com 获取到服务器的 ip 所以临时在 pod 里面新增了 nginx 服务,配置如下,由于是代理 https 服务,还需要配置 ssl 证书,刚好有证书。。。 优化写法nginx 提供了内置变量 $proxy_host,优化写法为: 本地绑定 hosts 测试效果这个时候两个域名访问效果一模一样了.

