kompose

by kubernetes

kubernetes / kompose

Go from Docker Compose to Kubernetes

5.7K Stars 474 Forks Last release: 8 months ago (v1.21.0) Apache License 2.0 1.3K Commits 34 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

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 - 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.21.0/kompose-linux-amd64 -o kompose

macOS

curl -L https://github.com/kubernetes/kompose/releases/download/v1.21.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.

Note:

kompose up
is not supported on windows.

Shell autocompletion

We support both Bash and Zsh 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. Build with
make
console
$ make bin
3. Or build with
go
console
$ go build -o kompose main.go
4. 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.