it-wiki:kubernetes:know-how
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| it-wiki:kubernetes:know-how [2023/04/18 17:00] – [Ändern des clusterweiten Konfiguration] marko | it-wiki:kubernetes:know-how [2025/09/07 14:40] (aktuell) – marko | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Know-How ====== | ====== Know-How ====== | ||
| + | ===== kubectl Plugins ===== | ||
| + | https:// | ||
| + | ==== Plugin " | ||
| + | <code bash> | ||
| + | kubectl get deployment < | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | |||
| ===== Private Registry/ | ===== Private Registry/ | ||
| ==== Abfrage Registry Katalog ==== | ==== Abfrage Registry Katalog ==== | ||
| <code bash> | <code bash> | ||
| - | curl -k https:// | + | curl -k https:// |
| </ | </ | ||
| Oder mit dem schöneren Tool **reg** | Oder mit dem schöneren Tool **reg** | ||
| <code bash> | <code bash> | ||
| - | reg ls -k registry.tuxnet.lan:32568 | + | reg ls -k registry.tuxnet.lan |
| </ | </ | ||
| Docker Images in die private registry kopieren | Docker Images in die private registry kopieren | ||
| <code bash> | <code bash> | ||
| - | skopeo copy docker:// | + | skopeo copy docker:// |
| </ | </ | ||
| - | \\ | + | |
| ==== Befüllen der privaten Registry ==== | ==== Befüllen der privaten Registry ==== | ||
| <code bash> | <code bash> | ||
| - | oci-local -u -r 192.168.42.30 | + | oci-local -u -r registry.tuxnet.lan |
| </ | </ | ||
| - | \\ | + | |
| ==== Löschen von Registry Einträgen/ | ==== Löschen von Registry Einträgen/ | ||
| <code bash> | <code bash> | ||
| - | crane delete " | + | crane delete " |
| </ | </ | ||
| + | |||
| \\ | \\ | ||
| ===== Konfiguration der CRE (containerd) für die private Registrie ===== | ===== Konfiguration der CRE (containerd) für die private Registrie ===== | ||
| Zeile 34: | Zeile 44: | ||
| endpoint = [" | endpoint = [" | ||
| </ | </ | ||
| - | \\ | ||
| + | \\ | ||
| ===== Kubernetes Master-Node welche Ordner/ | ===== Kubernetes Master-Node welche Ordner/ | ||
| * Vorbereitungen zum Joinen der weiteren control Nodes | * Vorbereitungen zum Joinen der weiteren control Nodes | ||
| Zeile 47: | Zeile 57: | ||
| sudo tar xf kubestrap.tar -C / | sudo tar xf kubestrap.tar -C / | ||
| </ | </ | ||
| + | |||
| \\ | \\ | ||
| ===== Ausgabe des Token Hash's ===== | ===== Ausgabe des Token Hash's ===== | ||
| + | Gibt ein kubeadm Befehl zurück zum joinen einer worker Node | ||
| <code bash> | <code bash> | ||
| kubeadm token create --dry-run --print-join-command | kubeadm token create --dry-run --print-join-command | ||
| + | </ | ||
| + | |||
| + | Erstellt ein kubeadm join Kommando zum hinzufügen einer weiteren control-plan Node. | ||
| + | <code bash> | ||
| + | echo $(kubeadm token create --print-join-command) --control-plane --certificate-key $(kubeadm init phase upload-certs --upload-certs | grep -vw -e certificate -e Namespace) | ||
| </ | </ | ||
| Zeile 64: | Zeile 81: | ||
| kubectl certificate approve < | kubectl certificate approve < | ||
| </ | </ | ||
| + | |||
| \\ | \\ | ||
| ===== Ändern des clusterweiten Konfiguration ===== | ===== Ändern des clusterweiten Konfiguration ===== | ||
| Zeile 75: | Zeile 93: | ||
| </ | </ | ||
| + | \\ | ||
| ===== Updating resources ===== | ===== Updating resources ===== | ||
| < | < | ||
| Zeile 83: | Zeile 102: | ||
| kubectl rollout status -w deployment/ | kubectl rollout status -w deployment/ | ||
| kubectl rollout restart deployment/ | kubectl rollout restart deployment/ | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | ===== new command or entry point for a container ===== | ||
| + | <code yaml> | ||
| + | apiVersion: v1 | ||
| + | kind: Pod | ||
| + | metadata: | ||
| + | creationTimestamp: | ||
| + | labels: | ||
| + | run: golang | ||
| + | name: golang | ||
| + | namespace: testing-chantal | ||
| + | spec: | ||
| + | containers: | ||
| + | - name: golang | ||
| + | image: golang: | ||
| + | tty: true | ||
| + | stdin: true | ||
| + | command: ["/ | ||
| + | resources: {} | ||
| + | volumeMounts: | ||
| + | - name: bin | ||
| + | mountPath: /go/psp-mig | ||
| + | imagePullSecrets: | ||
| + | - name: regcred | ||
| + | dnsPolicy: ClusterFirst | ||
| + | restartPolicy: | ||
| + | volumes: | ||
| + | - name: bin | ||
| + | persistentVolumeClaim: | ||
| + | claimName: pvc-golang | ||
| + | status: {} | ||
| + | </ | ||
| + | |||
| + | ===== Kubelet image delete ===== | ||
| + | Herausfinden ab welche Werte Images vom Kubelet gelöscht werden | ||
| + | <code yaml> | ||
| + | k get --raw / | ||
| + | |||
| + | ... | ||
| + | imageMinimumGCAge: | ||
| + | imageGCHighThresholdPercent: | ||
| + | imageGCLowThresholdPercent: | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | ===== Visualize your Kubernetes workloads ===== | ||
| + | ==== k9s ===== | ||
| + | https:// | ||
| + | https:// | ||
| + | |||
| + | ==== Octant ==== | ||
| + | https:// | ||
| + | https:// | ||
| + | |||
| + | \\ | ||
| + | ===== Cronjob disable ===== | ||
| + | Um einen Kubernetes cronjob zu deaktivieren | ||
| + | <code bash> | ||
| + | kubectl patch cronjobs job-name -p ' | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | ===== kubectl debug ===== | ||
| + | **Mittels kubectl die Kubernetes Nodes betreten** | ||
| + | <code bash> | ||
| + | k debug no/< | ||
| + | </ | ||
| + | |||
| + | **Mittels kubectl Ephemeral Container in einem Pod erstellen** | ||
| + | <code bash> | ||
| + | kubectl debug pod/< | ||
| + | </ | ||
| + | ===== get pods im Status ungleich running ===== | ||
| + | Wenn man sich alle Pods im Cluster anschauen möchte welche den Status ungleich running haben kann man das mittels field-selector machen. | ||
| + | <code bash> | ||
| + | k get pods -A --field-selector=status.phase!=Running | ||
| + | </ | ||
| + | \\ | ||
| + | ===== delete ressources hang on state terminating ===== | ||
| + | <code bash> | ||
| + | kubectl get namespace " | ||
| + | | tr -d " | ||
| + | | kubectl replace --raw / | ||
| + | </ | ||
| + | |||
| + | ===== Liste Anzahl Pods per Node ===== | ||
| + | <code bash> | ||
| + | kubectl get pods --all-namespaces -o=json | jq -r ' | ||
| </ | </ | ||
it-wiki/kubernetes/know-how.1681837236.txt.gz · Zuletzt geändert: von marko