当前位置: 首页 > 知识库问答 >
问题:

路由到内部IP?AKS公司

呼延承平
2023-03-14

我使用Azure库伯内特斯服务来提供我的微服务。当我登录到我的API网关时,它可以工作。但是当我尝试通过Api-Gateway联系另一个微服务时,我收到一个错误(500内部服务器错误)。我还在库伯内特斯设置了一个Eureka命名服务器,我提供的所有微服务都在那里注册。但是为什么我的API网关不能与我的微服务通信?它也可以在本地机器上工作。

我的Yaml文件

apiVersion: apps/v1
kind: Deployment
metadata:
  name: discoveryservice-front
spec:
  replicas: 1
  selector:
    matchLabels:
      app: discoveryservice-front
  template:
    metadata:
      labels:
        app: discoveryservice-front
    spec:
      nodeSelector:
        "beta.kubernetes.io/os": linux
      containers:
        - name: discoveryservice-front
          image: containerregistry.azurecr.io/discoveryservice:16
          resources:
            requests:
              cpu: 100m
              memory: 128Mi
            limits:
              cpu: 250m
              memory: 512Mi
          ports:
          - containerPort: 8762
            name: discovery
            
---
apiVersion: v1
kind: Service
metadata:
  name: eureka
spec:
  type: LoadBalancer
  ports:
  - port: 8762
  selector:
    app: discoveryservice-front
apiVersion: apps/v1
kind: Deployment
metadata:
  name: apigateway-front
spec:
  replicas: 1
  selector:
    matchLabels:
      app: apigateway-front
  template:
    metadata:
      labels:
        app: apigateway-front
    spec:
      nodeSelector:
        "beta.kubernetes.io/os": linux
      containers:
        - name: apigateway-front
          image: containerregistry.azurecr.io/apigateway:27
          resources:
            requests:
              cpu: 100m
              memory: 128Mi
            limits:
              cpu: 250m
              memory: 512Mi
          ports:
          - containerPort: 8800
            name: apigateway
            
---
apiVersion: v1
kind: Service
metadata:
  name: apigateway-front
spec:
  type: LoadBalancer
  ports:
  - port: 8800
  selector:
    app: apigateway-front
    
    
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: contacts-back
spec:
  replicas: 1
  selector:
    matchLabels:
      app: contacts-back
  template:
    metadata:
      labels:
        app: contacts-back
    spec:
      nodeSelector:
        "beta.kubernetes.io/os": linux
      containers:
      - name: contacts-back
        image: containerregistry.azurecr.io/contacts:26
        resources:
          requests:
            cpu: 100m
            memory: 128Mi
          limits:
            cpu: 250m
            memory: 512Mi
        ports:
        - containerPort: 8100
          name: contacts-back
          
---
apiVersion: v1
kind: Service
metadata:
  name: contacts-back
spec:
  ports:
  - port: 8100
  selector:
    app: contacts-back
---


apiVersion: apps/v1
kind: Deployment
metadata:
  name: templates-back
spec:
  replicas: 1
  selector:
    matchLabels:
      app: templates-back
  template:
    metadata:
      labels:
        app: templates-back
    spec:
      nodeSelector:
        "beta.kubernetes.io/os": linux
      containers:
      - name: templates-back
        image: containerregistry.azurecr.io/templates:25
        resources:
         requests:
            cpu: 100m
            memory: 128Mi
         limits:
            cpu: 250m
            memory: 512Mi
        ports:
         - containerPort: 8200
           name: templates-back
---
apiVersion: v1
kind: Service
metadata:
  name: templates-back
spec:
  ports:
  - port: 8200
  selector:
    app: templates-back

我所有的微服务都运行在同一个节点上。我的想法可能是在API网关中重新安装路由。但是可以路由到内部IP吗?有人能告诉我我做错了什么吗?

共有1个答案

公羊嘉
2023-03-14

由于您正在集群内运行API网关,因此进程应该能够使用其服务定义访问所有其他pod。

假设所有服务/部署都部署在同一命名空间中。api网关应该能够通过服务名称引用它们

e、 g(fqdn)

contacts-back.<namespace>.svc.cluster.local:8100
 类似资料:
  • 在compute节点上启动的VM实例可以访问除C类IP之外的所有外部internet站点。控制器和计算节点已经根据openstack liberty指南在Ubuntu上成功安装。 VM的接口有: [root@vm3~]#ifconfig eth1链路Encap:Ethernet HWaddr FA:16:3E:57:1B:57 inet Addr:192.168.0.215 BCAST:255.2

  • 我在VPC上有一个极光数据库。今天我需要通过lambda连接到数据库。这并不是一个问题,只是我需要在Lambda中访问互联网,所以我必须设置以下内容: 我为公共NAT添加了新的子网。 我添加了NAT网关,并将其分配给新的EIP和新的子网。 我添加了一个新的路由表,该表将所有流量路由到并将该表与在步骤1中创建的新子网相关联。 我修改了路由表,并将所有流量路由到NAT。

  • 我正在使用spring cloud路由应用程序,但无法这样做,下面是详细信息 我还尝试将路径添加为

  • 然而,当我连接到路由器配置页面使用浏览器的互联网IP地址显示在那里。如何在我的java应用程序中获得互联网IP地址?

  • 5. IP地址与路由 IPv4的IP地址长度为4字节,通常采用点分十进制表示法(dotted decimal representation)例如0xc0a80002表示为192.168.0.2。Internet被各种路由器和网关设备分隔成很多网段,为了标识不同的网段,需要把32位的IP地址划分成网络号和主机号两部分,网络号相同的各主机位于同一网段,相互间可以直接通信,网络号不同的主机之间通信则需要

  • 公共路由前缀 To set default path (route prefix), use setGlobalPrefix() method of INestApplication object. Example: 使用INestApplication对象的setGlobalPrefix()方法可以设置默认路径(route prefix)。 const app = NestFactory.cre