从本机访问 Google Kubernetes Engine 集群

2026-06-16#GKE#Kubernetes

在 GCP 上搭建好了 Google Kubernetes Engine 集群后,从本地如何使用 kubectl 命令访问呢?安装 gke-gcloud-auth-plugin 插件后,就可以从本地访问 GKE 集群了。

将 Ingress NGINX 迁移到 Azure Kubernetes Service 上的 Gateway API

2026-06-16#AKS#Kubernetes#Azure

很遗憾 Ingress NGINX 项目已经走到了生命的尽头……自 2026年3月起,官方已经不再维护它了。Azure Kubernetes Service (AKS) 官方给出了若干迁移方案,其中包括使用使用 Gateway API 替代它。Gateway API 与 Ingress NGINX 的功能类似,但某些行为有所不同。但对 Ingress NGINX 的非常规使用,可能导致在迁移到 Gateway API 时出现一些挑战。

排查 Azure Managed Redis 错误:Max Number of Clients Reached

2026-06-12#Azure#Redis

最近应用在使用 Azure Managed Redis 时,遇到了错误 ERR max number of clients reached,导致应用无法连接到 Redis 实例。这个错误通常是由于 Redis 实例的客户端连接数达到了上限,无法接受新的连接请求。

解决 Corepack 报错:Cannot find matching keyid

2026-06-03#pnpm

最近在搭建一个使用 Node.js 的 Pulumi 项目时,遇到了 Cannot find matching keyid 的错误,原因是 Corepack 的安全密钥已过期。

使用 Kusto 查询 Azure 里的 IP 地址

2026-06-03#Kusto#Azure

以下 Kusto 查询语句可用于 Azure Resource Graph Explorer 等支持 Kusto 的工具,查询当前用户所有订阅中的公共 IP 地址资源,并显示订阅名称、资源组、名称、IP 地址、SKU 和可用区等信息。

使用 Kusto 查询 Azure 用户分配的托管身份

2026-06-03#Kusto#Azure

在 Azure Portal 的用户分配托管身份资源列表中,可按名称、资源组、订阅等信息筛选,但无法直接通过 Client ID 搜索。借助 Azure Resource Graph 的 Kusto 查询功能,可以在所有订阅中按 Client ID 查询 UAI。

在 Azure VMSS 实例中运行命令

2026-06-03#Azure

Azure VMSS(虚拟机规模集)是一项 PaaS 服务,用于创建和管理一组自动伸缩的虚拟机实例,常见用途包括 Azure DevOps Agent Pool、AKS 节点池等。在某些情况下,我们需要在特定 VMSS 实例中运行命令来调试、安装软件或执行运维操作。Azure CLI 提供了 az vmss run-command invoke 命令,可以方便地在远程实例中执行命令。

给 Windows WSL2 虚拟磁盘瘦身

2026-06-03#WSL

使用 Windows 一段时间后,尽管没有安装大型软件,但 C 盘剩余空间不足,已经显示为红色。最终怀疑是 WSL2 导致的,很可能是因为最近在多个项目中运行了 npm install,安装了大量的软件包。经过排查,确实如此:WSL2 的虚拟磁盘空间不断增长,但在 WSL2 里删除文件后,它并不会主动把磁盘空间归还给 Windows 系统。不过可以使用多种方法对 WSL2 的虚拟磁盘进行瘦身,比如使用 diskpart 压缩磁盘文件。

检查并更改 Google 账户关联的地区

2026-05-17#Google

Google 账户关联的地区可能会影响到用户在 Google 服务中的体验。比如,某些服务在特定地区可能不可用,或者显示的内容和推荐有所不同。Google 提供了一个在线表单,允许用户检查和更改账户关联的地区。

解决 libvirt 启动失败的问题:外部磁盘权限限制

2026-05-17#虚拟机#AppArmor#libvirt#Cockpit

我在 LinuxMint 上使用 Cockit 和 libvirt 来管理虚拟机。安装好了虚拟机后,我又给它挂载了一个硬盘,磁盘位于我的第二块外置硬盘上(挂载到了 /mnt/data)。每次启动虚拟机时都会失败,提示没有权限打开磁盘文件。但是,如果手动卸载了该硬盘,然后再次添加到虚拟中,虚拟机又可以正常启动。每次这么手动操作未免过于复杂,而且虚拟机无法自动启动了。后来我发现,问题的根源在于 libvirt 的默认安全策略限制了对外部磁盘的访问。解决方法是修改 libvirt 的安全策略,允许访问指定的磁盘路径。