Manuelt K3S Cluster
Hvordan sette opp master node
1. Oppdater og installer Python og UFW
sudo apt update
sudo apt install -y curl python3-pip ufw2. Konfigurer brannmuren ved å bruke UFW
Tillat portene som k3s bruker på Mester Node
sudo ufw allow 6443/tcp # Kubernetes API
sudo ufw allow 8472/tcp # Flannel VXLAN
sudo ufw allow 10250/tcp # Kubelet
sudo ufw allow 2379/tcp # ETCD client
sudo ufw allow 2380/tcp # ETCD peer
sudo ufw allow 80/tcp # HTTP serverPå Arbeider Nodene
sudo ufw allow 8472/tcp # Flannel VXLAN
sudo ufw allow 10250/tcp # Kubelet
sudo ufw allow 80/tcp # HTTP serverEtter du har konfigurert må du skru på UFW
sudo ufw enable3. Installer K3S på Mester Noden
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION="v1.26.1+k3s1" sh -s - server \
--node-external-ip $(curl -s ifconfig.me) \
--flannel-backend=host-gw \
--advertise-address=$(curl -s ifconfig.me) \
--bind-address=$(curl -s ifconfig.me) \
--node-ip=$(curl -s ifconfig.me)Bytt v1.26.1+k3s1 til den versjonen du vil ha.
Verifiser at K3S kjører
sudo systemctl status k3sKommandoen over burde vise at K3S kjører på mester noden
4. Finn K3S Token
Du trenger K3S token fra mester noden for å sammenkoble de forskjellige nodene
sudo cat /var/lib/rancher/k3s/server/node-tokenLagre denne tokenen på et trygt sted, du trenger denne for de neste stegene
5. Installer K3S på Arbeider Nodene
For hver Arbeider Node du har må du kjøre de følgene kommandoene. Endre MASTER_IP med ip addressen til Mester Noden og K3S_TOKEN med tokenen du lagre i stad
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION="v1.26.1+k3s1" K3S_URL="https://<MASTER_IP>:6443" \
K3S_TOKEN="<K3S_TOKEN>" sh -s - agent --flannel-backend=host-gw --node-ip=$(curl -s ifconfig.me)For eksempel kunne det sett sånn ut
curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION="v1.26.1+k3s1" K3S_URL="https://10.12.2.50:6443" \
K3S_TOKEN="ewojgiejwiurhgiuw348g43g483gu9234gh" sh -s - agent --flannel-backend=host-gw --node-ip=$(curl -s ifconfig.me)6. Verifiser Clusteret
Når du har sammenkoblet alle nodene kan du sjekke statusen med denne kommandoene på Mester Noden
sudo kubectl get nodesDu burde se status Ready på nodene vis det funker
7. Installer Python HTTP Server
Dette in på Mester Noden
sudo kubectl apply -f - <<EOF
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: http-server
labels:
app: http-server
spec:
selector:
matchLabels:
app: http-server
template:
metadata:
labels:
app: http-server
spec:
containers:
- name: http-server
image: python:3.9-slim
command: ["python3", "-m", "http.server", "80"]
ports:
- containerPort: 80
hostNetwork: true
EOFFor å ekspose HTTP Serveren på alle serverne kjør
Sist oppdatert