dockerkubernetes

Kubernetes Application with multiple Resources single YAML


currently i used docker-compose to arrange my application that consists of 3 dockerimages - a postgresql database and 2 wildfly application servers (Frontend-ui, backend).

My docker-compose.yml looks like this:

version: '3.0'
services:
  my-webgui-service:
    image: test/mywebgui
    ports:
    - "18081:8080"
    links:
    - my-app-service
  my-app-service:
    image: test/myapp
    ports:
    - "18080:8080"
    - "29990:9990"
    links:
    - db-service
  db-service:
    image: test/postgres
    ports:
    - "15432:5432

Now, i would like to implement the same thing via kubernetes.

Is it possible to arrange this in a single yaml-File, that contains the configuration for service, deployment and pods? I thought that it is easier to manage automated deployments when not having seperated yml-files.

Is this a best practice?


Solution

  • Yes it's possible, simply separate the different resources such as deployments, services, etc. with ---. Concerning if it's a good practice or not: a matter of taste, rather. If you have all in one file it's more self-contained but for kubectl apply -f it doesn't really matter since it operates on directories as well.