bat命令修改windows环境变量
在 bat 下修改环境变量有几种方式, 比如 set setx vmic ENVIRONMENT setwindows 的 set 和 bash 里面直接赋值类似, 只在当前脚本中生效, 比如 1234set a=becho %a%b setxsetx 和 set 类似, 不一样的是 setx 会把设置持久化保存起来 1setx a c 因为 setx 直接将环境变量保存在注册表中, 所以 cmd 终端需要关闭重新打开才能生效 12echo %a%c 后续就算重启电脑, 也会生效, 不过数据量比较大的时候会报错: WARNING: The data being saved is truncated to 1024 characters, 最终修改的内容也是不完整的。所以不建议使用 vmicwmic 常用命令1234567891011# 创建系统变量wmic ENVIRONMENT create...
使用kubectl进行多集群管理
平常使用跳板机来管理, 经常多个环境多套集群, 那么如何用一个 kubectl 如何管理这些集群. 推荐方式这种方式对系统的侵入性比较小,也不用修改 kubeconfig 文件,也不用在 linux 中增加用户等。。 准备不同的 kubeconfig 文件,比如 prod uat 脚本一12export KUBECONFIG=./prod bash 这里 export 是必须的,export 的作用是将环境变量传递到子进程中,而 bash 是这个脚本的子进程。 脚本二1KUBECONFIG=./prod 执行的时候通过 . a.sh 或 source a.sh 的时候,source 或 . 的作用是将环境变量传递到当前 shell 中。 使用不同的 kubeconfig 管理使用不同的 Linux 用户每个 Linux 用户的 ~/.kube/config 配置不同即可, 比如创建一个 uat 用户,一个 prod 用户, 分别配置不同的 config 文件 使用环境变量设置一个 KUBECONFIG 指定到 kubeconfig...
Kubernetes使用存储挂载单个文件
一般来说, 挂载存储都是把一个 PV 挂载到一个路径, 挂载后此路径下原来的文件就会不见, 只能看到挂载后的文件, 和在 Linux 下挂载磁盘是一样的. 那么现在有个需求: 需求此服务是 java 程序, 数据库使用的是内嵌的 h2 database, 下图中的两个文件就是数据库的文件. 这两个文件是存在于根目录下的, 假设此程序数据库文件是代码写死的 (真实情况是: 数据库路径是可以更改的), 现在要部署到 kubernetes 中, 并对数据库做持久化. 使用 subpath根据之前挂载 configmap 到单个文件的经验, 我们应该使用 subpath 来挂载, 先创建好 pvc, yml 如下 1234567891011apiVersion: v1kind: PersistentVolumeClaimmetadata: name: metabase-pvcspec: storageClassName: managed-nfs-storage accessModes: - ReadWriteOnce resources: requests: ...
使用kubeadm部署一套高可用k8s 1.29集群 for AlmaLinux9(RHEL9)
基于 AlmaLinux9 使用 kubeadm 搭建集群, ubuntu部署文档, 有疑问的地方可以看 官方文档, 本教程需要能访问 国际互联网 。不能的话,需要解决镜像拉取问题、yum 安装组件的问题。 准备机器 我的机器详情如下, 配置至少为 4C4G hostname IP 作用 master1 10.0.0.11 k8s master 节点 master2 10.0.0.12 k8s master 节点 master3 10.0.0.13 k8s master 节点 worker1 10.0.0.21 k8s worker 节点 worker2 10.0.0.22 k8s worker 节点 每台机器都做域名解析,或者绑定 hosts(直接使用 ip 地址会有警告) 123456vim /etc/hosts10.0.0.10 public kube-apiserver10.0.0.11 master110.0.0.12 master210.0.0.13 master3 每台机器都关闭防火墙和...
前后端跨域问题
啥是跨域跨源资源共享(CORS,或通俗地译为跨域资源共享)是一种基于 HTTP 头的机制,该机制通过允许服务器标示除了它自己以外的其他源(域、协议或端口),使得浏览器允许这些源访问加载自己的资源。跨源资源共享还通过一种机制来检查服务器是否会允许要发送的真实请求,该机制通过浏览器发起一个到服务器托管的跨源资源的“预检”请求。在预检中,浏览器发送的头中标示有 HTTP 方法和真实请求中会用到的头。 跨源 HTTP 请求的一个例子:运行在 https://domain-a.com 的 JavaScript 代码使用 XMLHttpRequest 来发起一个到 https://domain-b.com/data.json 的请求。 出于安全性,浏览器限制脚本内发起的跨源 HTTP 请求。例如,XMLHttpRequest 和 Fetch API 遵循同源策略。这意味着使用这些 API 的 Web 应用程序只能从加载应用程序的同一个域请求 HTTP 资源,除非响应报文包含了正确 CORS...
Windows中的符号连接
mklink 命令1234mklink /D 原始文件/目录 链接文件/D 创建目录符号链接。默认为文件符号链接。/H 创建硬链接而非符号链接。/J 创建目录联接。 特性 /H(硬链接) /D(符号链接) /J(目录链接) 支持目标类型 仅文件 文件或目录 仅目录 跨分区支持 否 是 否 网络路径支持 否 是 否 与目标的关系 共享同一数据,删除链接不影响文件 目标被删除,链接无效 目标被删除,链接无效 生效范围 文件系统 文件系统 文件系统 创建所需权限 无 需要管理员权限 无 性能影响 最低 较低(需要额外解析符号链接) 较低 PowerShell 中的 New-Item12345678# 符号链接New-Item -ItemType SymbolicLink -Path C:\Users\iuxt\SynologyDrive -Target D:\SynologyDrive\# 目录连接New-Item -ItemType Junction# 硬链接New-Item -ItemType HardLink
将ova或qcow2导入到PVE虚拟机
比如我们从 VMware Workstation 导出的虚拟机镜像 (ova 或者 ovf), 如果我想要导入到 proxmox 中, proxmox 默认是不支持导入 OVA 虚拟机的, 可以通过转换虚拟机虚拟磁盘的方法将虚拟磁盘附加到现有的 pve 虚拟机中. 提取 vmdk 虚拟磁盘文件这一步如果是 ova, 则需要用解压缩软件解压一下, 如果是 ovf, 直接就能看到 vmdk 文件 转换虚拟磁盘文件使用工具 qemu-img 进行转换, 如果是导入到 pve, 可以不转换, 使用 qm 命令会自动转换的. 12345# 从另一台PVE导出qcow2可以这样qemu-img convert -p -O qcow2 -c /dev/mapper/pve-vm--110--disk--0 VM110.qcow2# 从vmdk文件转换可以这样 -c 是压缩qemu-img convert -c -f vmdk myvm-disk1.vmdk -O qcow2 myvm-disk1.qcow2 在 PVE 上创建新的虚拟机此步骤需要记录一下虚拟机的 ID 上传虚拟磁盘文件到...
Windows命令行使用其他用户身份运行
比如说我一个脚本使用管理员权限运行,那么它调用的其他程序默认都是以管理员权限运行的。我想要以普通用户程序来运行,有以下几种方法: runas 方式指定权限运行0x20000 是标准用户权限0x40000 是管理员权限 1runas /trustlevel:0x20000 "wt.exe" 这种方式我测试会造成 wsl 报错“UtilTranslatePathList” 指定用户执行1runas /user:iuxt wt.exe" 这种方式会弹窗让你输入密码(每次) psexecpsexec 是微软官方的一组小工具:https://learn.microsoft.com/zh-cn/sysinternals/downloads/psexec 需要用到里面的 psexec64.exe 然后调用此工具。 1psexec.exe -u iuxt -p YourPassword C:\Path\To\wt.exe 缺点: 需要在命令行指定用户名和密码(有安全隐患) 运行的时候会有个黑框框一闪而过,并且第一次启动会有个窗口,需要点一下 agree
使用tailscale打通内网
家里有一台群晖 nas, 通过 quickconnect 连接太慢了, 并且有些操作不能通过 quickconnect, 比如直接 smb 挂载目录 群晖 nas 安装群晖国内应用商店已经下架了这个 APP, 你可以尝试着在应用中心搜索 tailscale, 如果可以搜索到, 就直接安装即可. 搜索不到的话, 可以使用离线安装的方式: 到官网下载离线 SPK 包:https://pkgs.tailscale.com/stable/#spks根据你的系统架构来下载包, intel cpu 下载 x86_64 架构的包. 然后进入群晖软件中心, 点击手动安装, 上传 spk 包安装 第一次打开 tailscale 需要登录, 登录页面不支持 quickconnect 远程连接, 所以建议在家配置好 tailscale windows 安装安装成功后, 右键任务栏图标,点击 login 登录 tailscale 账号 登录成功后,可以在官网https://login.tailscale.com/admin/machines 查看到所有的设备和 IP...
查看kubernetes节点的硬件配置
kubectl describe node 可以查看到信息, 这里使用 jq 进行一下数据处理格式化. 1kubectl get node -o json | jq '.items[] | "===========================================", "机器名: \(.metadata.labels."kubernetes.io/hostname") ", "CPU: \(.status.capacity.cpu) 核", "内存大小: \(.status.capacity.memory)"' 输出结果类似于: