forked from LaconicNetwork/kompose
Update documentation to reflect quickstart
Adds quickstart.md from the kompose.io site as well as incorporates changes so that you can update the index page of Kompose.io via quickstart.md
This commit is contained in:
parent
a35d5965b5
commit
ea95f0a912
@ -1,7 +1,7 @@
|
||||
# Kompose Documentation
|
||||
|
||||
|
||||
* [User Guide](user-guide.md)
|
||||
* [Architecture](architecture.md)
|
||||
* [Conversion](conversion.md)
|
||||
* [Development](development.md)
|
||||
|
||||
* [Setup](setup.md)
|
||||
* [User Guide](user-guide.md)
|
||||
|
||||
116
docs/quickstart.md
Normal file
116
docs/quickstart.md
Normal file
@ -0,0 +1,116 @@
|
||||
---
|
||||
layout: default
|
||||
---
|
||||
|
||||
# Kubernetes + Compose = Kompose
|
||||
|
||||
What's Kompose? It's a conversion tool for all things compose (namely Docker Compose) to container orchestrators (Kubernetes or OpenShift).
|
||||
|
||||
Whether you have a `docker-compose.yaml` or a `docker-compose.dab`, it doesn't matter. Kompose will get you up-and-running on Kubernetes.
|
||||
|
||||
In three simple steps, we'll take you from Docker Compose to Kubernetes.
|
||||
|
||||
__1. Take a sample docker-compose.yaml file__
|
||||
|
||||
```yaml
|
||||
version: "2"
|
||||
|
||||
services:
|
||||
|
||||
redis-master:
|
||||
image: gcr.io/google_containers/redis:e2e
|
||||
ports:
|
||||
- "6379"
|
||||
|
||||
redis-slave:
|
||||
image: gcr.io/google_samples/gb-redisslave:v1
|
||||
ports:
|
||||
- "6379"
|
||||
environment:
|
||||
- GET_HOSTS_FROM=dns
|
||||
|
||||
frontend:
|
||||
image: gcr.io/google-samples/gb-frontend:v4
|
||||
ports:
|
||||
- "80:80"
|
||||
environment:
|
||||
- GET_HOSTS_FROM=dns
|
||||
labels:
|
||||
kompose.service.type: LoadBalancer
|
||||
```
|
||||
|
||||
__2. Run `kompose up` in the same directory__
|
||||
|
||||
```bash
|
||||
▶ kompose up
|
||||
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.
|
||||
|
||||
INFO Successfully created Service: redis
|
||||
INFO Successfully created Service: web
|
||||
INFO Successfully created Deployment: redis
|
||||
INFO Successfully created Deployment: web
|
||||
|
||||
Your application has been deployed to Kubernetes. You can run 'kubectl get deployment,svc,pods,pvc' for details.
|
||||
```
|
||||
|
||||
__Alternatively, you can run `kompose convert` and deploy with `kubectl`__
|
||||
|
||||
__2.1. Run `kompose convert` in the same directory__
|
||||
|
||||
```bash
|
||||
▶ kompose convert
|
||||
INFO file "frontend-service.yaml" created
|
||||
INFO file "redis-master-service.yaml" created
|
||||
INFO file "redis-slave-service.yaml" created
|
||||
INFO file "frontend-deployment.yaml" created
|
||||
INFO file "redis-master-deployment.yaml" created
|
||||
INFO file "redis-slave-deployment.yaml" created
|
||||
```
|
||||
|
||||
__2.2. And start it on Kubernetes!__
|
||||
|
||||
```bash
|
||||
▶ kubectl create -f frontend-service.yaml,redis-master-service.yaml,redis-slave-service.yaml,frontend-deployment.yaml,redis-master-deployment.yaml,redis-slave-deployment.yaml
|
||||
service "frontend" created
|
||||
service "redis-master" created
|
||||
service "redis-slave" created
|
||||
deployment "frontend" created
|
||||
deployment "redis-master" created
|
||||
deployment "redis-slave" created
|
||||
```
|
||||
|
||||
__3. View the newly deployed service__
|
||||
|
||||
Now that your service has been deployed, let's access it.
|
||||
|
||||
If you're already using `minikube` for your development process:
|
||||
|
||||
```bash
|
||||
minikube service frontend
|
||||
```
|
||||
|
||||
Otherwise, let's look up what IP your service is using!
|
||||
|
||||
```sh
|
||||
▶ kubectl describe svc frontend
|
||||
Name: frontend
|
||||
Namespace: default
|
||||
Labels: service=frontend
|
||||
Selector: service=frontend
|
||||
Type: LoadBalancer
|
||||
IP: 10.0.0.183
|
||||
LoadBalancer Ingress: 123.45.67.89
|
||||
Port: 80 80/TCP
|
||||
NodePort: 80 31144/TCP
|
||||
Endpoints: 172.17.0.4:80
|
||||
Session Affinity: None
|
||||
No events.
|
||||
|
||||
```
|
||||
|
||||
If you're using a cloud provider, your IP will be listed next to `LoadBalancer Ingress`.
|
||||
|
||||
```sh
|
||||
▶ curl http://123.45.67.89
|
||||
```
|
||||
@ -50,9 +50,12 @@ permalink: /$name/
|
||||
done
|
||||
cd ..
|
||||
|
||||
# remove README.md from docs folder as it isn't relevant
|
||||
# Remove README.md from docs folder as it isn't relevant
|
||||
rm docs/README.md
|
||||
|
||||
# Use quickstart.md instead as the main index page
|
||||
mv docs/quickstart.md index.md
|
||||
|
||||
# add relevant user information
|
||||
git config user.name "$DOCS_USER"
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user