簡體   English   中英

大三角帆上的Kubernetes-服務間通信

[英]Kubernetes on Spinnaker - Interservice communication

我有一個在Kubernetes集群上運行的示例應用程序。 兩個微服務,一個是mongodb容器,另一個是java springboot容器。

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

我想知道在三角帆中如何實現這種通信,因為它創建了自己的標簽和選擇器。

謝謝,

這就是需要做的事情。

為應用程序創建的每個負載均衡器都是服務。 因此,對於mongodb應用程序,在使用nodeport設置創建負載均衡器之后,獲取服務的名稱,例如: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 Pod啟動時,便可以獲取其映射並能夠正確通信。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM