You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁用GKE节点池内节点的SSH访问?解决实例模板替换异常

解决方案:禁用GKE机密节点池的SSH访问

问题根源

手动创建的实例模板遗漏了GKE节点注册所需的核心配置(如kubelet参数、集群元数据、GKE专属标签等),导致新节点无法加入集群,触发自动修复循环。正确做法是基于原有节点池的配置修改,而非从零构建模板。


方案一:直接更新现有节点池(推荐)

无需替换实例模板,通过更新节点池元数据实现SSH禁用,操作简单且避免配置遗漏:

  1. 更新节点池元数据,禁用SSH访问
    执行以下命令,添加阻止项目级SSH密钥、关闭OSLogin的元数据:

    gcloud container node-pools update card-decrpyt-confidential-pool-1 \
      --cluster=svcs-dev-1 \
      --region=us-central1 \
      --metadata=block-project-ssh-keys=true,enable-oslogin=false
    
    • block-project-ssh-keys=true:禁止使用项目级SSH密钥登录节点
    • enable-oslogin=false:关闭OSLogin功能,进一步阻断SSH登录路径
  2. 触发滚动更新,让所有节点应用新配置
    执行滚动更新,逐步替换旧节点为应用新配置的节点:

    gcloud container node-pools rolling-update start card-decrpyt-confidential-pool-1 \
      --cluster=svcs-dev-1 \
      --region=us-central1 \
      --max-surge=1 \
      --max-unavailable=1
    

    该命令会保持集群可用性,每次只替换1个节点,匹配你原有节点池的升级参数。


方案二:使用自定义实例模板(需基于原模板)

若必须使用自定义模板,需基于原有节点池的实例模板修改,确保保留GKE核心配置:

  1. 获取原节点池的实例模板URL

    ORIGINAL_TEMPLATE=$(gcloud container node-pools describe card-decrpyt-confidential-pool-1 \
      --cluster=svcs-dev-1 \
      --region=us-central1 \
      --format="value(instanceTemplate)")
    
  2. 基于原模板创建带SSH禁用配置的新模板

    gcloud compute instance-templates create card-decrypt-instance-template-custom \
      --source-instance-template=$ORIGINAL_TEMPLATE \
      --metadata=block-project-ssh-keys=true,enable-oslogin=false \
      --project=corp-dev-project \
      --region=us-central1
    
  3. 更新节点池使用新模板

    gcloud container node-pools update card-decrpyt-confidential-pool-1 \
      --cluster=svcs-dev-1 \
      --region=us-central1 \
      --instance-template=card-decrypt-instance-template-custom
    
  4. 触发滚动更新
    同方案一的滚动更新命令,确保新节点替换旧节点并成功加入集群。


验证操作

完成后,可通过以下方式验证SSH已禁用:

  • 尝试通过gcloud compute ssh登录节点,应提示无有效密钥或权限被拒绝
  • 查看节点元数据:gcloud compute instances describe <节点名称> --project=corp-dev-project --zone=<节点区域> --format="value(metadata.items)",确认block-project-ssh-keys为true、enable-oslogin为false

内容的提问来源于stack exchange,提问作者TeeTee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 08:55:17