Kubectl は、Kubernetes と Kubernetes のための強力なコマンド ライン ツールであり、私たちは毎日それを使用しています。 多くの機能があり、Kubernetes システムまたはその基本機能をデプロイできます。
ここでは、Kubernetes 上でコーディングとデプロイを高速化する方法に関する役立つヒントをいくつか紹介します。
kubectl オートコンプリート
Kubectl は常に使用するため、オートコンプリートを使用すると、キーを再度押す必要がなくなります。
まず、bash-completion パッケージをインストールします (デフォルトではインストールされません)。
- 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
brew install の出力 (「警告」セクション) でわかるように、次の行をファイルに追加する必要があります。 ~/.bashrc или ~/.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
kubectl エイリアス
kubectl を使い始めるときに最も重要なのは、次のようなエイリアスがたくさんあることです。
alias k='kubectl'
これを追加しました。次に、Github の kubectl-aliases を見てください。 アフメット アルプ バルカン (
初心者には kubectl エイリアスを設定しないでください。そうしないと、すべてのコマンドを理解できなくなります。 まずはXNUMX~XNUMX週間練習させてください。
Kubernetes + Helm チャート
«
多数の Kubernetes アプリケーションを実行している場合、特にデプロイ前に Docker イメージ タグを更新する必要がある場合は、それらのデプロイと更新が面倒になります。 Helm チャートは、リリース システムによってクラスター上でアプリケーションと構成が起動されるときに、アプリケーションと構成を定義、インストール、および更新できるパッケージを作成します。
Helm の Kubernetes パッケージはチャートと呼ばれ、Kubernetes インスタンスを作成するための多くの情報が含まれています。
この構成は非常に便利です。チャートの構成方法に関する動的な情報が含まれています。 リリースは、特定の構成と組み合わせられたクラスター内の既存のインスタンスです。
apt や yum とは異なり、Helm チャート (つまり、パッケージ) は Kubernetes 上に構築され、そのクラスター アーキテクチャを最大限に活用します。最も優れている点は、最初からスケーラビリティを考慮できることです。 Helm が使用するすべてのイメージのチャートは、Helm Workspace と呼ばれるレジストリに保存されます。 デプロイが完了すると、DevOps チームはすぐにチャートを見つけてプロジェクトに追加できるようになります。
Helm は他の方法でもインストールできます。
- スナップ/Linux:
sudo snap install helm --classic
- 自作/macOS:
brew install kubernetes-helm
- 脚本:
curl -L https://git.io/get_helm.sh | bash
- ファイル:
- Helm を初期化し、クラスターに Tiller をインストールします。
helm init --history-max 200
- サンプルチャートをインストールします。
helm repo update
helm install --name releasemysql stable/mysql
これらのコマンドは安定版/mysql チャートをリリースします。このリリースは releasemysql と呼ばれます。
Helm リストを使用して Helm リリースを確認します。
- 最後に、リリースを削除できます。
helm delete --purge releasemysql
これらのヒントに従うと、Kubernetes エクスペリエンスがよりスムーズになります。 自由時間をクラスター内の Kubernetes アプリケーションの主な目的に充ててください。 Kubernetes または Helm について質問がある場合は、
出所: habr.com