Kubernetes kompose

7/30/2018

Hi I am working on kubernetes using AWS EKS. I have a problem with kompose file when I am converting the docker-compose file into kompose file i had aproble with the volume mount point and as well when I run the command the kompose up it is asking the username which credential should i provide.

this is my docker-compose.yml

services:
    cms-db:
        image: mysql:5.6
        volumes:
            - "./shared/db:/var/lib/mysql"
        restart: always
        environment:
            - MYSQL_DATABASE=cms
            - MYSQL_USER=cms
            - MYSQL_RANDOM_ROOT_PASSWORD=yes
        mem_limit: 1g
        env_file: config.env
    cms-xmr:
        image: xibosignage/xibo-xmr:release-0.7
        ports:
            - "9505:9505"
        restart: always
        mem_limit: 256m
        env_file: config.env
    cms-web:
        image: xibosignage/xibo-cms:release-1.8.10
        volumes:
            - "./shared/cms/custom:/var/www/cms/custom"
            - "./shared/backup:/var/www/backup"
            - "./shared/cms/web/theme/custom:/var/www/cms/web/theme/custom"
            - "./shared/cms/library:/var/www/cms/library"
            - "./shared/cms/web/userscripts:/var/www/cms/web/userscripts"
        restart: always
        links:
            - cms-db:mysql
            - cms-xmr:50001
        environment:
            - XMR_HOST=cms-xmr
        env_file: config.env
        ports:
            - "80:80"
        mem_limit: 1g


[root@my-ip xibo-docker-1.8.10]# kompose up
WARN Unsupported env_file key - ignoring
WARN Unsupported links key - ignoring
WARN Volume mount on the host "./shared/db" isn't supported - ignoring path on the host
WARN Volume mount on the host "./shared/cms/custom" isn't supported - ignoring path on the host
WARN Volume mount on the host "./shared/backup" isn't supported - ignoring path on the host
WARN Volume mount on the host "./shared/cms/web/theme/custom" isn't supported - ignoring path on the host
WARN Volume mount on the host "./shared/cms/library" isn't supported - ignoring path on the host
WARN Volume mount on the host "./shared/cms/web/userscripts" isn't supported - ignoring path on the host
INFO We are going to create Kubernetes Deployments, Services and PersistentVolumeClaims for your Dockerized application. If you need different kind of resources, use the 'kompose convert' and 'kubectl create -f' commands instead.

Please enter Username:
-- Ravi Teja
docker
kubernetes

1 Answer

7/31/2018

The better way to apply your configuration to Kubernetes cluster is to convert it, check YAML files, adjust them if necessary and then apply them using kubectl.

I tested the conversion using kompose v1.16.0 on Mac and I had to remove the mem_limit option from the docker-compose.yml file to complete it successfully.

$ mkdir export
$ kompose -v convert -f docker-compose.yml -o export

14 files will be created in the export directory.

Local paths are not supported - Persistent Volume Claim will be created instead (Warning will appear). Persistent volume claims is 100Mi by default. Edit the claim YAML files and increase the size if necessary.

Now your configuration can be deployed to Kubernetes cluster using:

kubectl create -f export/
-- VAS
Source: StackOverflow