Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Map this file with -v path/to/openrc/file:/root/SAVED_AND_SENSITIVE_VOLUME

...

Run deploy-tools

Execute the following command to run the deploy-tools container, substituting in the location of your OpenRC file:

...

This container has ansible, nova, cinder, and other tools necessary to programmatically create and delete machine instances on Nebula.

Source openrc.sh

Now that you're in the container, source the openrc file mapped into /root/SAVED_AND_SENSITIVE_VOLUME

Code Block
languagebash
source /root/SAVED_AND_SENSITIVE_VOLUME/PROJECT-openrc.sh

Cluster Inventory

Copy and modify that the example cluster inventory to your liking:

Code Block
languagebash
cp inventory/example inventory/new-cluster
vi inventory/new-cluster

Example

An example inventory is given explained in detail below:

Code Block
languagebash
#
# Servers 
#
# These are the target instance names on Nebula.
# The [x:y] notation defines a range, allowing you to specify quantities for each machine type.
#
[etcd]
c1_etcd[1:3]

[glfs]
c1_gfs[1:4]

[master]
c1_master[1:2]

[k8compute]
c1_node[1:3]

[loadbal]
c1_loadbal

#
# Groups - assigned according to roles
#
# The server groups defined above are then further grouped into "cluster1".
# "cluster1" is then assigned the roles/tasks for "openstack" and "coreos"
#
[cluster1:children]
etcd
glfs
master
k8compute
loadbal

# These groups are configured in /root/group_vars
# The group are assigned roles in /root/playbooks/kubernetes-infrastructure.yml
# The roles themselves are defined in /usr/local/lib/ndslabs/ansible/roles
[openstack:children]
cluster1

[coreos:children]
cluster1

[publicip:children]
loadbal

#
# Cluster-Specific Group Variables/overrides
#
# Configure GlusterFS volumes for desired bricks
# This includes the volume sizes and mount paths necessary for Gluster
# 
# Configure "cluster1" group to create or reuse the SSH key called "cluster1" 
# Default the "cluster1" group to m1.medium CoreOSAlpha instances
#
[glfs:vars]
vol_size= 200
vol_name= brick0
mount_path= /media/brick0
service_name=media-brick0.mount

[cluster1:vars]
key_name= cluster1
# Default image/flavor
image= CoreOSAlpha
flavor= m1.medium

Run ansible-playbook

Run the Ansible playbook kubernetes-infrastructure.yml with your modified inventory file.

...