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

使用OCI堡垒机服务连接私有Kubernetes集群出现TLS握手超时故障

故障原因

从SSH debug日志可以确认SSH到Bastion的连接、本地端口转发监听都正常,请求已经触发端口转发规则尝试连接远端K8S API的10.0.0.14:6443,但通道建立后立即被断开,最终导致TLS握手超时,故障根因分为以下几类:

  • OCI Bastion会话配置错误:创建端口转发会话时填写的目标IP/CIDR未包含10.0.0.14这个地址,OCI Bastion会默认拦截所有不在会话允许目标范围内的流量,直接断开连接,这是你日志中channel刚建立就被释放的最常见原因。
  • 安全组/NSG规则未放通:Bastion关联的安全组未放行到K8S API所在子网的6443端口出站规则,或是K8S API端点、集群节点关联的网络安全组/节点安全组未放行Bastion子网CIDR的6443端口入站规则。
  • 网络连通性问题:如果Bastion和集群部署在不同VCN,需要确认VCN peering配置正常,两端路由表均已放通对方的CIDR段,路由可达。
  • 节点本地防火墙拦截:Oracle Linux 7.9默认开启firewalld,若集群部署时未自动放通6443端口,本地防火墙会直接丢弃访问请求。
  • kubeconfig配置错误:本地kubeconfig中的server地址未修改为https://127.0.0.1:6443,或是API访问证书和地址不匹配。

你使用的ARM架构A1节点、K8S 1.20.8版本本身兼容OKE服务,不是故障原因。

所需额外配置

按照以下步骤排查修复即可:

  1. 重新创建Bastion端口转发会话,目标IP明确填写10.0.0.14,端口填写6443,会话有效期按需设置,确保目标地址范围正确。
  2. 调整安全组规则:
    • 给Bastion关联的安全组添加出站规则:允许TCP协议6443端口到K8S API所在子网的CIDR
    • 给K8S API端点、集群节点关联的安全组添加入站规则:允许TCP协议6443端口来自Bastion所在子网的CIDR
  3. 检查集群节点本地防火墙规则,登录节点执行以下命令放通端口:
firewall-cmd --add-port=6443/tcp --permanent
firewall-cmd --reload
  1. 确认本地kubeconfig配置,clusters字段下的server地址改为https://127.0.0.1:6443,可先执行kubectl cluster-info --insecure-skip-tls-verify测试连通性,确认正常后再恢复证书校验配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 09:54:01