K9s は、Kubernetes管理を簡素化することを目的としたターミナルベースのUIです。 マニフェストを編集および適用する機能と便利なコンテキストメニューを組み合わせることで、明示的なものを覚えておく必要はほとんどありません。 kubectl コマンド。
K9Sがどのように機能するか知りたいですか? Kubernetesクラスターを操作しながら読み進めてください スタイリッシュに このK9sKubernetesCLIチュートリアルでは。
前提条件
このチュートリアルは、実践的なデモンストレーションになります。 フォローしたい場合は、以下の要件が必要になります。
- KubernetesクラスターをホストするにはLinuxマシンが必要です。 このチュートリアルでは、 Fedora 35。
- Linuxコンピュータには ミニクベ ローカルのKubernetes用にすでにインストールされています。 このチュートリアルでは、この記事の最新バージョンであるv1.25.2を使用します。
K9sKubernetesCLIのインストール
これで、すべての前提条件が整った状態でK9sKubernetesCLIをインストールします。 K9をインストールする方法はいくつかあります。たとえば、ソースから、バイナリをダウンロードする方法、Linuxディストリビューションのパッケージマネージャーを使用する方法などです。
最も便利で普遍的な方法は webi
、この例で実行します。 これを行うには、次の手順に従います。
1.お好みのSSHクライアントを使用してLinuxサーバーにログインします。
2.次に、以下のコマンドを実行して、webiスクリプトをダウンロードし、それをBashにパイプしてK9をインストールします。
curl -sS https://webinstall.dev/k9s | bash
以下に示すように、スクリプトはk9sをにインストールしました /home/
3.以下のコマンドを実行して、K9のバージョンを確認し、コマンドが機能するかどうかを確認します。
この記事の執筆時点での最新バージョンはv0.25.18です。
4. K9sが機能していることを確認したら、以下のコマンドを実行して、Linuxコンピューターでデフォルトのテキストエディターを設定します。 nanoやemacsなど、別のデフォルトエディタを設定する場合は、viを置き換えます。
この手順は、K9sがK9sターミナルUI内で構成ファイルを編集するときに使用するテキストエディターを知るために重要です。
クラスターの開始とデプロイメントの作成
K9s Kubernetesツールはすぐに使用できますが、管理するクラスターがない場合は役に立ちません。 このセクションでは、Kubernetesクラスターを起動し、Webサービスをデプロイします。
1.次のminikubeコマンドを実行して、次のようにMinikubeクラスターを起動します。
ターミナルウィンドウの応答は、以下のスクリーンショットのようになります。
2.次に、次のコマンドを実行して、ApacheWebサーバーをKubernetesクラスターにデプロイします。
# (deployment) Deployment name = httpd
# (--image) Base image = httpd:latest
# (--replicas) Number of replicas = 2
kubectl create deployment httpd --image=httpd:latest --replicas=2
以下のスクリーンショットのような出力が表示され、コマンドが成功したことを確認します。
3.最後に、以下のコマンドを実行して、metrics-serverアドオンを有効にします。 この手順により、クラスターとデプロイメントのメトリックが確実に収集されます。
minikube addons enable metrics-server
パルスによるクラスターの監視
テストデプロイメントを作成し、メトリック収集を有効にしたので、K9でそれらを監視する方法を学習します。
K9Sには、クラスター全体の便利なダッシュボード機能があります。 パルス、デプロイメント、イベント、ポッドなどのチャートと統計が表示されます。次の段落の手順に従って、Pulseを使用してクラスターを監視する方法を確認してください。
1.以下のコマンドを実行して、デフォルトモードでKubernetesクラスターに接続します。
すべての名前空間のデプロイメントのリストが表示されます。 デプロイメントリストは、以下に表示されているものとは異なります。 以前に作成したhttpdデプロイメントに注目してください。
2.:pulsesコマンドを入力し、Enterキーを押してPulsesビューをアクティブにします。
パルスビューには、クラスターとその中で実行されているリソースに関する関連統計が表示されます。 たとえば、次のスクリーンショットは、クラスターに5つのデプロイメント、5つのレプリカセット、および12のポッドがあることを示しています。
3.メトリックを選択するには、そのオブジェクトに対応する番号を押します。 たとえば、以下に示すように、4を押してポッドを選択し、Enterキーを押してポッドビューに切り替えます。
すべての名前空間で実行中のポッドのリストが表示されます。 このリストには、ポッドのステータスと、CPUやメモリの使用量などのリソース統計が含まれます。
4. Escapeを押して、Pulsesビューに戻ります。
ポッドの検出と管理
素晴らしい! これで、クラスターで実行されているすべてのポッドのリストが作成されました。 このセクションでは、のポッドの管理タスクを分離して実行します httpd
展開。
1.:podコマンドを入力して、ポッドビューに切り替えます。
画面にすべての名前空間のすべてのポッドのリストが表示されます。
2.デフォルトメニューの対応する番号を押してリストをフィルタリングし、デフォルトの名前空間の下にあるポッドのみを表示します。 名前空間番号を押すと、以下に示すように、ポッドのリストが効果的にフィルタリングされます。
3.ポッドを名前空間でフィルタリングしたので、各ポッドを管理して、ポッドがどの名前空間に属しているかを把握し、混乱を避けることができます。
たとえば、リストの最初のポッドを強調表示し、dを押してポッドの詳細を画面に表示します。 このアクションは、 kubectl describe 指図。
4.ポッドリストに戻るには、Escキーを押します。
展開のスケーリング
デプロイメント内のレプリカの数を増減する必要がある場合は、通常、 kubectl scale
コマンドを実行するか、構成を手動で編集します。 K9s CLIは、メニュー方式のインターフェースを使用して、デプロイメントのスケーリングをより便利にします。
1. K9sで以下のコマンドを入力し、Enterキーを押して[デプロイメント]ビューに切り替えます。
2. httpdデプロイメントを強調表示し、sを押してスケール構成ボックスを表示します。
3.デプロイメント内のレプリカの数を2から4に変更します。次に、矢印キーを使用してカーソルを[OK]に移動し、Enterキーを押して変更を適用します。
スケーリングの変更を適用した後、httpdデプロイメントには4つのポッドが含まれるはずです。
外部アクセス用のデプロイメントの公開
Kubernetesデプロイメントを公開するための最も一貫した方法の1つは、サービスマニフェストファイルを適用することです。 次の手順は、K9sKubernetesCLI内でマニフェストファイルを適用する方法を示しています。
1.別のターミナルウィンドウを開き、お好みのエディターを使用して/tmp/httpd-np.ymlという名前のYAMLファイルを作成します。 この例では、viをエディターとして使用しています。 viエディターが開いたら、iを押してINSERTモードに入ります。
2.次のYAMLディレクティブをコピーしてファイルに貼り付けます。 このディレクティブは、サービスを31337外部ポートに公開します。
apiVersion: v1
kind: Service
metadata:
# Set a name below to be used to refer to the service that will be created
name: httpd
spec:
type: NodePort
selector:
# Supply the name of the deployment below
app: httpd
ports:
# By default and for convenience, the `targetPort` is set to the same value as the `port` field.
- port: 80
targetPort: 80
# Optional field
# If omitted the Kubernetes control plane will allocate a port from a range (default: 30000-32767)
nodePort: 31337
この時点で、ファイルは以下のスクリーンショットのようになっているはずです。次の手順を実行する前に、Escapeキーを押してINSERTモードを終了します。
3.:wqコマンドを入力し、Enterキーを押して、エディターを保存して終了します。
4. K9Sターミナルに戻り、:dir /tmp/と入力します。 そうすることで、K9がディレクトリビューに切り替わります。 ご覧のとおり、作成したファイルhttpd-np.ymlがリストにあります。
5.カーソルをhttpd-np.ymlファイルに移動し、aを押してマニフェストを適用します。
6.最後に、ブラウザでWebアドレスhttp://
別の方法として、別のターミナルウィンドウで以下のコマンドを実行します。
curl http://192.168.49.2:31337
下の画像と同様の結果が得られるはずです。
X線で深く掘り下げる
一度に1つのリソースクラスでクラスターを探索することをお勧めします。 ただし、K9SのXray機能を使用すると、単一のツリービューで別のリソースを構成するすべてのリソースを探索できます。
入力します :xray
すべてのサービスを表示するコマンド(svc
)とその構成リソース。
一目で、デフォルトの名前空間に2つのサービスがあることに気付くでしょう。 httpd
と kubernetes
。 また、4つのhttpdベースのコンテナがに接続されていることもわかります。 httpd
サービス。
タイプa ?
X線の助けを得る。 少なくとも、初心者にとってすべてのアイコンが何を意味するのかを理解することができます。 また、 GENERAL
と NAVIGATION
キーバインディング。
クラスタリソースのログとイベントの表示
ログとイベントは、容量の計画またはトラブルシューティングのために、実行中のクラスターの状態を理解するための強力な方法です。 Xrayビューから始めて、このセクションでは、ログ、イベント、およびクラスターメトリックを表示するK9Sの機能について説明します。
1.カーソルをhttpdツリーノードの下の最初のポッドに移動します。
2.以下に示すように、lを押してコンテナのログを表示します。 直前に到着したログエントリが表示されます [1m]。
3. 0を押してテールモードに切り替え、最近のすべてのログエントリを表示します。
クラスターの現在の状態の説明
次の手順でクラスターの状態を説明することにより、クラスターの状態に関する詳細情報を見つけることもできます。
1.タイプ :node
Enterキーを押してに切り替えます ノード 見る。
2. dを押して、リストで現在強調表示されているクラスターを説明します。
クラスタ固有のパラメータとその状態のリストが表示されます。
3.[条件]セクションまで下にスクロールして、ディスクやメモリの負荷などの重要なメトリックの状態を表示します。 以下のスクリーンショットでは、クラスターにアラーム状態がないことがわかります。
4.[イベント]までスクロールして、クラスター上のイベントの要約ログを表示します。 この例は、ポートバインディングに関する警告が1つあることを示しています。 クラスタリソースの問題をトラブルシューティングするときに、この機能がどのように優れたエントリポイントになるかを確認できます。
結論
このチュートリアルを終了することで、K9S Kubernetes CLIをインストール、構成、操作して、できるだけ少ないキーストロークでKubernetesクラスターを管理する方法を学びました。 他の新しいツールと同様に、K9にも当てはまる学習曲線が常にあります。
しかし、長期的には、K9sのメニュー方式のグラフィカルインターフェイスは、ターミナルで手動で実行されているコマンドよりも確実に優れています。 これで、PostgresをKubernetesクラスターにデプロイし、K9Sマッスルをフレックスしてそのデプロイを管理できるようになりました。
The post K9SKubernetesCLIを使用した簡単な管理 appeared first on Gamingsym Japan.