薄田達哉のレビュー一覧
-
Posted by ブクログ
コンテナの概要を把握するのに役立った。
図も多く分かりやすかった。
■用語の違い
仮想化:実態がないものをあたかも実在しているかのごとく表現する技術のこと
コンテナ:アプリケーションと実行環境をまとめて隔離する仕組み。OS上で実行されているプロセスと本質的には同じで、名前空間などの仕組みで他のコンテナやプロセスから隔離している。アプリケーション単位で仮想化する。
Docker:コンテナ型仮想化の代表的なソフトウェア。コンテナの実行やコンテナイメージの作成・配布を行うためのプラットフォーム。
オーケストレーション:コンテナの管理・ 運用を自動化すること
Kubernetes:コンテナオーケストレーションを行うツール。負荷分散、死活監視、エンドポイントの提供などが可能。
クラスタ:マシンの集合体
V
ノード:くパスタを構成する各マシン。ワーカーノードとマスターノードの2種類がある。
V
ポッド:Kubernetesがコンテナを管理するための最小単位。1つ以上のコンテナから構成される。
■その他
スケールアップ:サーバーのスペックを増強
スケールアウト:サーバーの台数を増やす
スケールイン:サーバーの台数を減らす
デプロイ:プログラムを配備し、システムを利用可能な状態にすること
-
Posted by ブクログ
コンテナのお勉強。難しい。。。
コンテナ型仮想化は、「コンテナ」というアプリケーションと実行環境をまとめて隔離する仕組みを利用し、OS単位ではなくアプリケーション単位で仮想化する技術です。…
コンテナ型仮想化の最大のメリットは柔軟性にあります。たとえば、ほかのサーバー仮想化技術で仮想サーバーを増やす場合、ゲストOSとアプリケーションのインストールを行う必要がありますが、コンテナ型仮想化ではコンテナを作成し、そこにアプリケーションを導入するだけで仮想サーバーを用意できます。インストールなどの手間が大幅に減ることに加え、仮想マシンやゲストOSを動かす必要がない分、パフォーマンスも高くなります。
コンテナには複数のアプリケーションを導入することもできますが、原則的に1コンテナに1アプリケーション(1プロセス)単位で構築し、複数のコンテナを組み合わせたほうがよいとされます。コンテナの作成コストは非常に低いため、複雑なコンテナを1つ作るより、シンプルなコンテナを複数作るほうが手間がかからず、あとからの設計変更などもしやすいからです。
ゲストOSを持たないということは、コンテナ内のアプリケーションもホストOSの機能(カーネル)を利用して動いていることになります。しかし、ファイルシステムが独立しているため、ホストOS内にインストールされたほかのアプリケーションやファイルなどの影響を受けません。
■Kubernetesができること
死活監視と停止したコンテナの再起動
エンドポイント提供と負荷分散
消費リソースを考慮したコンテナの配備
ローリングアップデートとロールバック
ストレージの管理
機密情報や構成情報の保管
■Kubernetesができないこと
自動ビルド
ログの記録や監視
ミドルウェア的機能(メッセージブローカー、データベースなど)
マシン自体の管理
Kubernetesを使うと、異なるクラウドを共通の手順で操作することが可能となり、クラウド間の相違点を吸収して開発や運用の複雑化を低減することができます。