React Native 和 Kubernetes

问题描述 投票:0回答:1

有了这个 Kubernetes 配置,尝试从 React Native Android 和 iOS 模拟器访问端点 sanction.dev 但不成功。获取:网络错误

apiVersion: apps/v1
kind: Deployment
metadata:
  name: auth-depl
spec:
  replicas: 1
  selector:
    matchLabels:
      app: auth
  template:
    metadata:
      labels:
        app: auth
    spec:
      containers:
        - name: auth
          image: dockerhub/sanction-auth
---
apiVersion: v1
kind: Service
metadata:
  name: auth-srv
spec:
  selector:
    app: auth
  ports:
    - name: auth
      port: 3000
      targetPort: 3000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-service
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/use-regex: 'true'
spec:
  rules:
    - host: sanction.dev
      http:
        paths:
          - path: /api/auth/?(.*)
            pathType: ImplementationSpecific
            backend:
              service:
                name: auth-srv
                port:
                  number: 3000

这是我的 /etc/hosts 映射:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
# 127.0.0.1     localhost
255.255.255.255 broadcasthost
::1             localhost

127.0.0.1 sanction.dev

React Native 无法访问 Kubernetes 端点的原因是什么?

android react-native kubernetes kubernetes-ingress
1个回答
0
投票

问题是 android 或 ios 模拟器在虚拟环境中模拟完整的系统。所以它是一个具有自己的网络上下文和自己的 127.0.0.1 的虚拟机。

我猜您想访问运行 kubernetes 集群的主机和模拟器。确保您需要在 android/ios 虚拟机中配置主机系统的 IP。

您需要弄清楚将模拟器连接到主机系统的虚拟网络中主机系统的 IP 地址是什么。 您也可以使用系统的外部 IP 进行尝试。但这个 IP 可能会改变,因为它可能是动态分配的。

© www.soinside.com 2019 - 2024. All rights reserved.