linux(LinuxMint)系统开发配置
修改Home中文目录打开终端,在终端中输入命令: 12export LANG=en_USxdg-user-dirs-gtk-update 跳出对话框询问是否将目录转化为英文路径,同意并关闭。 在终端中输入命令: 1export LANG=zh_CN 关闭终端,并重启系统。下次进入系统,系统会提示是否把转化好的目录改回中文。选择不再提示,并取消修改。主目录的中文转英文就完成。 快捷键替换避免和IntelliJ Idea冲突 ctrl + alt + left/right 在 idea 中,ctrl + alt + left/right 用于在光标在文件的上一个未知/下一个位置之间跳转,非常方便。 但是默认 linux mint 是将这个快捷键分配给了工作区的上一个工作区/下一个工作区,直接冲突了。 修改方式,“系统设置” –> “键盘” –> “快捷键” –> “工作区”。 注: 我一般喜欢设置为 ctrl + shift + alt + left/right ctrl + alt + L 在idea中这个快捷键用...
关于 Rancher 的证书轮换策略
参考:https://docs.rancher.cn/docs/rancher2/cluster-admin/certificate-rotation/_index/#%E7%8B%AC%E7%AB%8B%E5%AE%B9%E5%99%A8-rancher-server-%E8%AF%81%E4%B9%A6%E6%9B%B4%E6%96%B0 集群部署略,参考官网 Docker Rancher Server 证书更新证书未过期证书未过期时,Rancher Server 可以正常运行。升级到 Rancher v2.0.14+、v2.1.9+、v2.2.2+ 后会自动检查证书有效期,如果发现证书即将过期,将会自动生成新的证书。所以独立容器运行的 Rancher Server,只需在证书过期前把 Rancher 版本升级到支持自动更新 SSL 证书的版本即可,无需做其他操作。 证书已过期如果证书已过期,那么 Rancher Server 无法正常运行。即使升级到 Rancher v2.0.14+、v2.1.9+、v2.2.2+ 也可能会提示证书错误。如果出现这种情况,可通过以下操作进行...
分布式块存储 Longhorn
官方文档 记录下 Longhorn 的使用 - Rancher Lab 提供的开源分布式块存储方案 Longhorn 支持以下架构: AMD64 ARM64(实验性) Longhorn 需要 open-iscsi、curl、findmnt、grep、awk、blkid、lsblk 的依赖(是否需要单独安装可以使用这个脚本进行验证,CentOS 7 有可能需要单独安装下 jq 和 open-iscsi) 利用 Rancher 安装在 Rancher UI 上选择自己的集群,然后找到对应 App 安装即可,v2.6.3 测试没问题(尝试用 kubectl 安装的时候告诉我缺少 NODE_NAME ENV,但是 Rancher 就正常):https://longhorn.io/docs/1.2.3/deploy/install/install-with-rancher/ 查看对应几个 Node 是否正常创建 Longhorn默认数据路径: 1ls /var/lib/longhorn 界面 创建应用进行测试应用 yaml 创建 PVC 和 pod pvc.yaml123456...
处理 Rancher 连接节点 "Cluster agent is not connected"
故障场景描述在 K3s 集群经历长时间运行(如 2 年以上)或底层容器运行时(Containerd)崩溃重启后,Rancher 界面显示集群状态为 Unavailable,错误提示通常为 "Cluster agent is not connected"。 故障诊断流程第一阶段:排查 K3s 节点健康度在手动处理 Rancher 连接前,必须确保 K3s 核心服务已恢复。 检查容器运行时状态: 12# 如果报错 connection refused,说明 containerd 没起crictl ps 检查孤儿挂载点(Device busy):Kubelet 频繁报错 device or resource busy 会导致 API Server 响应极慢,进而撑挂 Rancher 隧道。 12# 查找并懒卸载残留路径grep "kubelet/pods" /proc/mounts | awk '{print $2}' | xargs -I {} umount -l {...
jq 的使用
简介jq 命令是一个轻量且灵活的命令行 JSON 处理器,可以方便快捷地解析 JSON 格式的数据。 基本用法解析 JSON 格式的数据1cat task_feature_file | jq . 根据 key 获取 value1cat task_feature_file | jq '.cms_data' 根据 key 获取 value(嵌套提取)1cat task_feature_file | jq '.cms_data.res_id' 提取所有 key1cat task_feature_file | jq 'keys' 提取所有 key(嵌套提取)1cat task_feature_file | jq '.cms_data' | jq 'keys' 判断是否有某个 key1cat task_feature_file | jq 'has("cms_data")' 数据转换转换数字为字符串1234567jq -r '.[]...
scp 和 ssh 用法
scp 文件传输上传到远端上传目录: 1scp -r ./util/ 用户名@192.168.1.65:/home/wwwroot/limesurvey_back/util/ 上传文件: 1scp ./util.js 用户名@192.168.1.65:/home/wwwroot/limesurvey_back/scp/ 远端下载1scp [-r] 用户名@192.168.1.65:/share/webCompileOut.sql ./ 如果是目录拷贝要加 -r 参数,用户名可选,如果省略用户名,默认为终端的用户名。 SSH 免密登录 先执行 su 用户名 切换到想要免密的账户 在你的主控方机器上使用 ssh-keygen 命令创建公钥,使用 ssh-keygen -t rsa 来创建,程序会询问存放目录,如果不需要修改(建议不修改,会放在 ~/ 路径下),直接回车几次即可 将主控方 ~/.ssh 目录下 id_rsa.pub 文件拷贝到受控机器的 ~/.ssh 目录中,然后操作受控方将文件内容导入到 ~/.ssh/authorized_keys 文件 12345# 主...
sed 命令用法
简介sed 是 Stream Editor(流编辑器)的缩写,用于对文本进行过滤和转换。 语法1sed [选项] [动作] [文件] 示例: 12# 带 g 则全局修改,不带则只修改匹配的第一个sed -i 's/{原字符串}/{将要修改的字符串}/g' build.xml 常用选项 选项 说明 -e <script> 或 --expression=<script> 以选项中指定的脚本来处理输入的文本文件 -f <script文件> 或 --file=<script文件> 以选项中指定的脚本文件来处理输入的文本文件 -h 或 --help 显示帮助信息 -n 或 --quiet 或 --silent 仅显示脚本处理后的结果(静默模式) -V 或 --version 显示版本信息 -i 直接修改文件内容 常用动作 动作 说明 a 新增,在新的一行出现(当前行的下一行) c 替换,替换指定范围的行 d 删除指定行 i ...
Shell 脚本中 $ 开头的参数介绍
Shell 脚本中的特殊变量Shell 脚本中以 $ 开头的变量有特殊含义,用于获取脚本运行时的各种信息: 1. $$Shell 本身的 PID(ProcessID,进程 ID) 2. $!Shell 最后运行的后台进程的 PID 3. $?最后运行的命令的退出状态码(返回值) 4. $-使用 set 命令设定的标志位一览 5. $*所有参数列表。当使用双引号括起来时("$*"),以 "$1 $2 … $n" 的形式输出所有参数(作为一个整体字符串)。 6. $@所有参数列表。当使用双引号括起来时("$@"),以 "$1" "$2" … "$n" 的形式输出所有参数(每个参数作为独立字符串)。 7. $#传递给 Shell 的参数个数 8. $0Shell 脚本本身的文件名 9. $1 ~ $n传递给 Shell 的各个参数值。$1 是第 1 个参数,$2 是第 2 个参数,以此类推。
sort 命令用法
简介sort 命令用于对文件的行进行排序。 语法1sort [选项] [文件] 常用选项 选项 说明 -b 忽略每行前面开始处的空格字符 -c 检查文件是否已经按照顺序排序 -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符 -f 排序时,将小写字母视为大写字母 -i 排序时,除了 040 至 176 之间的 ASCII 字符外,忽略其他的字符 -m 将几个排序好的文件进行合并 -M 将前面 3 个字母依照月份的缩写进行排序 -n 依照数值的大小排序 -u 唯一(unique),输出的结果是去重后的 -o <输出文件> 将排序后的结果存入指定的文件 -r 以相反的顺序来排序(降序) -t <分隔字符> 指定排序时所用的字段分隔字符 -k field1[,field2] 按指定的列进行排序 --help 显示帮助信息 --version 显示版本信息
ssh 远程主机执行命令或脚本
免密操控 免密操控不可以逆向,即可以一个主控方对应多个被控方,但不可以一个被控方对应多个主控方。 以下以 gitlab-runner 账户远程免密登录 root@192.168.56.100 为例: 先执行 su gitlab-runner 切换到 gitlab-runner 账户 在你的主控端机器上使用 ssh-keygen 命令创建公钥,使用 ssh-keygen -t rsa 来创建,程序会询问存放目录,如果不需要修改,直接回车几次即可 将 ~/.ssh 目录下 id_rsa.pub 文件拷贝到受控机器的 ~/.ssh 目录中,然后将文件内容导入到 ~/.ssh/authorized_keys 文件 12345# 主控方机器执行:scp ~/.ssh/id_rsa.pub root@192.168.56.100:~/.ssh/id_rsa.pub# 受控方机器执行:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 在受控方机器设置权限: ~/.ssh 权限设置为 700,~/.ssh/authorized...
