解决 Corepack 报错:Cannot find matching keyid
最近在搭建一个使用 Node.js 的 Pulumi 项目时,遇到了 Cannot find matching keyid 的错误,原因是 Corepack 的安全密钥已过期。
使用 Kusto 查询 Azure 公共 IP 地址
以下 Kusto 查询语句可用于 Azure Resource Graph Explorer 等支持 Kusto 的工具,查询当前用户所有订阅中的公共 IP 地址资源,并显示订阅名称、资源组、名称、IP 地址、SKU 和可用区等信息。
使用 Kusto 查询 Azure 用户分配的托管身份
在 Azure Portal 的用户分配托管身份资源列表中,可按名称、资源组、订阅等信息筛选,但无法直接通过 Client ID 搜索。借助 Azure Resource Graph 的 Kusto 查询功能,可以在所有订阅中按 Client ID 查询 UAI。
在 Azure VMSS 实例中运行命令
Azure VMSS(虚拟机规模集)是一项 PaaS 服务,用于创建和管理一组自动伸缩的虚拟机实例,常见用途包括 Azure DevOps Agent Pool、AKS 节点池等。在某些情况下,我们需要在特定 VMSS 实例中运行命令来调试、安装软件或执行运维操作。Azure CLI 提供了 az vmss run-command invoke 命令,可以方便地在远程实例中执行命令。
给 Windows WSL2 虚拟磁盘瘦身
使用 Windows 一段时间后,尽管没有安装大型软件,但 C 盘剩余空间不足,已经显示为红色。最终怀疑是 WSL2 导致的,很可能是因为最近在多个项目中运行了 npm install,安装了大量的软件包。经过排查,确实如此:WSL2 的虚拟磁盘空间不断增长,但在 WSL2 里删除文件后,它并不会主动把磁盘空间归还给 Windows 系统。不过可以使用多种方法对 WSL2 的虚拟磁盘进行瘦身,比如使用 diskpart 压缩磁盘文件。
检查并更改 Google 账户关联的地区
Google 账户关联的地区可能会影响到用户在 Google 服务中的体验。比如,某些服务在特定地区可能不可用,或者显示的内容和推荐有所不同。Google 提供了一个在线表单,允许用户检查和更改账户关联的地区。
解决 libvirt 启动失败的问题:外部磁盘权限限制
我在 LinuxMint 上使用 Cockit 和 libvirt 来管理虚拟机。安装好了虚拟机后,我又给它挂载了一个硬盘,磁盘位于我的第二块外置硬盘上(挂载到了 /mnt/data)。每次启动虚拟机时都会失败,提示没有权限打开磁盘文件。但是,如果手动卸载了该硬盘,然后再次添加到虚拟中,虚拟机又可以正常启动。每次这么手动操作未免过于复杂,而且虚拟机无法自动启动了。后来我发现,问题的根源在于 libvirt 的默认安全策略限制了对外部磁盘的访问。解决方法是修改 libvirt 的安全策略,允许访问指定的磁盘路径。
在 Linux Mint 上使用 Nerd Font
Nerd Font 是一套为开发者设计的字体,包含了大量的图标和符号,非常适合在终端、代码编辑器等开发工具中使用。比如 starship 依赖 Nerd Font 显示各种图标。
排查 pulumi preview 在本地卡住的问题
在使用 Pulumi 管理 Azure 上的资源时,我遇到一个长期困扰的问题:在本地执行 pulumi preview 命令时,整个过程非常慢,甚至经常会卡住不动。我常以为是网络问题,但最终发现是一个出乎意料的外部因素导致的……
在 Azure 中通过 Client ID 查找用户分配的托管身份(UAI)
用户分配的托管身份(User Assigned Identity,UAI)是可在多个 Azure 资源间共享的托管身份。很多场景中会用到 UAI 的 Object ID 来查找身份,但有时我们只知道该身份的 Client ID(客户端 ID),需要通过 Client ID 反查 UAI。Azure 门户并未提供跨订阅按 Client ID 搜索 UAI 的直接功能,因此需要借助命令行或资源查询来完成此操作。