Skip to content

Commit

Permalink
Create getting started with OpenStack doc
Browse files Browse the repository at this point in the history
  • Loading branch information
Levi Blackstone authored and Levi Blackstone committed Aug 15, 2018
1 parent 5ec3418 commit 2d67a1b
Showing 1 changed file with 66 additions and 0 deletions.
66 changes: 66 additions & 0 deletions docs/tutorial/openstack.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Getting Started with kops on OpenStack

**WARNING**: OpenStack support on kops is currently **alpha** meaning it is in the early stages of development and subject to change, please use with caution.

## Create config file
The config file contains the OpenStack credentials required to create a cluster. The config file has the following format:
```ini
[Default]
identity=<OS_AUTH_URL>
user=mk8s=<OS_USERNAME>
password=<OS_PASSWORD>
domain_name=<OS_USER_DOMAIN_NAME>
tenant_id=<OS_PROJECT_ID>

[Swift]
service_type=object-store
region=<OS_REGION_NAME>

[Cinder]
service_type=volumev3
region=<OS_REGION_NAME>

[Neutron]
service_type=network
region=<OS_REGION_NAME>

[Nova]
service_type=compute
region=<OS_REGION_NAME>
```

## Environment Variables

It is important to set the following environment variables:
```bash
export OPENSTACK_CREDENTIAL_FILE=<config-file> # where <config-file> is the path of the config file
export KOPS_STATE_STORE=swift://<bucket-name> # where <bucket-name> is the name of the Swift container to use for kops state

# TODO(lmb): Add a feature gate for OpenStack
# this is required since OpenStack support is currently in alpha so it is feature gated
# export KOPS_FEATURE_FLAGS="AlphaAllowOpenStack"
```

## Creating a Cluster

In the following examples, `example.com` should be replaced with the DigitalOcean domain you created when going through the [Requirements](#requirements).
Note that you kops will only be able to successfully provision clusters in regions that support block storage (AMS3, BLR1, FRA1, LON1, NYC1, NYC3, SFO2, SGP1 and TOR1).

```bash
# coreos (the default) + flannel overlay cluster in Default
kops create cluster --cloud=openstack --name=my-cluster.k8s.local --networking=flannel --zones=Default --network-cidr=192.168.0.0/16
# Not implemented yet...
# kops update cluster my-cluster.k8s.local --yes

# to delete a cluster
# Not implemented yet...
# kops delete cluster my-cluster.k8s.local --yes
```

## Features Still in Development

kops for OpenStack currently does not support these features:
* cluster create (servers, servergroups, load balancers, and DNS are not implemented yet)
* cluster delete
* state delete (fails due to unimplemented methods)

0 comments on commit 2d67a1b

Please sign in to comment.