I have converted my Docker-compose.yml file to Kubernetes MiniKube using Kompose. After the conversion, I was no longer able to see my microservices in my Eureka discovery-service.
I converted the file using the command, 'Kompose convert' on the Docker-compose.yml file.
Here is a before and after comparison of two of my microservices:
Before (docker-compose.yml)
discovery-service:
build: ./discovery-service
image: springcloud/eureka:latest
container_name: eureka-discovery-server-container
ports:
- "8761:8761"
environment:
spring.config.import-check.enabled: false
networks:
microservices_network:
aliases:
- discovery-service-container
- eureka-discovery-server-container
- discovery-service
After (discovery-service-deployment.yml)
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: C:\ProgramData\chocolatey\lib\kubernetes-kompose\tools\kompose.exe convert -f docker-compose.yml
kompose.version: 1.28.0 (c4137012e)
creationTimestamp: null
labels:
io.kompose.service: discovery-service
name: discovery-service
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: discovery-service
strategy: {}
template:
metadata:
annotations:
kompose.cmd: C:\ProgramData\chocolatey\lib\kubernetes-kompose\tools\kompose.exe convert -f docker-compose.yml
kompose.version: 1.28.0 (c4137012e)
creationTimestamp: null
labels:
io.kompose.network/microservices-kubernetes-microservices-network: "true"
io.kompose.service: discovery-service
spec:
containers:
- env:
- name: spring.config.import-check.enabled
value: "false"
image: springcloud/eureka:latest
name: eureka-discovery-server-container
ports:
- containerPort: 8761
resources: {}
restartPolicy: Always
status: {}
After: (discovery-service-service.yml):
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: C:\ProgramData\chocolatey\lib\kubernetes-kompose\tools\kompose.exe convert -f docker-compose.yml
kompose.version: 1.28.0 (c4137012e)
creationTimestamp: null
labels:
io.kompose.service: discovery-service
name: discovery-service
spec:
ports:
- name: "8761"
port: 8761
targetPort: 8761
selector:
io.kompose.service: discovery-service
status:
loadBalancer: {}
Before: login-service (docker-compose.yml)
login-service:
container_name: login-service-container
image: springboot-app-login
restart: always
build: ./login-service
ports:
- "8083:8080"
depends_on:
login-db-docker-image:
condition: service_healthy
discovery-service:
condition: service_started
networks:
- microservices_network
After: login-service-deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
kompose.cmd: C:\ProgramData\chocolatey\lib\kubernetes-kompose\tools\kompose.exe convert -f docker-compose.yml
kompose.version: 1.28.0 (c4137012e)
creationTimestamp: null
labels:
io.kompose.service: login-service
name: login-service
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: login-service
strategy: {}
template:
metadata:
annotations:
kompose.cmd: C:\ProgramData\chocolatey\lib\kubernetes-kompose\tools\kompose.exe convert -f docker-compose.yml
kompose.version: 1.28.0 (c4137012e)
creationTimestamp: null
labels:
io.kompose.network/microservices-kubernetes-microservices-network: "true"
io.kompose.service: login-service
spec:
containers:
- image: springboot-app-login
name: login-service-container
ports:
- containerPort: 8080
resources: {}
restartPolicy: Always
status: {}
After: login-service-service.yml
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: C:\ProgramData\chocolatey\lib\kubernetes-kompose\tools\kompose.exe convert -f docker-compose.yml
kompose.version: 1.28.0 (c4137012e)
creationTimestamp: null
labels:
io.kompose.service: login-service
name: login-service
spec:
ports:
- name: "8083"
port: 8083
targetPort: 8080
selector:
io.kompose.service: login-service
status:
loadBalancer: {}
The Eureka discovery service is running on port 8761 and visible in the browser, but there are no services showing at all. It was working fine when I was using docker compose and docker containers. What changed? Any insight would be appreciated.