阿里云Kubenetes服务获取出站IP地址的快速说明

简介: 本文介绍了如何在阿里云Kubernetes集群中获取Next.js服务的出口IP,以便在AWS EC2安全组中配置访问规则。可通过进入Pod执行API调用获取源IP,或在Node.js中使用HTTP请求获取。此外,也可通过阿里云NAT网关的EIP直接获取出口IP。

我在阿里云上有一个 Kubernetes 集群,其中有一个 Next.js 托管服务,带有单个 pod,并且 Next.js 服务有一个服务器端 API 调用,可以从 AWS 中的 EC2 调用端点

image.png

因此,我需要在 AWS EC2 的安全组中添加传入规则,但是我的 Next.js 服务是什么 IP?

解决方案

解决方案是进入吊舱,发出 API 调用并捕获来源。

为此,我们可以执行以下操作:

# 获取 pod 列表并识别你的 pod 名称
kubectl -n <namespace> get pod 

# 进入 pod 的 shell(使用 bash 或 sh,取决于你的容器)
 kubectl -n <namespace> exec -it <your pod name> -- bash 

# 从 shell 内部,curl 结果将包含来源
curl http://httpbin.org/ip 

# 如果安装了 jq,则可以提取该字段:
# curl -s http://httpbin.org/ip | jq -r '.origin'

鉴于我的容器非常小并且没有安装 curl,而是安装了 node.js,所以我可以这样写:

const http = require ( 'http' ); 

function  getOutgoingIPAddress ( ) {
    
  return  new  Promise ( ( resolve, rejection ) => {
    
    const options = {
    
      hostname : 'httpbin.org' , 
      path : '/ip' , 
      method : 'GET'
     }; 

    const req = http.request ( options, ( res ) => {
    
      let data = ' ' ; 

      res.on ( 'data' , ( chunk ) => {
    
        data += chunk; 
      }); 

      res.on ( 'end' , ( ) => {
    
        const respond = JSON.parse (data); const 
        outgoingIPAddress = respond.origin ; resolve (outgoingIPAddress);       });     });     req.on ( ' error ' , ( error ) => {
    rejection (error);     }); req.end     ( );   }); } getOutgoingIPAddress ()   . then ( ( outgoingIPAddress ) => {
    console.log ( '传出IP 地址:' , outgoingIPAddress);   })   .catch ( ( error ) => {
    console.error ( '错误:' , error ); }   );

另一方面,如果您可以访问阿里云的管理控制台,则该信息位于 Kubernetes 集群的虚拟私有云 (VPC) 内部 NAT 网关的 EIP 中:

image.png

目录
相关文章
|
5月前
|
Kubernetes Devops 应用服务中间件
基于 Azure DevOps 与阿里云 ACK 构建企业级 CI/CD 流水线
本文介绍如何结合阿里云 ACK 与 Azure DevOps 搭建自动化部署流程,涵盖集群创建、流水线配置、应用部署与公网暴露,助力企业高效落地云原生 DevOps 实践。
590 1
|
数据采集 搜索推荐 数据管理
基于Python爬虫的垂直搜索引擎设计与实现
基于Python爬虫的垂直搜索引擎设计与实现
443 1
|
5月前
|
供应链 监控 安全
1688商品详情API接口实战指南:合规获取数据,驱动B2B业务增长
1688商品详情API(alibaba.product.get)是合规获取B2B商品数据的核心工具,支持全维度信息调用,助力企业实现智能选品、供应链优化与市场洞察,推动数字化转型。
|
5月前
|
Dubbo Java 测试技术
上线别再“一刀切”!Gateway 做流量染色 + 灰度发布,告别线上事故
小富分享:通过Spring Cloud Gateway实现流量染色与灰度发布,为请求打标签(如VIP用户),结合自定义路由规则,实现新版本平滑上线。支持按用户、比例、设备等维度灰度,提升发布安全性,助力高效可控的线上迭代。
494 5
|
6月前
|
人工智能 弹性计算 自然语言处理
云速搭 AI 助理发布:对话式生成可部署的阿里云架构图
阿里云云速搭 CADT(Cloud Architect Design Tools)推出智能化升级——云小搭,一款基于大模型的 AI 云架构助手,致力于让每一位用户都能“动动嘴”就完成专业级云架构设计。
784 31
|
2月前
|
缓存 JSON 前端开发
Spring Boot集成Thymeleaf模板引擎
Thymeleaf 是现代Java服务端模板引擎,支持HTML静态原型与动态数据融合,前后端可协作开发。通过 `th:*` 标签动态渲染数据,浏览器可直接预览页面,无需启动服务。Spring Boot 中集成简单,只需引入依赖并配置关闭缓存即可。支持对象、List 数据展示,常用标签如 th:value、th:each、th:if 等,便于构建动态页面。适用于错误页、表单等场景,提升开发效率。
|
7月前
|
JSON API UED
汇率查询API实战指南:通过Python调用获取多国汇率信息
本文介绍如何通过 Python 快速集成多币种汇率查询接口,实现实时获取全球主要货币汇率数据。适用于跨境电商价格换算、国际贸易结算等场景,帮助提升用户体验并规避汇率波动风险。
1415 0
汇率查询API实战指南:通过Python调用获取多国汇率信息
|
11月前
|
API 开发者 UED
HarmonyOS:ComposeTitleBar 组件自学指南
本文详解了鸿蒙开发中 ComposeTitleBar 组件的使用方法与技巧,从基础导入到属性配置,再到实际代码示例,帮助开发者构建美观实用的标题栏。组件自 API Version 10 起支持,具备独立功能结构,核心属性包括 `title`(必填)、`subtitle`(可选)和 `menuItems`(右侧菜单列表)。文章通过具体示例展示了如何配置标题、副标题及菜单项,并提供了交互优化、样式定制与多设备适配的建议。掌握这些内容,可显著提升应用界面体验。如果你有所收获,别忘了点赞收藏!
273 8
|
XML JSON 缓存
阿里巴巴商品详情数据接口(alibaba.item_get) 丨阿里巴巴 API 实时接口指南
阿里巴巴商品详情数据接口(alibaba.item_get)允许商家通过API获取商品的详细信息,包括标题、描述、价格、销量、评价等。主要参数为商品ID(num_iid),支持多种返回数据格式,如json、xml等,便于开发者根据需求选择。使用前需注册并获得App Key与App Secret,注意遵守使用规范。