日常の Kubernetes 操作をマスターする: ソフトウェア エンジニア向けの kubectl コマンドの役立つガイド

百草
リリース: 2024-03-27 13:52:38
オリジナル
942 人が閲覧しました

Kubernetes クラスターを効率的に管理するには、kubectl コマンドを習得することが不可欠です。最初は気が遠くなるかもしれませんが、これらのコマンドは定期的に使用することで自然に慣れるでしょう。上記にリストしたコマンドは氷山の一角にすぎません。kubectl には、さらに多くのコマンドとオプションが用意されています。

日常の Kubernetes 操作をマスターする: ソフトウェア エンジニア向けの kubectl コマンドの役立つガイド

kubectl は、Kubernetes クラスターに対してコマンドを実行するためのコマンド ライン インターフェイスであり、Kubernetes を使用するソフトウェア エンジニアにとって重要なツールです。多数のコマンドが提供され、それぞれに独自のオプション セットがあり、Kubernetes 環境の管理とトラブルシューティングのための強力なツールになります。この記事は、kubectl ソフトウェア エンジニアが日常業務で使用する最も便利なコマンドのいくつかに光を当てることを目的としています。

1. クラスターのステータスを確認する

操作を開始する前に、クラスターのステータスを取得することが重要です。これを行うのに役立つコマンドをいくつか示します。

  • kubectl cluster-info: このコマンドは、クラスターとその主要なサービスに関する基本情報を提供します。

  • kubectl get names: このコマンドは、アプリケーションをホストするために使用できるすべてのノードを一覧表示します。

2. ポッドの使用

ポッドは、Kubernetes でデプロイ可能な最小単位です。次のコマンドはそれらの管理に役立ちます:

  • kubectl get pods: このコマンドは、デフォルトの名前空間内のすべての Pod を一覧表示します。

  • kubectl description pod [pod-name]: イベントやステータスなど、特定の Pod に関する詳細情報を取得します。

  • kubectl logs [pod- name]: このコマンドは、指定された Pod のログを表示します。これはデバッグに役立ちます。

  • kubectl exec -it [pod-name] -- /bin/bash: このコマンドは、指定された Pod 内で対話型シェルを開きます。これは、デバッグや検査に役立ちます。

3. デプロイメントの使用

デプロイメントは、ポッドを管理するための上位レベルの概念です。デプロイメントの処理に役立つコマンドをいくつか紹介します。

  • kubectl getdeployments: このコマンドは、デフォルトの名前空間内のすべてのデプロイメントをリストします。

  • kubectl destroydeployment [deployment-name]: このコマンドは、特定のデプロイメントに関する詳細情報を提供します。

  • kubectl スケール デプロイメント [デプロイメント名] --replicas=[レプリカ数]: このコマンドは、レプリカの数を増減することによってデプロイメントをスケールするのに役立ちます。

  • kubectl rollout statusdeployment [deployment-name]: このコマンドは、デプロイメントのステータスを表示します。

4. サービスの使用

サービスは、一連の Pod 上で実行されるアプリケーションを公開する抽象的な方法です。次のコマンドを使用してサービスを管理できます:

  • kubectl get services: このコマンドは、デフォルトの名前空間内のすべてのサービスをリストします。

  • kubectl description service [service-name]: このコマンドは、特定のサービスに関する詳細情報を提供します。

  • kubectl Exposuredeployment [deployment-name] --type=NodePort --name=[service-name]: このコマンドは、デプロイメントをサービスとして公開し、クラスター内で使用できるようにします。またはインターネットからアクセスします。

5. ConfigMap と Secret の使用

ConfigMap と Secret は、アプリケーションの設定をコードから分離できる Kubernetes オブジェクトです。これらの管理に役立つコマンドをいくつか示します。

  • kubectl get configmaps: このコマンドは、デフォルトの名前空間内のすべての ConfigMap を一覧表示します。

  • kubectl get secrets: このコマンドは、デフォルトの名前空間内のすべてのシークレットをリストします。

  • kubectl create configmap [configmap-name] --from-file=[path-to-file]: このコマンドは、ファイルから新しい ConfigMap を作成します。

  • kubectl create secret generic [secret-name] --from-literal=key=value: このコマンドは新しいシークレットを作成します。

#6. デバッグとトラブルシューティング

Kubernetes は、問題の発見と修正に役立ついくつかのコマンドを提供します:

  • kubectl トップ ノード: このコマンドは、各ノードの CPU とメモリの使用状況を表示します。これは、負荷が高いノードを特定するのに役立ちます。

  • kubectl top pod: このコマンドは、各 Pod の CPU とメモリの使用状況を表示します。これは、大量のリソースを使用する Pod を識別するのに役立ちます。

  • kubectl get events --sort-by=.metadata.creationTimestamp: このコマンドは、デフォルトの名前空間内のすべてのイベントを作成時間順にリストします。これは、クラスター内で最近発生した可能性のある問題を特定するのに役立ちます。

7. クリーンアップ

Kubernetes には、リソースをクリーンアップするコマンド

  • kubectl delete が用意されています。 pod [pod-name]: このコマンドは、指定されたポッドを削除します。

  • kubectl deletedeployment [deployment-name]: このコマンドは、指定されたデプロイメントを削除します。

  • kubectl delete service [service-name]: このコマンドは、指定されたサービスを削除します。

  • kubectl delete all --all: このコマンドは、デフォルトの名前空間内のすべてのリソースを削除します。これには気をつけてください!

8. ネームスペースの使用

ネームスペースは、多くのユーザーが複数のチームに分散している環境で使用されます。これらの管理に関連するコマンドをいくつか示します。

  • kubectl get namespaces: クラスター内のすべての名前空間をリストする

  • kubectl create namespace [ namespace-name ]: 新しい名前空間を作成します

  • kubectl config set-context --current --namespace=[namespace-name]: 現在のコンテキストの名前空間を変更します

9. 永続ボリュームの管理

永続ボリュームは、Pod がデータを保存する方法を提供します。これらを使用するためのコマンドをいくつか示します。

  • kubectl get pv: すべての永続ボリュームをリストする

  • kubectl description pv [volume-name]: Provides特定のボリュームに関する詳細情報

  • kubectl get pvc: ストレージに対するユーザー要求であるすべての永続ボリューム要求をリストします

##10 . 処理ノード

ノードは、Kubernetes で動作するマシンであり、システムの重要な部分です。以下に、ノード関連のコマンドをいくつか示します。

  • #kubectlcordon [node-name]: ノードをスケジュール不可としてマークし、ノード上で新しいポッドがスケジュールされないようにします

  • kubectl uncordon [node-name]: ノード上のスケジュール不能マークを削除し、ノード上で新しいポッドをスケジュールできるようにします

  • kubectlrain [node-name ] : メンテナンスに備えてノードを空にします

11. リソース クォータと制限範囲

これらのコマンドは、コンピューティング リソースの消費を管理するのに役立ちます。 :

  • kubectl get quote: 現在の名前空間の下にあるすべてのリソース クォータを一覧表示します。

  • kubectl description limitrange [limit-range-name]: 情報を提供します特定の制限されたスコープの詳細

#12. API オブジェクトへのアクセス

##これらのコマンドを使用すると、生の API オブジェクトにアクセスできます:

kubectl api-resources: サーバー上で利用可能なすべての API リソースをリストします
  • kubectl Explain [resource]: リソースのドキュメントを提供します
  • 結論

Kubernetes クラスターを効率的に管理するには、kubectl コマンドを習得することが不可欠です。最初は気が遠くなるかもしれませんが、これらのコマンドは定期的に使用することで自然に慣れるでしょう。上記にリストしたコマンドは氷山の一角にすぎません。kubectl には、さらに多くのコマンドとオプションが用意されています。 kubectl コマンドの柔軟性により、kubectl コマンドは Kubernetes を使用するソフトウェア エンジニアにとって重要なツールとなることに注意してください。このガイドにリストされているコマンドは、kubectl の機能のサブセットにすぎません。さらに多くのコマンドを調べるには、いつでも Kubernetes の公式ドキュメントを参照するか、kubectl help コマンドを使用できます。

以上が日常の Kubernetes 操作をマスターする: ソフトウェア エンジニア向けの kubectl コマンドの役立つガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:https://dzone.com/articles/guide-to-useful-kubectl-commands
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート