Kubernetes Tipps und Tricks: wie man die Produktivität steigert

Kubernetes Tipps und Tricks: wie man die Produktivität steigert

Kubectl ist ein effektives Befehlszeilenwerkzeug für Kubernetes, das wir täglich nutzen. Es hat viele Funktionen und ermöglicht die Bereitstellung von Kubernetes-Systemen oder deren grundlegenden Funktionen.

Hier sind nützliche Tipps, wie Sie schneller in Kubernetes codieren und deployen können.

Automatisches Vervollständigen von kubectl

Sie werden kubectl ständig verwenden, daher müssen Sie beim automatischen Vervollständigen nicht unnötig die Tasten drücken.

Installieren Sie zuerst das bash-completion-Paket (standardmäßig ist es nicht installiert).

  • Linux

## Install
apt-get install bash-completion
## Bash
echo 'source <(kubectl completion bash)' >>~/.bashrc
## Zsh
source <(kubectl completion zsh)

  • MacOS

## Install
brew install bash-completion@2

Wie aus den Ausgaben von brew install (Abschnitt Caveats) ersichtlich, müssen Sie die folgenden Zeilen in die Datei ~/.bashrc oder ~/.bash_profile:

export BASH_COMPLETION_COMPAT_DIR=/usr/local/etc/bash_completion.d
[[ -r /usr/local/etc/profile.d/bash_completion.sh ]] && . /usr/local/etc/profile.d/bash_completion.sh

Aliases für kubectl

Wenn Sie anfangen, kubectl zu verwenden, ist das Angenehmste eine Fülle von Aliases, beginnend mit diesem hier:

alias k='kubectl'

Haben Sie ihn hinzugefügt – dann kümmern Sie sich um kubectl-aliases auf Github. Ahmet Alp Balkan (https://twitter.com/ahmetb) versteht davon viel, erfahren Sie mehr über seine Aliases auf github.

Kubernetes Tipps und Tricks: wie man die Produktivität steigert

Aber setzen Sie den alias kubectl nicht für Anfänger, sonst wird er mit den ganzen Befehlen nicht klarkommen. Lassen Sie ihn zuerst ein oder zwei Wochen üben.

Kubernetes + Helm-Charts

«Helm sind der beste Weg, Software, die für Kubernetes erstellt wurde, zu finden, zu verteilen und zu nutzen.

Wenn Sie viele Kubernetes-Anwendungen haben, wird deren Bereitstellung und Aktualisierung zur Qual, insbesondere wenn das Docker-Image vor der Bereitstellung aktualisiert werden muss. Helm-Charts erstellen Pakete, mit denen Sie Anwendungen und Konfigurationen definieren, installieren und aktualisieren können, wenn sie im Cluster mit dem Release-System ausgeführt werden.

Kubernetes Tipps und Tricks: wie man die Produktivität steigert

Ein Kubernetes-Paket in Helm wird Chart genannt und enthält viele Informationen, nach denen eine Kubernetes-Instanz erstellt wird.

Die Konfiguration ist sehr nützlich; sie enthält dynamische Informationen über die Chart-Einstellungen. Ein Release ist eine vorhandene Instanz im Cluster in Kombination mit einer bestimmten Konfiguration.

Im Gegensatz zu apt oder yum werden Helm-Charts (also Pakete) über Kubernetes erstellt und nutzen alle Vorteile der Clusterarchitektur, wobei das Beste daran ist, dass sie von Anfang an Skalierbarkeit berücksichtigen. Die Charts aller Images, die Helm verwendet, werden in einem Registry namens Helm Workspace gespeichert. Nach der Bereitstellung können Ihre DevOps-Teams die Charts in kurzer Zeit finden und in ihre Projekte integrieren.

Helm kann auf andere Weise installiert werden:

  • Snap / Linux :

sudo snap install helm --classic

  • Homebrew / macOS :

brew install kubernetes-helm

  • Script:

curl -L https://git.io/get_helm.sh | bash

  • Datei:

https://github.com/helm/helm/releases

  • Helm initialisieren und Tiller im Cluster installieren:

helm init --history-max 200

  • Beispiel-Chart installieren:

helm repo update
helm install --name releasemysql stable/mysql

Diese Befehle veröffentlichen das Chart stable/mysql, und die Veröffentlichung heißt releasemysql.
Überprüfen Sie die Helm-Veröffentlichung mit helm list.

  • Schließlich kann die Veröffentlichung gelöscht werden:

helm delete --purge releasemysql

Befolgen Sie diese Tipps, und die Arbeit mit Kubernetes wird reibungsloser. Nutzen Sie die gewonnene Zeit für die Hauptziele Ihrer Kubernetes-Anwendungen im Cluster. Bei Fragen zu Kubernetes oder Helm, kontaktieren Sie uns.

Quelle: habr.com

60GB SSD 8Gb DDR4