2017-10-05 37 views
0

我有一个在Kubernetes集群上运行的示例应用程序。两个微服务,一个是mongodb容器,另一个是java springboot容器。Spinnaker上的Kubernetes - Interservice通信

springboot容器与mongodb容器通过服务交互并将数据存储到mongodb容器中。

该规格如下。

apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    name: empappdepl 
    labels: 
    name: empapp 
spec: 
    replicas: 1 
    template: 
    metadata: 
     labels: 
     name: empapp 
    spec: 
     containers: 
     - 
      resources: 
      limits: 
       cpu: 0.5 
      image: 11.168.xx.xx:5000/employee:latest 
      imagePullPolicy: IfNotPresent 
      name: wsemp 
      ports: 
      - containerPort: 8080 
       name: wsemp 
      command: ["java","-Dspring.data.mongodb.uri=mongodb://mongoservice/microservices", "-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] 
     imagePullSecrets: 
     - name: myregistrykey 
--- 
apiVersion: v1 
kind: Service 
metadata: 
    labels: 
    name: empwhatever 
    name: empservice 
spec: 
    ports: 
    - port: 8080 
    nodePort: 30062 
    type: NodePort 
    selector: 
    name: empapp 

apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    name: mongodbdepl 
    labels: 
    name: mongodb 
spec: 
    replicas: 1 
    template: 
    metadata: 
     labels: 
     name: mongodb 
    spec: 
     containers: 
     - resources: 
      limits: 
      cpu: 1 
     image: mongo 
     imagePullPolicy: IfNotPresent 
     name: mongodb 
     ports: 
      - containerPort: 27017 
--- 
apiVersion: v1 
kind: Service 
metadata: 
    labels: 
    name: mongowhatever 
    name: mongoservice 
spec: 
    ports: 
    - port: 27017 
    targetPort: 27017 
    protocol: TCP 
    type: NodePort 
    selector: 
    name: mongodb 

我想知道如何沟通可以在大三角帆,因为它会创建自己的标签,并选择完成。

谢谢,

回答

0

这就是它需要做的。

为应用程序创建的每个负载平衡器都是服务。因此,对于mongodb应用程序,在使用nodeport设置创建loadbalancer之后,获取服务的名称,例如:mongodb-dev。 MongoDB的服务器组也需要创建。

然后创建员工服务器组时,你需要一个在该容器单独的行指定的命令一个这里提到

https://github.com/spinnaker/spinnaker/issues/2021#issuecomment-334885467

"java","-Dspring.data.mongodb.uri=mongodb://name-of-mongodb-service/microservices", "-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar" 

现在,当员工和MongoDB荚开始,它能够得到它的映射并且能够正确地进行通信。