github.com/SUSE/skuba@v1.4.17/ci/infra/libvirt/README.md (about) 1 ## Introduction 2 3 These terraform definitions are going to create the whole 4 cluster on KVM via terraform-provider-libvirt. 5 6 ## Prerequisites 7 8 Follow instructions at https://github.com/dmacvicar/terraform-provider-libvirt#installing to install terraform-provider-libvirt. 9 10 ## Deployment 11 12 Use `terraform` to deploy the cluster. `-parallelism=1` used in apply command avoids potential concurrent issues in terraform-provider-libvirt. 13 14 ```sh 15 terraform init 16 terraform apply -parallelism=1 17 ``` 18 19 ## Machine access 20 21 It is important to have your public ssh key within the `authorized_keys`, this is done by `cloud-init` through a terraform variable called `authorized_keys`. 22 23 All the instances have a `sles` user, password is not set. User can login only as `sles` user over SSH by using his private ssh key. The `sles` user can perform `sudo` without specifying a password. 24 25 ## Load balancer 26 27 The kubernetes api-server instances running inside of the cluster are 28 exposed by a load balancer managed by OpenStack. 29 30 ## Customization 31 32 IMPORTANT: Please define unique `stack_name` value in `terrafrom.tfvars` file to not interfere with other deployments. 33 34 Copy the `terraform.tfvars.example` to `terraform.tfvars` and provide reasonable values. 35 36 ## Variables 37 38 `libvirt_uri` - URL of the libvirt host 39 `libvirt_keyfile` - The key file used for the connection to a remote libvirt server 40 `image_uri` - URL of the image to use 41 `stack_name` - Identifier to make all your resources unique and avoid clashes with other users of this terraform project 42 `authorized_keys` - A list of ssh public keys that will be installed on all nodes 43 `repositories` - Additional repositories that will be added on all nodes 44 `packages` - Additional packages that will be installed on all nodes 45 46 ### Please use one of the following options: 47 `caasp_registry_code` - Provide SUSE CaaSP Product Registration Code in `registration.auto.tfvars` file to register product against official SCC server 48 `rmt_server_name` - Provide SUSE Repository Mirroring Tool Server Name in `registration.auto.tfvars` file to use repositories stored on RMT server