github.com/SUSE/skuba@v1.4.17/ci/infra/openstack/README.md (about) 1 ## Introduction 2 3 These terraform definitions are going to create the whole 4 cluster on top of openstack. 5 6 ## Deployment 7 8 Make sure to download an openrc file from your OpenStack instance, e.g.: 9 10 `https://engcloud.prv.suse.net/project/api_access/openrc/` 11 12 and source it: 13 14 ```sh 15 source container-openrc.sh 16 ``` 17 18 Also make sure to have your ssh key within OpenStack, by adding your key to the 19 key_pairs first. 20 21 Once you perform a [Customization](#Customization) you can use `terraform` to deploy the cluster: 22 23 ```sh 24 terraform init 25 terraform validate 26 terraform apply 27 ``` 28 29 ## Machine access 30 31 It is important to have your public ssh key within the `authorized_keys`, 32 this is done by `cloud-init` through a terraform variable called `authorized_keys`. 33 34 All the instances have a `root` and `sles` user. The normal 'sles' user user can 35 perform `sudo` without specifying a password. 36 37 Neither root nor the normal `sles` user will have password. Both `terraform` and `skuba` 38 are using SSH key-based authentication. You can always set a password after the 39 creation of the machines using `sudo passwd sles` (for normal user) or `sudo passwd` (for root). 40 41 ## Load balancer 42 43 The kubernetes api-server instances running inside of the cluster are 44 exposed by a load balancer managed by OpenStack. 45 46 ## Customization 47 48 Copy the `terraform.tfvars.example` to `terraform.tfvars` and 49 provide reasonable values. 50 51 ## Variables 52 53 `image_name` - Name of the image to use\ 54 `internal_net` - Name of the internal network to be created\ 55 `stack_name` - Identifier to make all your resources unique and avoid clashes with other users of this terraform project\ 56 `authorized_keys` - A list of ssh public keys that will be installed on all nodes\ 57 `repositories` - Additional repositories that will be added on all nodes\ 58 `packages` - Additional packages that will be installed on all nodes\ 59 `enable_cpi` - Enable Cloud Provider Integration with OpenStack in `cpi.auto.tfvars`\ 60 `ca_file` - Used to specify the path to your custom CA file in `cpi.auto.tfvars` 61 62 ### Please use one of the following options: 63 `caasp_registry_code` - Provide SUSE CaaSP Product Registration Code in 64 `registration.auto.tfvars` file to register product against official SCC server\ 65 `rmt_server_name` - Provide SUSE Repository Mirroring Tool Server Name in 66 `registration.auto.tfvars` file to use repositories stored on RMT server