135 lines
3.1 KiB
Plaintext
135 lines
3.1 KiB
Plaintext
=== Setup Kubernetes
|
|
|
|
In this guide we are using microk8s to setup a Kubernetes cluster.
|
|
To setup a Micro K8S Cluster on you need ubuntu maschines with static IP addresses, a working internet connection and optional for metallb "loadbalancer" an extra IP range for the services.
|
|
|
|
The network configuration for ubuntu 20.04+ is done with netplan.
|
|
Config in /etc/netplan/00-installer-config.yaml and apply with sudo netplan apply
|
|
|
|
Example Configuration:
|
|
```
|
|
# This is the network config written by 'subiquity'
|
|
network:
|
|
ethernets:
|
|
ens18:
|
|
addresses:
|
|
- 141.57.9.180/22
|
|
nameservers:
|
|
addresses:
|
|
- 141.57.1.94
|
|
search:
|
|
- imn.htwk-leipzig.de
|
|
routes:
|
|
- to: default
|
|
via: 141.57.11.253
|
|
version: 2
|
|
```
|
|
|
|
[cols="1,1,1,1,1", options="header"]
|
|
|===
|
|
| Name | IP | SSH Port | Proxmox Node | Config
|
|
|
|
| k8s-nfs | 141.57.9.171 | 23505 | yprox | 4 Core + 4 GB RAM
|
|
| rancher | 141.57.9.170 | 23505 | xprox | 4 Core + 4 GB RAM
|
|
| k8s-node1 | 141.57.9.180 | 23505 | yprox | 4 Core + 8 GB RAM
|
|
| k8s-node2 | 141.57.9.181 | 23505 | zprox | 4 Core + 8 GB RAM
|
|
| k8s-node3 | 141.57.9.182 | 23505 | yprox | 8 Core + 32 GB RAM
|
|
|===
|
|
|
|
|
|
We installed Ubuntu 22.04 on the nodes and configured the network with netplan.
|
|
The current snap version for microk8s is 1.28.0 wich is supported by the current rancher release.
|
|
|
|
```
|
|
snap install microk8s --classic --channel=1.28/stable
|
|
```
|
|
|
|
Join the groups and rights so without root
|
|
|
|
```
|
|
sudo usermod -a -G microk8s $USER
|
|
|
|
sudo mkdir -p ~/.kube
|
|
|
|
sudo chown -f -R $USER ~/.kube
|
|
|
|
newgrp microk8s # to reload shell groups without close and open
|
|
```
|
|
|
|
Check the status while Kubernetes starts
|
|
|
|
```
|
|
microk8s status --wait-ready
|
|
```
|
|
|
|
Turn on the services you want
|
|
```
|
|
microk8s enable dns
|
|
```
|
|
|
|
```
|
|
microk8s enable registry
|
|
```
|
|
|
|
```
|
|
microk8s enable rbac
|
|
```
|
|
|
|
```
|
|
microk8s enable ingress
|
|
```
|
|
|
|
Start using Kubernetes
|
|
|
|
```
|
|
microk8s kubectl get all --all-namespaces
|
|
```
|
|
|
|
Um weitere Nodes mit microk8s zu verbinden auf dem main node:
|
|
|
|
```bash
|
|
microk8s add-node
|
|
```
|
|
|
|
Example output:
|
|
|
|
```bash
|
|
From the node you wish to join to this cluster, run the following:
|
|
|
|
microk8s join 192.168.122.210:25000/b346782cc8956830924c04f2cf1b1745/dadf654db615
|
|
|
|
|
|
|
|
Use the '--worker' flag to join a node as a worker not running the control plane, eg:
|
|
|
|
microk8s join 192.168.122.210:25000/b346782cc8956830924c04f2cf1b1745/dadf654db615 --worker
|
|
|
|
|
|
|
|
If the node you are adding is not reachable through the default interface you can use one of the following:
|
|
|
|
microk8s join 192.168.122.210:25000/b346782cc8956830924c04f2cf1b1745/dadf654db615
|
|
|
|
microk8s join 192.168.123.1:25000/b346782cc8956830924c04f2cf1b1745/dadf654db615
|
|
|
|
microk8s join 172.17.0.1:25000/b346782cc8956830924c04f2cf1b1745/dadf654db615
|
|
```
|
|
|
|
Alias for easy setup copy paste commands:
|
|
|
|
```
|
|
alias helm="microk8s helm"
|
|
```
|
|
|
|
```
|
|
alias kubectl="microk8s kubectl"
|
|
```
|
|
|
|
|
|
If cattle-cluster-agent in cattle-system reboots multiple times and has dns resolving problems change the config.
|
|
|
|
```
|
|
kubectl edit deployment cattle-cluster-agent -n cattle-system
|
|
...
|
|
dnsPolicy: Default
|
|
``` |