阿里云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

目录
相关文章
|
7月前
|
Kubernetes Devops 应用服务中间件
基于 Azure DevOps 与阿里云 ACK 构建企业级 CI/CD 流水线
本文介绍如何结合阿里云 ACK 与 Azure DevOps 搭建自动化部署流程,涵盖集群创建、流水线配置、应用部署与公网暴露,助力企业高效落地云原生 DevOps 实践。
798 1
|
数据采集 搜索推荐 数据管理
基于Python爬虫的垂直搜索引擎设计与实现
基于Python爬虫的垂直搜索引擎设计与实现
482 1
|
1月前
|
存储 人工智能 搜索推荐
阿里云AI Agent搭建不踩坑:全套餐(qwen-plus + 函数计算 + NAS)费用 + 教程
阿里云AI Agent搭建全套餐仅113.66元!含Qwen-Plus大模型(12000千tokens)、函数计算50万CU及NAS 200GiB资源包。教程详解LangStudio+OSS+FC+NAS协同工作流,覆盖文档上传、LLM分析、MCP搜索与费用自动抵扣,助你零踩坑快速落地AI Agent。
258 4
|
7月前
|
Dubbo Java 测试技术
上线别再“一刀切”!Gateway 做流量染色 + 灰度发布,告别线上事故
小富分享:通过Spring Cloud Gateway实现流量染色与灰度发布,为请求打标签(如VIP用户),结合自定义路由规则,实现新版本平滑上线。支持按用户、比例、设备等维度灰度,提升发布安全性,助力高效可控的线上迭代。
607 5
|
7月前
|
供应链 监控 安全
1688商品详情API接口实战指南:合规获取数据,驱动B2B业务增长
1688商品详情API(alibaba.product.get)是合规获取B2B商品数据的核心工具,支持全维度信息调用,助力企业实现智能选品、供应链优化与市场洞察,推动数字化转型。
|
8月前
|
人工智能 弹性计算 自然语言处理
云速搭 AI 助理发布:对话式生成可部署的阿里云架构图
阿里云云速搭 CADT(Cloud Architect Design Tools)推出智能化升级——云小搭,一款基于大模型的 AI 云架构助手,致力于让每一位用户都能“动动嘴”就完成专业级云架构设计。
919 31
|
4月前
|
缓存 JSON 前端开发
Spring Boot集成Thymeleaf模板引擎
Thymeleaf 是现代Java服务端模板引擎,支持HTML静态原型与动态数据融合,前后端可协作开发。通过 `th:*` 标签动态渲染数据,浏览器可直接预览页面,无需启动服务。Spring Boot 中集成简单,只需引入依赖并配置关闭缓存即可。支持对象、List 数据展示,常用标签如 th:value、th:each、th:if 等,便于构建动态页面。适用于错误页、表单等场景,提升开发效率。
|
XML JSON 缓存
阿里巴巴商品详情数据接口(alibaba.item_get) 丨阿里巴巴 API 实时接口指南
阿里巴巴商品详情数据接口(alibaba.item_get)允许商家通过API获取商品的详细信息,包括标题、描述、价格、销量、评价等。主要参数为商品ID(num_iid),支持多种返回数据格式,如json、xml等,便于开发者根据需求选择。使用前需注册并获得App Key与App Secret,注意遵守使用规范。