オープンソース

Kubernetesのアーキテクチャ

Kubernetesは、マスターサーバとノードサーバからなるクラスタとして動作します。

kubernetesアーキテクチャ画面

Kubernetes マスターサーバのコンポーネント

Kubernetesでは、マスターサーバは、ノードサーバ上で動作するDockerコンテナの管理をする役割を持っています。ノード上で動作するDockerコンテナを監視し、必要に応じてレプリカセットをデプロイメントしたりするなどの制御を行います。kube-apiserver、etcd、kube-scheduler、kube-controller-manager、clound-controller-managerなどのコンポーネントからできています。

kubernetesマスターサーバ画面

kubectl

Kubernetesに対して指示を行うためのコマンドです。すべての指示はkube-api-serverを中継して行われます。

kube-api-server

kube-api-serverは、Kubernetesのリソースを管理し、Kubernetes APIを外部へ公開する役割を担います。Kubernetesに対するすべての操作は、kube-api-serverを経由して行われます。kube-api-server以外のマスターサーバのコンポーネントは、kube-api-serverを介してリソースにアクセスします。

etcd

etcdは、Kubernetesの設定情報を格納するデータストアです。etcdは、キーバリューストア(KVS)型のデータベースです。リソースの種類に応じて、複数のetcdを利用することもできます。

kube-scheduler

Podを、どのノードで実行するのかを制御するコンポーネントです。Podの監視も行います。

kube-controller-manager

ノードコントローラ、レプリケーションコントローラ、サービスアカウント・トークンコントローラの3つのコントローラを管理するコンポーネントです。ノードコントローラは、ノードを監視し、ノードダウンを検知します。レプリケーションコントローラは、レプリカセットに含まれるPodの数を監視し、Pod数を維持する役目を持っています。サービスアカウント・トークンコントローラは、Kubernetes内のアカウントとAPIで利用するアクセストークンの生成を行います。

cloud-controller-manager

Kubernetesの基盤となっているクラブドプロバイダと対話するコントローラを管理します。

Kubernetes ノードサーバのコンポーネント

ノードサーバは、実際にDockerコンテナを動作させるコンポーネントです。kubeletがDockerコンテナの管理を行います。kube-proxyがDockerコンテナへの通信の中継を行います。

kubernetesノードサーバ画面

kubelet

Kubernetesクラスタの各ノードで実行されるエージェントです。kube-api-serverからの指示に基づき、Podの起動や管理を行います。

kube-proxy

kube-proxyは、ホスト上でのネットワークルールを管理します。kube-proxyは、サービスにつけられた仮想的IPアドレスを管理し、仮想IPアドレスへのリクエストを、適切なPodへ中継します。複数のPodが利用できる場合には、ラウンドロビンで負荷分散を行います。

デモのお申込み

もっと使い方が知りたい方へ
Kubernetesの操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。Kubernetesのデモをご希望の方は、下記よりお申込みいただけます。


デモをご希望の方

デモの申し込みイメージ


OSS情報「Kubernetes」

Kubernetes〜コンテナ管理の課題を解決するOSS〜
ここでは、Dockerコンテナの管理を自動化するためのソフトウェア「Kubernetes」を紹介します。
Kubernetesクラスタの構築
ここでは、CentOS7に最小限のKubernetesクラスタを構築する方法について説明いたします。
KubernetesのPod機能
ここではPod機能について説明いたします。
Kubernetesのレプリカセットとデプロイメント
ここではデプロイメントという機能を利用してレプリカセットを作成する方法について説明いたします。
Kubernetesのアーキテクチャ
ここではアーキテクチャについて説明いたします。
Kubernetesのコンテナアップデート
ここでは、Kubernetesでソフトウェアをアップデートする場合の手法について説明いたします。
Kubernetesのローリングアップデート
ここでは、Kubernetesのローリングアップデート機能の概要について説明いたします。
Kubernetesのダッシュボード
ここでは管理用のダッシュボードについて説明いたします。
Kubernetesの永続ストレージ
ここでは永続ストレージについて説明いたします。
Rancher〜Kubernetesの管理ソフトウェア〜
ここでは、Kubernetesの管理ソフトウェアのRancherについて紹介します。
GitLab〜Dockerのプロジェクト管理とレジストリ〜
GitLabは、ウェブ型のGitリポジトリマネージャーです。ここではGitLabのコンテナレジストリについて説明いたします。
DRBD-SDSとKubernetes
ここではDRBD-SDSを利用することでサービスの冗長化を実現させる手法について説明いたします。
Falco〜コンテナの侵入・改ざん検知ツール〜
ここではKubernetesを代表するコンテナ環境をターゲットにしているコンテナランタイムセキュリティソフトウェアのFalcoについて説明いたします。
Trivy〜コンテナイメージの脆弱性診断ツール〜
Trivyは、コンテナイメージの脆弱性診断ツールです。ここではTrivyの機能や特徴などについて説明いたします。
コンテナ型仮想化に関連したOSS
ここでは、コンテナ型仮想化に関連したOSSを紹介いたします。

Kubernetesのアーキテクチャの先頭へ