Skip to content

Commit a2b9611

Browse files
authored
Reword README (#245)
* Add mention of other projects * Add gitattributes to fix language reporting in GH * Add debug playbook to gitignore * Add more info around what this project will not cover * Remove construction label, reword Signed-off-by: Derek Nola <[email protected]>
1 parent 9d918c9 commit a2b9611

File tree

3 files changed

+34
-16
lines changed

3 files changed

+34
-16
lines changed

.gitattributes

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*.yml linguist-detectable=true
2+
*.yml linguist-language=YAML

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
.vscode
22
.vagrant
33
inventory.yml
4+
playbook/debug.yml

README.md

+31-16
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,32 @@
1-
# Under Construction :construction:
2-
3-
# Build a Kubernetes cluster using k3s via Ansible
1+
# Build a Kubernetes cluster using K3s via Ansible
42

53
Author: <https://github.com/itwars>
4+
Current Maintainer: <https://github.com/dereknola>
65

7-
## K3s Ansible Playbook
8-
9-
Build a Kubernetes cluster using Ansible with k3s. The goal is easily install a Kubernetes cluster on machines running:
6+
Easily bring up a cluster on machines running:
107

118
- [X] Debian
129
- [X] Ubuntu
13-
- [X] CentOS
10+
- [X] Raspberry Pi OS
11+
- [X] RHEL Family (CentOS, Redhat, Rocky Linux...)
12+
- [X] SUSE Family (SLES, OpenSUSE Leap, Tumbleweed...)
1413
- [X] ArchLinux
1514

16-
on processor architecture:
15+
on processor architectures:
1716

1817
- [X] x64
1918
- [X] arm64
2019
- [X] armhf
2120

2221
## System requirements
2322

24-
Deployment environment must have Ansible 2.4.0+
23+
The control node must have Ansible 2.10.0+
2524

26-
All nodes in inventory must have:
25+
All managed nodes in inventory must have:
2726
- Passwordless SSH access
2827
- Root access (or a user with equivalent permissions)
2928

30-
It is also recommended that all nodes disable firewalls and swap. See [K3s Requirements](https://docs.k3s.io/installation/requirements) for more information.
29+
It is also recommended that all managed nodes disable firewalls and swap. See [K3s Requirements](https://docs.k3s.io/installation/requirements) for more information.
3130

3231
## Usage
3332

@@ -55,7 +54,8 @@ If needed, you can also edit `vars` section at the bottom to match your environm
5554
If multiple hosts are in the server group the playbook will automatically setup k3s in HA mode with embedded etcd.
5655
An odd number of server nodes is required (3,5,7). Read the offical documentation below for more information and options.
5756
https://rancher.com/docs/k3s/latest/en/installation/ha-embedded/
58-
Using a loadbalancer or VIP as the API endpoint is preferred but not covered here.
57+
58+
Setting up a loadbalancer or VIP beforehand to use as the API endpoint is possible but not covered here.
5959

6060

6161
Start provisioning of the cluster using the following command:
@@ -66,7 +66,7 @@ ansible-playbook playbook/site.yml -i inventory.yml
6666

6767
## Upgrading
6868

69-
A playbook is provided to upgrade k3s on all nodes in the cluster. To use it, update `k3s_version` with the desired version in `inventory.yml` and run:
69+
A playbook is provided to upgrade K3s on all nodes in the cluster. To use it, update `k3s_version` with the desired version in `inventory.yml` and run:
7070

7171
```bash
7272
ansible-playbook playbook/upgrade.yml -i inventory.yml
@@ -75,7 +75,7 @@ ansible-playbook playbook/upgrade.yml -i inventory.yml
7575

7676
## Kubeconfig
7777

78-
After successful bringup, the kubeconfig of the cluster is copied to the control-node and set as default (`~/.kube/config`).
78+
After successful bringup, the kubeconfig of the cluster is copied to the control node and set as default (`~/.kube/config`).
7979
Assuming you have [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) installed, you to confirm access to your **Kubernetes** cluster use the following:
8080

8181
```bash
@@ -84,10 +84,25 @@ kubectl get nodes
8484

8585
## Local Testing
8686

87-
A Vagrantfile is provided that provision a 5 nodes cluster using LibVirt or Virtualbox and Vagrant. To use it:
87+
A Vagrantfile is provided that provision a 5 nodes cluster using Vagrant (LibVirt or Virtualbox as provider). To use it:
8888

8989
```bash
9090
vagrant up
9191
```
9292

93-
By default, each node is given 2 cores and 2GB of RAM and runs Ubuntu 20.04. You can customize these settings by editing the `Vagrantfile`.
93+
By default, each node is given 2 cores and 2GB of RAM and runs Ubuntu 20.04. You can customize these settings by editing the `Vagrantfile`.
94+
95+
## Need More Features?
96+
97+
This project is intended to provide a "vanilla" K3s install. If you need more features, such as:
98+
- Private Registry
99+
- Advanced Storage (Longhorn, Ceph, etc)
100+
- External Database
101+
- External Load Balancer or VIP
102+
- Alternative CNIs
103+
104+
See these other projects:
105+
- https://github.com/PyratLabs/ansible-role-k3s
106+
- https://github.com/techno-tim/k3s-ansible
107+
- https://github.com/jon-stumpf/k3s-ansible
108+
- https://github.com/alexellis/k3sup

0 commit comments

Comments
 (0)