|
2 | 2 | title: Kubernetesのコンポーネント
|
3 | 3 | content_type: concept
|
4 | 4 | description: >
|
5 |
| - Kubernetesクラスターはコントロールプレーンのコンポーネントとノードと呼ばれるマシン群で構成されています。 |
6 |
| -weight: 30 |
7 |
| -card: |
| 5 | + Kubernetesクラスターを構成するキーコンポーネントの概要。 |
| 6 | +weight: 10 |
| 7 | +card: |
| 8 | + title: クラスターのコンポーネント |
8 | 9 | name: concepts
|
9 | 10 | weight: 20
|
10 | 11 | ---
|
11 | 12 |
|
12 | 13 | <!-- overview -->
|
13 |
| -Kubernetesをデプロイすると、クラスターが展開されます。 |
14 |
| -{{< glossary_definition term_id="cluster" length="all" prepend="Kubernetesクラスターは、">}} |
15 | 14 |
|
16 |
| -このドキュメントでは、Kubernetesクラスターが機能するために必要となるさまざまなコンポーネントの概要を説明します。 |
| 15 | +このページでは、Kubernetesクラスターを構成する必須コンポーネントの概略を説明します。 |
17 | 16 |
|
18 |
| -{{< figure src="/images/docs/components-of-kubernetes.svg" alt="Kubernetesのコンポーネント" caption="Kubernetesクラスターを構成するコンポーネント" class="diagram-large" >}} |
| 17 | +{{< figure src="/images/docs/components-of-kubernetes.svg" alt="Kubernetesのコンポーネント" caption="Kubernetesクラスターのコンポーネント" class="diagram-large" clicktozoom="true" >}} |
19 | 18 |
|
20 | 19 | <!-- body -->
|
21 | 20 |
|
22 |
| -## コントロールプレーンコンポーネント |
| 21 | +## コアコンポーネント |
23 | 22 |
|
24 |
| -コントロールプレーンコンポーネントは、クラスターに関する全体的な決定(スケジューリングなど)を行います。また、クラスターイベントの検出および応答を行います(たとえば、deploymentの`replicas`フィールドが満たされていない場合に、新しい {{< glossary_tooltip text="Pod" term_id="pod">}} を起動する等)。 |
| 23 | +Kubernetesクラスターは、コントロールプレーンと1つ以上のワーカーノードで構成されています。 |
| 24 | +以下に主要なコンポーネントの概要を簡単に説明します。 |
25 | 25 |
|
26 |
| -コントロールプレーンコンポーネントはクラスター内のどのマシンでも実行できますが、シンプルにするため、セットアップスクリプトは通常、すべてのコントロールプレーンコンポーネントを同じマシンで起動し、そのマシンではユーザーコンテナを実行しません。 |
27 |
| -複数のマシンにまたがって実行されるコントロールプレーンのセットアップ例については、[kubeadmを使用した高可用性クラスターの構築](/ja/docs/setup/production-environment/tools/kubeadm/high-availability/) を参照してください。 |
| 26 | +### コントロールプレーンコンポーネント |
28 | 27 |
|
29 |
| -### kube-apiserver |
| 28 | +クラスター全体の状態を管理します: |
30 | 29 |
|
31 |
| -{{< glossary_definition term_id="kube-apiserver" length="all" >}} |
| 30 | +[kube-apiserver](/docs/concepts/architecture/#kube-apiserver) |
| 31 | +: Kubernetes HTTP APIを公開するコアコンポーネントサーバーです。 |
32 | 32 |
|
33 |
| -### etcd |
| 33 | +[etcd](/docs/concepts/architecture/#etcd) |
| 34 | +: APIサーバーのすべてのデータを保存する、一貫性と高可用性を兼ね備えたキーバリューストアです。 |
34 | 35 |
|
35 |
| -{{< glossary_definition term_id="etcd" length="all" >}} |
| 36 | +[kube-scheduler](/docs/concepts/architecture/#kube-scheduler) |
| 37 | +: まだノードにバインドされていないPodを検出し、それぞれのPodを適切なノードに割り当てます。 |
36 | 38 |
|
37 |
| -### kube-scheduler |
| 39 | +[kube-controller-manager](/docs/concepts/architecture/#kube-controller-manager) |
| 40 | +: {{< glossary_tooltip text="コントローラー" term_id="controller" >}}を実行して、Kubernetes APIの動作を実装します。 |
38 | 41 |
|
39 |
| -{{< glossary_definition term_id="kube-scheduler" length="all" >}} |
| 42 | +[cloud-controller-manager](/docs/concepts/architecture/#cloud-controller-manager)(オプション) |
| 43 | +: 基盤となるクラウドプロバイダーと統合します。 |
40 | 44 |
|
41 |
| -### kube-controller-manager |
| 45 | +### ノードコンポーネント |
42 | 46 |
|
43 |
| -{{< glossary_definition term_id="kube-controller-manager" length="all" >}} |
| 47 | +すべてのノードで実行され、実行中のPodを維持し、Kubernetesランタイム環境を提供します。 |
44 | 48 |
|
45 |
| -コントローラーには以下が含まれます。 |
| 49 | +[kubelet](/docs/concepts/architecture/#kubelet) |
| 50 | +: コンテナを含むPodが稼働していることを保証します。 |
46 | 51 |
|
47 |
| - * ノードコントローラー:ノードがダウンした場合の通知と対応を担当します。 |
48 |
| - * Jobコントローラー:単発タスクを表すJobオブジェクトを監視し、そのタスクを実行して完了させるためのPodを作成します。 |
49 |
| - * EndpointSliceコントローラー:EndpointSliceオブジェクトを作成します(つまり、ServiceとPodを紐付けます)。 |
50 |
| - * ServiceAccountコントローラー:新規の名前空間に対して、デフォルトのServiceAccountを作成します。 |
| 52 | +[kube-proxy](/docs/concepts/architecture/#kube-proxy)(オプション) |
| 53 | +: ノード上のネットワークルールを維持し、{{< glossary_tooltip text="Service" term_id="service" >}}を実装します。 |
51 | 54 |
|
52 |
| -### cloud-controller-manager |
| 55 | +[コンテナランタイム](/docs/concepts/architecture/#container-runtime) |
| 56 | +: コンテナを実行する役割を持つソフトウェアです。 |
| 57 | + 詳細は[コンテナランタイム](/docs/setup/production-environment/container-runtimes/)を参照してください。 |
53 | 58 |
|
54 |
| -{{< glossary_definition term_id="cloud-controller-manager" length="short" >}} |
| 59 | +{{% thirdparty-content single="true" %}} |
55 | 60 |
|
56 |
| -cloud-controller-managerは、クラウドプロバイダー固有のコントローラーのみを実行します。 |
57 |
| -Kubernetesをオンプレミスあるいは個人のPC内での学習環境で動かす際には、クラスターにcloud controller managerはありません。 |
58 |
| - |
59 |
| -kube-controller-managerと同様に、cloud-controller-managerは複数の論理的に独立したコントロールループをシングルバイナリにまとめ、一つのプロセスとして動作します。パフォーマンスを向上させるあるいは障害に耐えるために水平方向にスケールする(一つ以上のコピーを動かす)ことができます。 |
60 |
| - |
61 |
| -次の各コントローラーは、それぞれ以下に示すような目的のためにクラウドプロバイダーへの依存関係を持つことができるようになっています。 |
62 |
| - |
63 |
| - * Nodeコントローラー: ノードが応答を停止した後、クラウドで当該ノードが削除されたかどうかを判断するため |
64 |
| - * Route コントローラー: 基盤となるクラウドインフラのルートを設定するため |
65 |
| - * Service コントローラー: クラウドプロバイダーのロードバランサーの作成、更新、削除を行うため |
66 |
| - |
67 |
| -## ノードコンポーネント {#node-components} |
68 |
| - |
69 |
| -ノードコンポーネントはすべてのノードで実行され、稼働中のPodの管理やKubernetesの実行環境を提供します。 |
70 |
| - |
71 |
| -### kubelet |
72 |
| - |
73 |
| -{{< glossary_definition term_id="kubelet" length="all" >}} |
74 |
| - |
75 |
| -### kube-proxy |
76 |
| - |
77 |
| -{{< glossary_definition term_id="kube-proxy" length="all" >}} |
78 |
| - |
79 |
| -### コンテナランタイム {#container-runtime} |
80 |
| - |
81 |
| -{{< glossary_definition term_id="container-runtime" length="all" >}} |
| 61 | +クラスターによっては、各ノードに追加のソフトウェアが必要になる場合があります。 |
| 62 | +例えば、Linuxノード上で[systemd](https://systemd.io/)を実行してローカルコンポーネントを監督することもあります。 |
82 | 63 |
|
83 | 64 | ## アドオン
|
84 | 65 |
|
85 |
| -アドオンはクラスター機能を実装するためにKubernetesリソース({{< glossary_tooltip term_id="daemonset" >}}、{{< glossary_tooltip term_id="deployment" >}}など)を使用します。 |
86 |
| -アドオンはクラスターレベルの機能を提供しているため、アドオンのリソースで名前空間が必要なものは`kube-system`名前空間に属します。 |
87 |
| - |
88 |
| -いくつかのアドオンについて以下で説明します。より多くの利用可能なアドオンのリストは、[アドオン](/ja/docs/concepts/cluster-administration/addons/) をご覧ください。 |
89 |
| - |
90 |
| -### DNS |
91 |
| - |
92 |
| -クラスターDNS以外のアドオンは必須ではありませんが、すべてのKubernetesクラスターは[クラスターDNS](/ja/docs/concepts/services-networking/dns-pod-service/)を持つべきです。多くの使用例がクラスターDNSを前提としています。 |
93 |
| - |
94 |
| -クラスターDNSは、環境内の他のDNSサーバーに加えて、KubernetesサービスのDNSレコードを提供するDNSサーバーです。 |
95 |
| - |
96 |
| -Kubernetesによって開始されたコンテナは、DNS検索にこのDNSサーバーを自動的に含めます。 |
97 |
| - |
98 |
| - |
99 |
| -### Web UI (ダッシュボード) |
100 |
| - |
101 |
| -[ダッシュボード](/ja/docs/tasks/access-application-cluster/web-ui-dashboard/)は、Kubernetesクラスター用の汎用WebベースUIです。これによりユーザーはクラスターおよびクラスター内で実行されているアプリケーションについて、管理およびトラブルシューティングを行うことができます。 |
102 |
| - |
103 |
| -### コンテナリソース監視 |
| 66 | +アドオンはKubernetesの機能を拡張します。 |
| 67 | +いくつかの重要な例は次のとおりです: |
104 | 68 |
|
105 |
| -[コンテナリソース監視](/ja/docs/tasks/debug/debug-cluster/resource-usage-monitoring/)は、コンテナに関する一般的な時系列メトリックを中央データベースに記録します。また、そのデータを閲覧するためのUIを提供します。 |
| 69 | +[DNS](/docs/concepts/architecture/#dns) |
| 70 | +: クラスター全体のDNS解決のために使われます。 |
106 | 71 |
|
107 |
| -### クラスターレベルのロギング |
| 72 | +[Web UI](/docs/concepts/architecture/#web-ui-dashboard)(ダッシュボード) |
| 73 | +: ウェブインターフェースを通してクラスターを管理するために使われます。 |
108 | 74 |
|
109 |
| -[クラスターレベルのロギング](/ja/docs/concepts/cluster-administration/logging/)メカニズムは、コンテナのログを、検索/参照インターフェースを備えた中央ログストアに保存します。 |
| 75 | +[Container Resource Monitoring](/docs/concepts/architecture/#container-resource-monitoring) |
| 76 | +: コンテナのメトリクスを収集・保存するために使われます。 |
110 | 77 |
|
| 78 | +[Cluster-level Logging](/docs/concepts/architecture/#cluster-level-logging) |
| 79 | +: コンテナのログを中央ログストアに保存するために使われます。 |
111 | 80 |
|
112 |
| -## {{% heading "whatsnext" %}} |
| 81 | +## アーキテクチャの柔軟性 |
113 | 82 |
|
114 |
| -* [ノード](/ja/docs/concepts/architecture/nodes/)について学ぶ |
115 |
| -* [コントローラー](/ja/docs/concepts/architecture/controller/)について学ぶ |
116 |
| -* [kube-scheduler](/ja/docs/concepts/scheduling-eviction/kube-scheduler/)について学ぶ |
117 |
| -* etcdの公式 [ドキュメント](https://etcd.io/docs/)を読む |
| 83 | +Kubernetesは、これらのコンポーネントのデプロイと管理方法に柔軟性を持たせることができます。 |
| 84 | +Kubernetesのアーキテクチャは、小規模な開発環境から大規模な本番環境への展開まで、様々なニーズに適応できます。 |
118 | 85 |
|
| 86 | +各コンポーネントの詳細情報や、クラスターのアーキテクチャを設定する様々な方法については、[クラスターのアーキテクチャ](/docs/concepts/architecture/)のページをご覧ください。 |
0 commit comments