stackube/install
Pei Tong ba9fa99f6c blueprint cluster-installation
Add install tool

The tool aims to make the deploying of stackube as easy as possible.
User could set up a whole Stackube cluster automatically by using it.
It uses docker images provided by OpenStack Kolla Project to run a
containerized OpenStack, and uses kubeadm to deploy kubenetes, then
bootstrap the Stackube cluster.

Change-Id: I6f18cf4d1a792bc505f955937f000dc0967341ce
Implements: blueprint cluster-installation
2017-08-30 09:33:39 +00:00
..
ceph blueprint cluster-installation 2017-08-30 09:33:39 +00:00
kubernetes blueprint cluster-installation 2017-08-30 09:33:39 +00:00
openstack blueprint cluster-installation 2017-08-30 09:33:39 +00:00
config_example blueprint cluster-installation 2017-08-30 09:33:39 +00:00
deploy_ceph.sh blueprint cluster-installation 2017-08-30 09:33:39 +00:00
deploy_kubernetes.sh blueprint cluster-installation 2017-08-30 09:33:39 +00:00
deploy_openstack.sh blueprint cluster-installation 2017-08-30 09:33:39 +00:00
deploy.sh blueprint cluster-installation 2017-08-30 09:33:39 +00:00
ensure_distro_supported.sh blueprint cluster-installation 2017-08-30 09:33:39 +00:00
ensure_docker_installed.sh blueprint cluster-installation 2017-08-30 09:33:39 +00:00
lib_common.sh blueprint cluster-installation 2017-08-30 09:33:39 +00:00
lib_tls.sh blueprint cluster-installation 2017-08-30 09:33:39 +00:00
README.md blueprint cluster-installation 2017-08-30 09:33:39 +00:00
remove_ceph.sh blueprint cluster-installation 2017-08-30 09:33:39 +00:00
remove_kubernetes.sh blueprint cluster-installation 2017-08-30 09:33:39 +00:00
remove_openstack.sh blueprint cluster-installation 2017-08-30 09:33:39 +00:00
remove.sh blueprint cluster-installation 2017-08-30 09:33:39 +00:00

Setting Up A Multi-nodes Stackube (Without HA For Now)

This page describes how to setup a multi-nodes cluster of Stackube.

Prerequisites

Roles

A stackube deployment is comprised by four kinds of nodes: control, network, compute, storage.

  • Control

    • The control node is where openstack/kubernetes/ceph's control-plane will run.
    • At least one and only one node (for now).
    • Minimum hardware requirements:
      • Two network interfaces
        • One is for public network connection, with a public IP.
        • The other one is for private network connection, with a private IP and MTU >= 1600.
      • 8GB main memory
      • 50GB disk space
  • Network

    • The network nodes are where neutron l3/lbaas/dhcp agents will run.
    • At least one node.
    • Minimum hardware requirements:
      • Two network interfaces
        • One is as neutron-external-interface. Public IP is not needed.
        • The other one is for private network connection, with a private IP and MTU >= 1600.
      • 8GB main memory
      • 50GB disk space
  • Compute

    • The compute nodes are where your workloads will run.
    • At least one node.
    • Minimum hardware requirements:
      • One network interface
        • For private network connection, with a private IP and MTU >= 1600.
      • 8GB main memory
      • 50GB disk space
  • Storage

    • The storage nodes are where ceph-osd(s) will run.
    • At least one node.
    • Minimum hardware requirements:
      • One network interface
        • For private network connection, with a private IP and MTU >= 1600.
      • 8GB main memory
      • 50GB disk space

There is no conflict between any two roles. That means, all of the roles could be deployed on the same node(s).

Host OS

For now only CentOS 7.x is supported.

Public IP Pool

A number of public IPs are needed.

Deploy

All instructions below must be done on the control node.

1. SSH To The Control Node, And Become Root

sudo su -

2. Enable Password-Less SSH

The control node needs to ssh to all nodes when deploying.

  • Generate SSH keys on the control node. Leave the passphrase empty:
ssh-keygen

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
  • Copy the key to each node (including the control node itself):
ssh-copy-id root@NODE_IP

3. Clone Stackube Repo

git clone https://git.openstack.org/openstack/stackube

4. Edit The Config File

cd stackube/install
vim config_example

5. Do The Deploy

bash deploy.sh config_example

If failed, please do remove (as shown below) before deploy again.

Remove

bash remove.sh config_example