Rufen Sie uns an: +49 341 242 502 10

Ich war hier: K3S

Verlauf der Änderungen der Seite K3S


Version [4408]

Zuletzt bearbeitet am 2023-02-20 12:10:14 durch ErdaxoAdmin
Hinzugefügt:
# Anpassung in der yaml-Datei, weil sie dann nachvollziehbar und fest ist;

Gelöscht:
Anpassung in der yaml-Datei, weil sie dann nachvollziehbar und fest ist;


Version [4407]

Bearbeitet am 2023-02-20 12:09:27 durch ErdaxoAdmin
Hinzugefügt:
# allerdings ist dieser Weg nicht zu empfehlen - besser (dauerhafter) ist die
Anpassung in der yaml-Datei, weil sie dann nachvollziehbar und fest ist;

Gelöscht:
# allerdings ist dieser Weg nicht zu empfehlen - besser (dauerhafter) ist die Anpassung in der yaml-Datei, weil sie dann nachvollziehbar und fest ist;


Version [4406]

Bearbeitet am 2023-02-19 10:14:35 durch ErdaxoAdmin
Hinzugefügt:
# Leichen muss man auch mal beseitigen:
kubectl delete pod my-pod
kubectl delete service my-service


Version [4405]

Bearbeitet am 2023-02-19 10:13:22 durch ErdaxoAdmin
Hinzugefügt:
((2)) Das "deployment" optimieren
Damit Updates und Änderungen nicht auf einen Schlag passieren, sondern für den Benutzer durch fließenden Übergang unsichtbar bleiben.%%(perl)
# in der yaml-Datei bei "spec" bei "deployment" (nicht "template"!) einfügen:
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 50%
maxSurge: 1
[...]
# Beobachtung der Funktionsweise mit "watch"-Schalter:
kubectl get pods -w


Version [4404]

Bearbeitet am 2023-02-19 09:34:31 durch ErdaxoAdmin
Hinzugefügt:
# allerdings ist dieser Weg nicht zu empfehlen - besser (dauerhafter) ist die Anpassung in der yaml-Datei, weil sie dann nachvollziehbar und fest ist;


Version [4403]

Bearbeitet am 2023-02-19 09:31:50 durch ErdaxoAdmin
Hinzugefügt:
((2)) Erstes "deployment"
Basiert auf auf den 3 VMs wird eine Verteilung des pods erreicht, die automatisch für Verfügbarkeit sorgt.
#### die yaml-Datei ist anzupassen:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-first-nginx-deployment
labels:
app: my-nginx
spec:
replicas: 3
selector:
matchLabels:
app: my-nginx
template:
metadata:
labels:
app: my-nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
# mit "replicas: 3" steht hier nun, dass es 3 Kopien des pods geben soll...
## ACHTUNG: auch nur geringfügige Änderungen der Einrückung hatten bei mir Fehler zur Folge!
# die o. g. Datei als "first_deployment.yml" in cluster schieben:
kubectl -f first_deployment.yml apply
# anschließend kann es skaliert werden:
kubectl scale deployment/my-first-nginx-deployment --replicas=5


Version [4402]

Bearbeitet am 2023-02-19 09:22:49 durch ErdaxoAdmin
Hinzugefügt:
# zeige pods mit etwas mehr Daten (IPs etc.)
kubectl get pods -o wide


Version [4401]

Bearbeitet am 2023-02-18 16:02:06 durch ErdaxoAdmin
Hinzugefügt:
Einige weiterführende Links:


Version [4400]

Bearbeitet am 2023-02-18 16:01:47 durch ErdaxoAdmin
Hinzugefügt:
((1)) Linksammlung
- docs von k3s selbst => https://docs.k3s.io
- gute Erklärung für einen Start mit K3S:
=> https://computingforgeeks.com/how-to-deploy-lightweight-kubernetes-cluster-with-k3s/
sonstige Quellen:
=> https://andrewmunro.me/posts/2021/08/creating-a-k3s-cluster-on-debian-11-bullseye-step-1-provision/
=> https://blog.alexellis.io/bare-metal-kubernetes-with-k3s/
=> https://www.teqqy.de/k3s-cluster-installieren-mit-metallb-und-traefik/


Version [4399]

Bearbeitet am 2023-02-18 15:56:24 durch ErdaxoAdmin
Hinzugefügt:
# so auch den Kontext herstellen in der yaml und einstellen - auf der Steuerzentrale:
kubectl config use-context <contextname>


Version [4398]

Bearbeitet am 2023-02-18 15:55:09 durch ErdaxoAdmin
Hinzugefügt:
# bei Problemen [[http://www.erdaxo.de/K3S#section_4 siehe oben]]!

Gelöscht:
# bei Problemen siehe oben!


Version [4397]

Bearbeitet am 2023-02-18 15:53:56 durch ErdaxoAdmin
Hinzugefügt:
(der Artikelreihe bei ct folgend)
Basiert auf 3 VMs - Ubuntu 20.04 LTS oder debian.
VMs haben aufeinanderfolgende IP-s = ##10.1.0.186 .187 .188##
#### Vorbereitungen (start ohne traefik)
# auf jedem NODE
mkdir -p /etc/rancher/k3s/
nano /etc/rancher/k3s/config.yaml
# in der Datei nur eine Zeile einstellen:
disable: traefik
# auf dem ersten NODE:
curl -sfL https://get.k3s.io | sh -s - server --cluster-init
# test, ob alles läuft:
# andere Mitglieder (NODEs) vorbereiten:
cat /var/lib/rancher/k3s/server/token
# (Zeichenkette kopieren) - zu den übrigen zwei übergehen und ausführen:
curl -sfL https://get.k3s.io | K3S_TOKEN=<Token> sh -s - server --server https://<IP Server 1>:6443
# statt <TOKEN> die o. g. Zeichenkette einfügen
# statt <IP Server 1> die IP des ersten NODE eingeben
# ACHTUNG: zwischen den NODEs müssen PORTs offen sein: 6443, 2379, 2380
# auf den MASTER-nodes Daten für Verbindung holen:
cat /etc/rancher/k3s/k3s.yaml
# bei Problemen siehe oben!

Gelöscht:
(der Artikelreihe bei ct folgend)%%(perl)


Version [4396]

Bearbeitet am 2023-02-18 15:42:15 durch ErdaxoAdmin
Hinzugefügt:
#### Steuerungszentrale einrichten:
# auf einem mac (über homebrew):
# auf debian:

Gelöscht:
# Steuerungszentrale einrichten:
// auf einem mac (über homebrew):
// auf debian:


Version [4395]

Bearbeitet am 2023-02-18 15:42:01 durch ErdaxoAdmin
Hinzugefügt:
((1)) Cookbook
An dieser Stelle werden Befehle in entsprechender Reihenfolge gesammelt, die zur Erledigung von konkreten Aufgaben mit k8s (k3s) durchzugehen sind:
((2)) Einfachen Kubernetes Cluster anlegen
(der Artikelreihe bei ct folgend)%%(perl)
# Steuerungszentrale einrichten:
// auf einem mac (über homebrew):
brew install kubernetes-cli
// auf debian:
apt install kubectl


Version [4394]

Bearbeitet am 2023-02-18 14:51:54 durch ErdaxoAdmin
Hinzugefügt:
# dies betraf Zeilen mit Schlüsseln, die durch den Texteditor jeweils in Folgezeilen
# geschoben wurden; die Schlüssel-Zeichenketten müssen aber in der Zeile hinter der
# Bezeichnung und ":" beginnen, also so:
# mit übernommenen Zertifikaten / Schlüsseln vom Cluster-Server darf eigentlich keine
# Benutzerabfrage mehr erfolgen, wenn alles OK ist;
# wenn der Benutzername aber abgefragt wird, dann ist in der Zuordnung von "context"
# und "user" etwas schief gegangen; dann ist zu prüfen, ob Folgendes stimmt:

Gelöscht:
# dies betraf Zeilen mit Schlüsseln, die durch den Texteditor jeweils in Folgezeilen geschoben wurden; die Schlüssel-Zeichenketten müssen aber in der Zeile hinter der Bezeichnung und ":" beginnen, also so:
# mit übernommenen Zertifikaten / Schlüsseln vom Cluster-Server darf eigentlich keine Benutzerabfrage mehr erfolgen, wenn alles OK ist;
# wenn der Benutzername aber abgefragt wird, dann ist in der Zuordnung von "context" und "user" etwas schief gegangen; dann ist zu prüfen, ob Folgendes stimmt:


Version [4393]

Bearbeitet am 2023-02-18 14:50:56 durch ErdaxoAdmin
Hinzugefügt:
Wenn die Zuordnung stimmt, wird nicht mehr nach Benutzer gefragt, sondern ##kubectl## direkt ausgeführt - bezogen auf den unter ##<cluster>## genannten Server!

Gelöscht:
Wenn die Zuordnung stimmt, wird nicht mehr nach Benutzer gefragt, sondern ##kubectl## direkt ausgeführt - bezogen auf den unter <cluster> genannten Server!


Version [4392]

Bearbeitet am 2023-02-18 14:50:32 durch ErdaxoAdmin
Hinzugefügt:
user: <username>
- name: <username>
Wenn die Zuordnung stimmt, wird nicht mehr nach Benutzer gefragt, sondern ##kubectl## direkt ausgeführt - bezogen auf den unter <cluster> genannten Server!

Gelöscht:
user: <**username**>
- name: <**username**>


Version [4391]

Bearbeitet am 2023-02-18 14:49:13 durch ErdaxoAdmin
Hinzugefügt:
user: <**username**>
- name: <**username**>

Gelöscht:
user: <username>
- name: <username>


Version [4390]

Bearbeitet am 2023-02-18 14:48:38 durch ErdaxoAdmin
Hinzugefügt:
((2)) Credentials (Anmeldungsdaten) funktionieren nicht
# bei Ausführung von
kubectl
# mit übernommenen Zertifikaten / Schlüsseln vom Cluster-Server darf eigentlich keine Benutzerabfrage mehr erfolgen, wenn alles OK ist;
# wenn der Benutzername aber abgefragt wird, dann ist in der Zuordnung von "context" und "user" etwas schief gegangen; dann ist zu prüfen, ob Folgendes stimmt:
# welchem cluster ist welcher context zugeordnet:
clusters:
- cluster:
...(u. a. muss hier certificate-authority-data: ... stehen)
name: <clustername>
# nun context:
contexts:
- context:
cluster: <clustername>
user: <username>
name: <contextname>
# und auch Benutzer (user) muss stimmen
users:
- name: <username>
user:
client-certificate-data: (...)
client-key-data: (...)


Version [4389]

Bearbeitet am 2023-02-18 14:00:42 durch ErdaxoAdmin
Hinzugefügt:
client-certificate-data: LS0tLS1CRUdJ...
# und nicht so:
client-certificate-data:
LS0tLS1CRUdJ...

Gelöscht:
client-certificate-data: LS0tLS1CRUdJ


Version [4388]

Bearbeitet am 2023-02-18 14:00:21 durch ErdaxoAdmin
Hinzugefügt:
%%(perl)
# dies betraf Zeilen mit Schlüsseln, die durch den Texteditor jeweils in Folgezeilen geschoben wurden; die Schlüssel-Zeichenketten müssen aber in der Zeile hinter der Bezeichnung und ":" beginnen, also so:
client-certificate-data: LS0tLS1CRUdJ

Gelöscht:
%%(yaml)


Version [4387]

Bearbeitet am 2023-02-18 13:58:55 durch ErdaxoAdmin
Hinzugefügt:
3x debian VM... (IP 186, 187, 188)
((1)) Probleme im Umgang mit YAML-Dateien
Bereits frühzeitig beim Lernen von k8s haben sich die YAML-Dateien als widerspenstig gezeigt - hier einige Hinweise, wenn Probleme auftreten:

((2)) Doppelpunkt (":") fehlt
%%(yaml)
error: error loading config file ".../.kube/config": yaml: line 21: could not find expected ':'


Version [4386]

Bearbeitet am 2023-02-17 22:52:54 durch ErdaxoAdmin
Hinzugefügt:
# proxy für die Anzeige einschalten (noch Klärungsbedarf...)
# alle nodes des Systems mit grundlegenden Eigenschaften auflisten:
# Namen der Cluster aufführen (bei uns: erst mal einer - default)
# zeige alle pods (Funktionen) im Cluster
# zeige alle Netzwerkschnittstellen im Cluster mit ihren IP-s
# was "namespaces" sind, muss ich noch rauskriegen...

Gelöscht:
# alle //nodes// des Systems mit grundlegenden Eigenschaften auflisten:
# Funktionen im Cluster anzeigen:


Version [4385]

Die älteste bekannte Version dieser Seite wurde am 2023-02-17 22:42:17 von ErdaxoAdmin bearbeitet.