[openstack-dev] [kolla][tripleo][nova][glance][keystone] announce of Kolla Milestone #1
Steven Dake
sdake at redhat.com
Wed Oct 22 14:55:16 UTC 2014
The Kolla development community would like to announce the release of
Kolla Milestone #1. This milestone constitutes two weeks of effort by
the developers and is available for immediate download from
https://github.com/stackforge/kolla/archive/version-m1.tar.gz.
Kolla is a project to containerize OpenStack based upon Kubernetes and
Docker. With this release, we have minimally functional containers
available for:
* glance (glance-api, glance-registry)
* mariadb
* keystone
* nova-compute (nova-network, nova-compute)
* nova-controller (nova-conductor, nova-api, nova-scheduler)
* rabbitmq
* heat (heat-api, heat-engine)
While these containers will boot and provide the expected OpenStack
APIs, they should be considered a technology demonstration rather than a
functional OpenStack deployment.
We are hopeful the community gives Kolla a spin.
Setting up a test environment
=======================
OPTION 1 (run steps 1.1-1.5 and 3.1-3.4):
For those without an existing Kubernetes environment, two options are
available for configuring one:
The upstream Kubernetes community provides instructions for running
Kubernetes using Vagrant, available
from:https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/getting-started-guides/vagrant.md
The Kolla developers develop Kolla in OpenStack, using Heat to provision
the necessary servers and other resources. If you are familiar with
Heat and you have a correctly configured environment available, this
lets you deploy a working Kubernetes cluster automatically. The Heat
templates are available fromhttps://github.com/larsks/heat-kubernetes/.
The templates require at least Heat 2014.1.3 (earlier versions have a
bug that will prevent the templates from working).
Here are some simple steps to get things rolling using the Heat templates:
1.1. git clonehttps://github.com/larsks/heat-kubernetes/; cd heat-kubernetes
1.2. Create an appropriate image by running the get_image.sh script in
this repository. This will generate an image called
"fedora-20-k8s.qcow2". Upload this image to Glance. You can also obtain
an appropriate image
fromhttps://fedorapeople.org/groups/heat/kolla/fedora-20-k8s.qcow2.
1.3. Create a file "local.yaml" with settings appropriate to your
OpenStack environment. It should look something like:
* parameters:
* server_image: fedora-20-k8s
* ssh_key_name: sdake
* dns_nameserver: 8.8.8.8
* external_network_id: 6e7e7701-46a0-49c0-9f06-ac5abc79d6ae
* number_of_minions: 1
* server_flavor: m1.large
* You *must* provide settings for external_network_id and
ssh_key_name; these are local to your environment. You will probably
also need to provide a value for server_image, which should be the
name (or UUID) of a Fedora 20 cloud image or derivative.
1.4. heat stack-create -f kubecluster.yaml -e local.yaml my-kube-cluster
1.5. Determine the ip addresses of your cluster hosts by running:
heat output-show my-kube-cluster kube_minions_external
OPTION 2 (run steps 2.1-2.12 and steps 3.1-3.4):
This document and the scripts provided assume Fedora on a virtual or
physical environment outside of OpenStack. In this environment, Heat
won't be accessible as the orchestration mechanism and scripts will be
provided instead.
Install Master
------------------
2.1.: Install Fedora 20 x86-64 using whatever method is best for you
(Kickstart+http works well if you have it setup)
2.2: Pick a node for your kubernetes master - note the IP address
2.3: Note the IP addresses of all other nodes. These will be referred to
as "minions"
2.4: ssh root@{master-node} #It is very important that you ssh as root!
2.5: curlhttp://people.redhat.com/bholden/kube/master-install.sh>
master-install.sh; chmod +x master-install.sh
2.6: Edit the master-install.sh file you just created. You will need to
add the minion IP addresses to the variable MINION_ADDRESSES at the top,
and then comment out the exit. MINION_ADDRESSES will expect commas
between each minion IP address. This line have entries that match the
MINION_HOSTNAME variables set on each minion. The script later will set
each MINION_HOSTNAME to its IP address
2.7: sh master-install.sh
Can minion install run during master install or do we need to wait until
after master is done to run minion installation?
Install Minions
-------------------
For this task, you may want to generate an SSH key from your workstation
(if you're using Linux, run ssh-keygen) and then copy it around to your
minions (if Linux, use ssh-copy-id root@${remote-ip})
You can then loop over the minion hostnames or IP addresses using a
simple bash loop, example: for i in ip1 ip2 ip3; do ssh root@$i
<command> ; done
This document will assume only one minion
2.8: ssh root@{minion-node}
2.9: curlhttp://people.redhat.com/bholden/kube/minion-install.sh>
minion-install.sh; chmod +x minion-install.sh
2.10: Edit the minion-install.sh file you just created. You will need to
change the KUBE_MASTER_IP variable at the top. Editing the
BRIDGE_ADDRESS_BASE and LINKMANAGER_KEY variables are optional. Comment
out the exit
2.11: sh minion-install.sh
2.12: An update has been made to /etc/environment . You can source this
file, or log out and log back in. Make sure there is output when you
run: env | grep KUBERNETES . This output should match the IP address of
your kubernetes master
Installing kolla
===========
3.1. ssh <user>@${minion-ip}
3.2. minion$ git clonehttp://github.com/stackforge/kolla
3.3. minion$ cd kolla
3.4. minion$ ./tools/start
After executing these commands, Kolla will start with a minimum viable
feature set to make OpenStack usable. This includes running all of the
OpenStack services currently enabled. It takes approximately 20 minutes
to download the pre-built containers for the various OpenStack
services. Once downloaded, the service will transition from WAITING to
RUNNING (as can be seen with kubecfg list pods). Our first milestone
documented here (https://blueprints.launchpad.net/kolla/milestone-1) is
fairly impressive, considering we had no code two weeks ago.
Our next milestone, #2 is planned for October 31st. The blueprints are
documented here:
* https://blueprints.launchpad/net/kolla/milestone-2
Come join us in developing this really sweet technology!
Regards
-The Kolla Dev Team
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20141022/c60650ca/attachment.html>
More information about the OpenStack-dev
mailing list