kubectlを使用してKubernetesクラスターを管理する方法
kubectl コマンドは、管理者が Linux システム上の Kubernetes クラスターと対話し、管理するための方法です。これは、Amazon Web Services、Google Cloud Platform、または自身のハードウェア(例:kubeadm)上のクラスターなど、すべての Kubernetes クラスター環境で機能する必須のコマンドラインツールです。スケールで Kubernetes クラスターを管理することは最初は挑戦かもしれませんが、kubectl コマンドを習得すれば、ずっと簡単になります。
このチュートリアルでは、kubectl コマンドを使用して Kubernetes クラスターを管理する方法を学びます。さまざまなコマンドオプションを探求し、kubectl を効果的に使用する方法、および kubectl の使用を容易にするためのいくつかのヒントやコツを見ていきます。
このチュートリアルでは、あなたは学びます:
- Kubernetesクラスターに対して
kubectlコマンドを使う方法
kubectlを使用してKubernetesクラスターを管理する
以下の例は、LinuxのKubernetesクラスターに対して使用される最も一般的で重要なkubectlコマンドのいくつかを示しています。
すでに持っていない場合は、Kubernetesとは別にkubectlをインストールする必要があります。
kubectlコマンドは、その後、kubeadmやminikubeなど、実行中の任意のKubernetesと連携して動作します。-
マニフェストファイルを適用するには、Kubernetesでアプリケーションをデプロイすることもできるので、以下の構文を使用できます。
kubectl apply -f ./application.yamlこれにより、私たちのカスタムDockerコンテナ化アプリケーションを展開することができるか、Docker Hubのような中央リポジトリから取得したアプリケーションを展開することができます。
私たちは
deleteパラメータを使用してデプロイメントを削除することもできます。以下はいくつかの例です:kubectl delete deployment my-applicationまたはファイルを指定してください:
kubectl delete -f application.yamlネットワーク内のすべてのKubernetesポッドに関する情報を取得するには:
kubectl get podsまたは、すべての名前空間のポッドを表示する詳細なバージョン:
kubectl get pods --all-namespacesコマンドオプション
--all-namespacesは-Aに短縮することもできます:kubectl get pods -AKubernetesクラスタ内のすべての構成されたノードに関する情報を表示してください:
kubectl get nodesクラスター内で実行中のすべての利用可能なサービスのリストを、Kubernetesマスターノードから発行される次のコマンドで確認できます:
kubectl get svc-
デプロイされた特定のポッドの詳細を取得します(この例では、名前が「apache」のポッド):
kubectl get pods/apachedescribe引数に関するより詳細な情報:kubectl describe pods/apache 特定のポッドのログを確認します:
kubectl logs my-podrunパラメータを使用して、イメージの実行を開始できます。例えば、Nginxを使用してみましょう。kubectl run --image=nginx nginx-server --port=80 --env="DOMAIN=cluster"次にポート80を公開することができます。
kubectl expose deployment nginx-deployment --port=80 --name=nginx-httpリソースをスケールする際にも
kubectlコマンドは不可欠です。デプロイメント「mysql」を5つのレプリカにスケールするには:kubectl scale --replicas=5 deployment/mysqlまたは、YAMLファイルに指定されたリソースをスケールするために:
kubectl scale --replicas=5 -f mysql.yamlノードからすべてのポッドを排出するため(例:Kubernetes クラスターに中断を引き起こすことなくノードのメンテナンスを実施するため):
kubectl drain worker-nodeKubernetesクラスタに関するすべての情報を見るには:
kubectl cluster-info
締めくくりの考え
このチュートリアルでは、Linuxシステム上のKubernetesクラスターを管理するためのkubectlコマンドの使い方を見ました。kubectlの使い方を学ぶことは、管理者が新しいデプロイメントやポッドを作成し、コマンドラインからノードを管理するために不可欠です。また、ログを検査し、クラスターとその個々のコンポーネントがどのように動作しているかをいつでも確認することができます。

