2017-10-05 54 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莢開始,它能夠得到它的映射並且能夠正確地進行通信。