はじめに
Kubernetes は、コンテナ化されたアプリケーションの展開、スケーリング、管理を自動化するコンテナオーケストレーション プラットフォームです。このチャレンジでは、Kubernetes のアーキテクチャ、つまり Kubernetes クラスタを構成するコンポーネントとそれらの相互作用について検討します。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
Kubernetes は、コンテナ化されたアプリケーションの展開、スケーリング、管理を自動化するコンテナオーケストレーション プラットフォームです。このチャレンジでは、Kubernetes のアーキテクチャ、つまり Kubernetes クラスタを構成するコンポーネントとそれらの相互作用について検討します。
Kubernetes コントロール プレーンは、クラスタの全体的な状態とアプリケーションの展開とスケーリングを管理します。コントロール プレーン コンポーネントには、次が含まれます。
あなたのタスクは、kube-apiserver、etcd、kube-scheduler、kube-controller-manager を含むコントロール プレーン コンポーネントの状態を取得して表示することです。
kubectl
コマンドを使用して、コントロール プレーン コンポーネントの状態を取得します。/home/labex/project
ディレクトリでコマンドを実行します。コントロール プレーン コンポーネントの状態を取得したときの予想される出力の例を次に示します。
NAME STATUS MESSAGE ERROR
controller-manager Healthy ok
etcd-0 Healthy {"health":"true","reason":""}
scheduler Healthy ok
Kubernetes ノード コンポーネントはコンテナを実行し、アプリケーションの実行環境を提供します。ノード コンポーネントには、次が含まれます。
Kubernetes クラスタで実行されているノードに関する情報を表示します。ノード名、ステータス、その他の関連する詳細を含みます。
kubectl
コマンドを使用して、Kubernetes クラスタ内のノードを一覧表示します。/home/labex/project
ディレクトリでコマンドを実行します。ノードを表示したときの予想される出力の例を次に示します。
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 2m52s v1.26.1
Kubernetes ポッドは、Kubernetes で最も小さな展開可能な単位であり、クラスタ内の実行中のプロセスの単一インスタンスを表します。各ポッドは、同じネットワーク名前空間とストレージ ボリュームを共有する 1 つ以上のコンテナで構成されています。
simple-pod.yaml
という名前のファイルを作成します。kubectl
コマンドを使用してポッドを展開します。/home/labex/project
ディレクトリに、Nginx イメージを使用した simple-pod
という名前のポッドの構成を持つ simple-pod.yaml
という名前のファイルを作成します。kubectl
コマンドを使用します。kubectl
コマンドを使用します。ポッドを表示したときの予想される出力の例を次に示します。
pod/simple-pod created
NAME READY STATUS RESTARTS AGE
simple-pod 1/1 Running 0 29s
Kubernetes サービスは、論理的なポッドのセットとそれらにアクセスするためのポリシーを定義する抽象化です。サービス コンポーネントには、次が含まれます。
nginx-service.yaml
という名前のファイルを作成します。kubectl
コマンドを使用してサービスを展開します。/home/labex/project
ディレクトリに、ポート 80 を公開する nginx-service
という名前のサービスの構成を持つ nginx-service.yaml
という名前のファイルを作成します。kubectl
コマンドを使用します。kubectl
コマンドを使用します。サービスを表示したときの予想される出力の例を次に示します。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 5m42s
nginx-service ClusterIP 10.96.184.71 <none> 80/TCP 4s
このチャレンジでは、Kubernetes のアーキテクチャ、すなわちコントロール プレーン、ノード、ポッド、およびサービス コンポーネントを調べました。さまざまなコンポーネントの状態を確認したり、単純なポッドとサービスを作成したり、ポッドを外部アプリケーションに公開したりする方法を学びました。Kubernetes クラスタを構成するコンポーネントとそれらの相互作用を理解することは、コンテナ化されたアプリケーションの展開と管理にとって堅牢な基盤を提供します。