Kubernetesの理解についての概要

まず、Kubernetesの発音を知る必要があります。

多くの人々がKubernetesの発音について不確かなままです。私自身も以前は間違った発音をしていました。正しい発音は[kubə’netis]で、第三音節にアクセントがあります。発音: koo-ber-nay-tees。関連する議論はGitHubの問題で見つけることができます: https://github.com/kubernetes/kubernetes/issues/44308

公式の略称は、”K8s”で、”ubernete”という8つの文字を8つの文字で置き換えて派生させた略称です。

これは実際にはシリコンバレーの命名習慣に関連しています。彼らは単語を略語化する習慣があり、その際には、初期の文字とスキップする文字数を取って、それをより古い世代にとって理解しにくくする意図があります。例えば、アマゾンの「Algorithms」は「A9」と略され、Kubernetesは「k8s」と略されます。これは、「k」の後に8文字をスキップして「s」に到達するため、「k8s」となります。

Kubernetesは、Googleの内部システムであるBorgから派生し、コンテナ中心のクラスター展開および管理システムを提供しています。Kubernetesの目標は、物理/仮想コンピューティング、ネットワーキング、およびストレージインフラストラクチャーのオーケストレーションの負担を排除し、アプリケーションオペレーターと開発者が完全にコンテナ中心のプリミティブに集中して自己サービスオペレーションに焦点を当てることです。Kubernetesはまた、カスタマイズされたワークフローや高度な自動化タスクを構築するための安定した、互換性のある基盤(プラットフォーム)を提供します。 Kubernetesには、マルチレイヤーセキュリティ保護および入場制御メカニズム、マルチテナントアプリケーションサポート機能、透過的なサービス登録および検出メカニズム、組み込みの負荷分散器、障害検出および自己修復機能、サービスのローリングアップグレードおよびオンラインスケーリング、スケーラブルなリソースオートスケジューリングメカニズム、および細かいリソースクォータ管理機能を含む包括的なクラスタ管理機能があります。 Kubernetesはまた、開発、展開テスト、操作モニタリングなど、開発者、展開者、およびオペレーターが利用する包括的な管理ツールも提供しています。

クラウドネイティブアプリケーションの基盤として、Kubernetesはクラウドオペレーティングシステムとして機能し、その重要性は明らかです。

Kubernetesのアーキテクチャ

Kubernetesは主に以下の主要なコアコンポーネントで構成されています:

  • etcd: クラスター全体の状態を保存します。
  • apiserver: リソース操作や認証、認可、アクセス制御、APIの登録および検出などのメカニズムを提供します。
  • controller manager: フォルト検出、自動スケーリング、ローリングアップデートなど、クラスターの状態を維持します。
  • scheduler: リソースのスケジューリングを担当し、予め定義されたスケジューリングポリシーに従ってポッドを対応するマシンにスケジューリングします。
  • kubelet: コンテナのライフサイクルを維持し、ボリューム(CSI)とネットワーク(CNI)を管理します。
  • コンテナランタイム: イメージとポッド、コンテナの実際の実行を管理します(CRI)。
  • kube-proxy: サービス内のクラスター内でのサービスの検出および負荷分散を提供します。

主要なコアコンポーネントに加えて、いくつかの推奨されるアドオンがあります:(更新中)

  • kube-dns: クラスター全体のDNSサービスを提供します。
  • Ingress Controller: サービスの外部アクセスを提供します。
  • Heapster: リソースのモニタリングを提供します。
  • Dashboard: グラフィカルユーザー

By bai

Leave a Reply

Your email address will not be published. Required fields are marked *