在Kubernetes中使用内部API调用的SSR

7d7tgy0s  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(1)|浏览(83)

我有一个nextjs前端应用程序和一个在kubernetes集群中托管的API。我使用istio实现这个。所以我现在想做的是,每当我做ssr,我希望能够从内部网络获得数据,而不需要接触到我的实际域,我已经通过网关公开了API。
基本上,当我从服务器端调用api.example.com时,我希望它解析为API.cluster.local,这样我的渲染和从服务器端获取数据将更快更高效
在这种情况下,我可以采取什么样的方法。请注意,我已经使用网关解析将这个API服务公开到api.example.com,用于客户端呈现

toiithl6

toiithl61#

实现这一点的方法是创建一个ServiceEntry。举例来说:

apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: se-api-example-com
spec:
  hosts:
  - api.example.com
  location: MESH_INTERNAL
  ports:
  - name: http
    number: 80
    # target port of your k8s service
    targetPort: 8000
    protocol: HTTP
  resolution: DNS
  endpoints:
    - address: api.namespace.svc.cluster.local

字符串
此条目将有效地“转换”对api.example.com发出的任何请求以转到api.namespace.svc.cluster.local:8000
有关ServiceEntry的更多信息,请查看Istio docs

相关问题