Mohammed Naser | daf1bee | 2022-03-14 19:57:15 -0400 | [diff] [blame] | 1 | Quickstart |
| 2 | ========== |
| 3 | |
| 4 | The quick start intends to provide the most near-production experience possible, |
| 5 | as it is architected purely towards production-only environments. In order to |
| 6 | get a quick production-ready experience of Atmosphere, you will need access to |
| 7 | an OpenStack cloud. |
| 8 | |
| 9 | The quick start is powered by Molecule and it is used in continuous integration |
| 10 | running against the VEXXHOST public cloud so that would be an easy target to |
| 11 | use to try it out. |
| 12 | |
| 13 | You will need the following quotas set up in your cloud account: |
| 14 | |
| 15 | * 8 instances |
| 16 | * 32 cores |
| 17 | * 128GB RAM |
| 18 | * 360GB storage |
| 19 | |
| 20 | These resources will be used to create a total of 8 instances broken up as |
| 21 | follows: |
| 22 | |
| 23 | * 3 Controller nodes |
| 24 | * 3 Ceph OSD nodes |
| 25 | * 2 Compute nodes |
| 26 | |
| 27 | First of all, you'll have to make sure you clone the repository locally to your |
| 28 | system with ``git`` by running the following command:: |
| 29 | |
Mohammed Naser | 9914e47 | 2022-08-29 15:00:29 -0400 | [diff] [blame] | 30 | $ git clone https://github.com/vexxhost/atmosphere |
Mohammed Naser | daf1bee | 2022-03-14 19:57:15 -0400 | [diff] [blame] | 31 | |
Michiel Piscaer | 97b7fd3 | 2022-03-17 12:15:21 +0100 | [diff] [blame] | 32 | You will need ``tox`` installed on your operating system. You will need to make |
Mohammed Naser | daf1bee | 2022-03-14 19:57:15 -0400 | [diff] [blame] | 33 | sure that you have the appropriate OpenStack environment variables set (such |
Michiel Piscaer | 97b7fd3 | 2022-03-17 12:15:21 +0100 | [diff] [blame] | 34 | as ``OS_CLOUD`` or ``OS_AUTH_URL``, etc.). You can also use the following |
| 35 | environment variables to tweak the behaviour of the Heat stack that is created: |
| 36 | |
| 37 | ``ATMOSPHERE_STACK_NAME`` |
| 38 | The name of the Heat stack to be created (defaults to ``atmosphere``). |
| 39 | |
| 40 | ``ATMOSPHERE_PUBLIC_NETWORK`` |
| 41 | The name of the public network to attach floating IPs from (defaults to |
| 42 | ``public``). |
| 43 | |
| 44 | ``ATMOSPHERE_IMAGE`` |
| 45 | The name or UUID of the image to be used for deploying the instances ( |
| 46 | defaults to ``Ubuntu 20.04.3 LTS (x86_64) [2021-10-04]``). |
| 47 | |
| 48 | ``ATMOSPHERE_INSTANCE_TYPE`` |
| 49 | The instance type used to deploy all of the different instances (defaults |
| 50 | to ``v3-standard-4``). |
| 51 | |
| 52 | ``ATMOSPHERE_NAMESERVERS`` |
| 53 | A comma-separated list of nameservers to be used for the instances (defaults |
| 54 | to `1.1.1.1`). |
| 55 | |
| 56 | ``ATMOSPHERE_USERNAME`` |
| 57 | The username what is used to login into the instances (defaults to ``ubuntu``). |
| 58 | |
Michiel Piscaer | b490d71 | 2022-04-08 11:02:40 +0200 | [diff] [blame] | 59 | ``ATMOSPHERE_DNS_SUFFIX_NAME`` |
| 60 | The DNS domainname that is used for the API and Horizon. (defaults |
| 61 | to ``nip.io``). |
| 62 | |
| 63 | ``ATMOSPHERE_ACME_SERVER`` |
| 64 | The ACME server, currenly this is from Letsencrypt, with |
| 65 | StepCA from smallstep it is possible to run a internal ACME server. |
| 66 | The CA of that ACME server should be present in the instance image. |
| 67 | |
Michiel Piscaer | 97b7fd3 | 2022-03-17 12:15:21 +0100 | [diff] [blame] | 68 | Once you're ready to get started, you can run the following command to build |
| 69 | the Heat stack and :: |
Mohammed Naser | daf1bee | 2022-03-14 19:57:15 -0400 | [diff] [blame] | 70 | |
| 71 | $ tox -e molecule -- converge |
| 72 | |
| 73 | This will create a Heat stack with the name ``atmosphere`` and start deploying |
| 74 | the cloud. Once it's complete, you can login to any of the systems by using |
| 75 | the ``login`` sub-command. For exampel, to login to the first controller node, |
| 76 | you can run the following:: |
| 77 | |
| 78 | $ tox -e molecule -- login -h ctl1 |
| 79 | |
| 80 | In all the controllers, you will find an ``openrc`` file location inside the |
| 81 | ``root`` account home directory, as well as the OpenStack client installed there |
| 82 | as well. You can use it by running the following after logging in:: |
| 83 | |
| 84 | $ source /root/openrc |
| 85 | $ openstack server list |
| 86 | |
| 87 | The Kubernetes administrator configuration will also be available on all of the |
| 88 | control plane nodes, you can simply use it by running ``kubectl`` commands on |
| 89 | any of the controllers as ``root``:: |
| 90 | |
| 91 | $ kubectl get nodes -owide |
| 92 | |
| 93 | Once you're done with your environment and you need to tear it down, you can |
| 94 | use the ``destroy`` sub-command:: |
| 95 | |
| 96 | $ tox -e molecule -- destroy |
| 97 | |
| 98 | For more information about the different commands used by Molecule, you can |
Michiel Piscaer | 97b7fd3 | 2022-03-17 12:15:21 +0100 | [diff] [blame] | 99 | refer to the Molecule documentation. |