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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
容器镜像服务 ACR,镜像仓库100个 不限时长
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介: 本文介绍了如何在阿里云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

目录
相关文章
|
3月前
|
Kubernetes Devops 应用服务中间件
基于 Azure DevOps 与阿里云 ACK 构建企业级 CI/CD 流水线
本文介绍如何结合阿里云 ACK 与 Azure DevOps 搭建自动化部署流程,涵盖集群创建、流水线配置、应用部署与公网暴露,助力企业高效落地云原生 DevOps 实践。
334 0
|
存储 编解码 小程序
抖音小程序开发中遇见的坑点
在抖音小程序开发中,需注意10大坑点:遵守小程序限制与规范;解决兼容性问题;优化数据加载速度;适应分享功能限制;处理视频播放挑战;优化图片加载显示;管理资源文件;提升用户体验;考虑安全性;及时更新维护。通过测试、优化和遵循官方文档,可克服这些问题,打造优质小程序。
|
数据采集 搜索推荐 数据管理
基于Python爬虫的垂直搜索引擎设计与实现
基于Python爬虫的垂直搜索引擎设计与实现
384 1
|
4月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2025 年 8 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要。
468 152
|
9月前
|
API 开发者 UED
HarmonyOS:ComposeTitleBar 组件自学指南
本文详解了鸿蒙开发中 ComposeTitleBar 组件的使用方法与技巧,从基础导入到属性配置,再到实际代码示例,帮助开发者构建美观实用的标题栏。组件自 API Version 10 起支持,具备独立功能结构,核心属性包括 `title`(必填)、`subtitle`(可选)和 `menuItems`(右侧菜单列表)。文章通过具体示例展示了如何配置标题、副标题及菜单项,并提供了交互优化、样式定制与多设备适配的建议。掌握这些内容,可显著提升应用界面体验。如果你有所收获,别忘了点赞收藏!
227 8
|
存储 监控 安全
在Linux中,如何进行日志审计?
在Linux中,如何进行日志审计?
|
存储 JSON Serverless
西游再现,函数计算一键部署 Flux 超写实文生图模型部署
参与体验活动生成西游人物图像,既有机会赢取好礼!本次实验在函数计算中内置了flux.1-dev-fp8大模型,通过函数计算+Serverless应用中心一键部署Flux模型,快速生成超写实图像。首次开通用户可领取免费试用额度,部署过程简单高效。完成部署后,您可以通过修改提示词生成各种风格的图像,体验Flux模型的强大绘图能力。
西游再现,函数计算一键部署 Flux 超写实文生图模型部署
|
Kubernetes 数据库 容器
k8s安装seata单机版
k8s安装seata单机版
|
小程序 JavaScript 开发者
微信小程序构建npm
微信小程序构建npm
811 4