Minikube Kubernetes:两个吊舱和服务

Minikube Kubernetes:两个吊舱和服务,kubernetes,microservices,minikube,Kubernetes,Microservices,Minikube,我正在用Minikube运行一个简单的spring微服务项目。我有两个项目:lucky word客户端(在端口8080上)和lucky word服务器(在端口8888上)。但我无法与客户端和服务器通信。事实上,如果lucky word客户端与lucky word服务器通信,则结果为“Evviva”,否则为“Default”。当我在terminal:minikube服务幸运客户端上运行时,输出是默认的,而不是Evviva。我想通过DNS与客户端和服务器通信。我看到了导游:但没有成功。如何修改服务或

我正在用Minikube运行一个简单的spring微服务项目。我有两个项目:lucky word客户端(在端口8080上)和lucky word服务器(在端口8888上)。但我无法与客户端和服务器通信。事实上,如果lucky word客户端与lucky word服务器通信,则结果为“Evviva”,否则为“Default”。当我在terminal:minikube服务幸运客户端上运行时,输出是默认的,而不是Evviva。我想通过DNS与客户端和服务器通信。我看到了导游:但没有成功。如何修改服务或POD以在客户端和服务器之间建立链接

这是lucky word客户端的pod:

apiVersion: v1
kind: Pod
metadata:
  name: lucky-client
  namespace: default
spec:
  containers:
  - image: lucky-client-img
    imagePullPolicy: IfNotPresent
    name: lucky-client
这是lucky word服务器的吊舱:

apiVersion: v1
kind: Pod
metadata:
  name: lucky-server
  namespace: default
spec:
  containers:
  - image: lucky-server-img
    imagePullPolicy: IfNotPresent
    name: lucky-server
kind: Service
apiVersion: v1
metadata:
  name: lucky-client
spec:
  selector:
    app: lucky-client
  ports:
  - protocol: TCP
    targetPort: 8080
    port: 80
  type: NodePort
这是lucky word客户端与lucky word服务器通信的服务:

apiVersion: v1
kind: Pod
metadata:
  name: lucky-server
  namespace: default
spec:
  containers:
  - image: lucky-server-img
    imagePullPolicy: IfNotPresent
    name: lucky-server
kind: Service
apiVersion: v1
metadata:
  name: lucky-client
spec:
  selector:
    app: lucky-client
  ports:
  - protocol: TCP
    targetPort: 8080
    port: 80
  type: NodePort

如果要使用基于DNS的服务发现与服务器通信,请执行以下步骤:

  • 通过
    minikube addons Enable kube dns
    命令启用kube dns addon。这将在kubernetes集群中启用服务发现
  • 使用
    minikube addons list
    命令确保启用了kube dns addon
  • 在客户端应用程序代码中,将服务器URL端点更改为以下内容:
    http://lucky-server:8888
    。“lucky server”是Kubernetes服务器服务yaml定义的元数据名称
  • 或者,您可以在服务器URL中使用完全限定名
    lucky server.default.svc.cluster.local
    ,而不是
    lucky server
    ,因为您正在默认命名空间中部署服务
    您需要为您的lucky服务器提供服务:

    kind: Service 
    apiVersion: v1 
    metadata: 
      name: lucky-server
    spec: 
      selector: 
        app: lucky-server 
      ports: 
      - protocol: TCP 
        targetPort: 8888
        port: 80 
      type: NodePort
    

    如果通信路径为客户端-->服务器,则需要为服务器而不是客户端定义服务。