aboutsummaryrefslogtreecommitdiffstats
path: root/inventory/README.md
blob: 0c621b7f67921a398f5ea217b646830c2d92e062 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Inventory
The main inventory for the pydis cluster, including configuration for kubespray.

## Content
- `group_vars`: Configuration variables for kubespray in various contexts.
This directory is not covered by ansible-lint, and should generally not be used to add new configuration.
Instead, that should be placed appropriately within the project as normal.
- `patches`
- `hosts.yaml`: The main hosts file for our infrastructure.

## Deployment
To deploy the kuberspray roles on our infrastructure, run the following commands in the root directory.

### Environment
Run the following commands, then enter your sudo password in the file that opens:

```shell
python3.10 -m venv venv
source venv/bin/activate
pip install -r kubespray/requirements-2.12.txt
export ANSIBLE_CONFIG=ansible.cfg
```

### Deployment
Enter your username into the command below, and run (this will take a while, so go grab a drink):

```
ansible-playbook kubespray/cluster.yml -v -u <user>
```

One useful argument for the command above is `--become-password-file`
which should point to a file with your sudo password for seamless execution.

Additionally, you may find it helpful to pre-configure all hosts in known_hosts
to prevent the prompt from timing out during execution. This can be achieved by SSHing
into the machines beforehand, or running an ad-hoc command and confirming all hosts.