Need help with kompose?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

kubernetes
7.2K Stars 582 Forks Apache License 2.0 1.4K Commits 29 Opened issues

Description

Go from Docker Compose to Kubernetes

Services available

!
?

Need anything else?

Contributors list

Kompose (Kubernetes + Compose)

Build Status Widget Coverage Status Widget GoDoc Widget GoReportCard Widget

kompose
is a tool to help users who are familiar with
docker-compose
move to Kubernetes.
kompose
takes a Docker Compose file and translates it into Kubernetes resources.

kompose
is a convenience tool to go from local Docker development to managing your application with Kubernetes. Transformation of the Docker Compose format to Kubernetes resources manifest may not be exact, but it helps tremendously when first deploying an application on Kubernetes.

Use Case

Convert

docker-compose.yaml
into Kubernetes deployments and services with one simple command:

$ kompose convert -f docker-compose.yaml
INFO Kubernetes file "frontend-service.yaml" created         
INFO Kubernetes file "redis-master-service.yaml" created     
INFO Kubernetes file "redis-slave-service.yaml" created      
INFO Kubernetes file "frontend-deployment.yaml" created      
INFO Kubernetes file "redis-master-deployment.yaml" created  
INFO Kubernetes file "redis-slave-deployment.yaml" created 

Other examples are provided in the examples directory.

Installation

We have multiple ways to install Kompose. Our preferred method is downloading the binary from the latest GitHub release.

Our entire list of installation methods are located in our installation.md document.

Installation methods: - Binary (Preferred method) - Go - CentOS - Fedora - openSUSE/SLE - Ubuntu/Debian - macOS (Homebrew and MacPorts) - Windows

Binary installation

Kompose is released via GitHub on a three-week cycle, you can see all current releases on the GitHub release page.

Linux and macOS:

# Linux
curl -L https://github.com/kubernetes/kompose/releases/download/v1.25.0/kompose-linux-amd64 -o kompose

macOS

curl -L https://github.com/kubernetes/kompose/releases/download/v1.25.0/kompose-darwin-amd64 -o kompose

chmod +x kompose sudo mv ./kompose /usr/local/bin/kompose

Windows:

Download from GitHub and add the binary to your PATH.

Shell autocompletion

We support Bash, Zsh and Fish autocompletion.

# Bash (add to .bashrc for persistence)
source 

Development and building of Kompose

Building with
go

Requisites: 1. make 2. Golang v1.6 or later 3. Set

GOPATH
correctly or click SettingGOPATH for details

Steps: 1. Clone repository

console
$ git clone https://github.com/kubernetes/kompose.git $GOPATH/src/github.com/kubernetes/kompose
2. Change directory to the cloned repo.
console
cd $GOPATH/src/github.com/kubernetes/kompose
3. Build with
make
console
$ make bin
4. Or build with
go
console
$ go build -o kompose main.go
5. Test your changes
console
$ make test

Documentation

Documentation can be found at our kompose.io website or our docs folder.

Here is a list of all available docs:

Community, Discussion, Contribution, and Support

Issues: If you find any issues, please file it.

Kubernetes Community: As part of the Kubernetes ecosystem, we follow the Kubernetes community principles. More information can be found on the community page.

Chat (Slack): We're fairly active on Slack and you can find us in the #kompose channel.

Code of Conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.