【问题标题】:How should we configure the minikube for microservices我们应该如何为微服务配置 minikube
【发布时间】:2021-11-30 17:53:00
【问题描述】:
我有 3 个节点服务和一个 React 应用程序。我想在 Minikube 环境中运行它们。目前没有 API 网关,React 应用程序直接与每个服务通信。
我不知道以下内容。
- 如果我将这四个实例都配置为 Minikube 中的容器,那么必须如何在 React 应用程序中配置服务 URL。
- 目前我正在为所有服务和应用程序使用 .env 文件。如果我想使用配置映射,我需要在哪里挂载配置文件?并且提供安装路径就足够了,还是我需要做任何其他配置以使服务/应用程序能够从安装路径读取配置?
【问题讨论】:
标签:
node.js
devops
minikube
【解决方案1】:
1 .您需要在 minikube 上为所有微服务定义服务定义。请阅读 Kubernetes 服务的官方文档。 -->https://kubernetes.io/docs/concepts/services-networking/service/
如果您的 minikube 上有 3 个节点应用程序,您应该定义 3 个不同的服务。例如
应用程序 1 的服务 1:
apiVersion: v1
kind: Service
metadata:
name: ServiceA
spec:
type: ClusterIP
ports:
- targetPort: 80
port: 80
应用程序 2 的服务 2:
apiVersion: v1
kind: Service
metadata:
name: ServiceB
spec:
type: ClusterIP
ports:
- targetPort: 80
port: 80
应用程序 3 的服务 3:
apiVersion: v1
kind: Service
metadata:
name: ServiceC
spec:
type: ClusterIP
ports:
- targetPort: 80
port: 80
应用您的 yml 后,您可以查看所有应用程序的集群 IP。您的应用程序可以使用它们的 clusterIP 或它们的服务名称相互通信。请使用此命令检查您的应用程序 clusterIP
kubectl get svc
http://ServiceA -- > http://ServiceB
http://ClusterIPA --> http://ClusterIPB
- 如果您想使用 configmap,您需要挂载到您的 pod 定义 yaml。这是来自官方文档示例