1. K8S概要
Kubernetesは(K8Sをいう。)私たちは、クラスタ内の当社コンテナアプリケーションサーバを管理しやすくするために、Googleのオープンソースの分散コンテナ管理プラットフォームです。
チュートリアルはアリクラウドコンテナサービス(kubernetesバージョン)を使用する方法に焦点を当てています。
2. K8S一般的な概念を導入します
- ノード (マスターノードとワーカーノード)
管理ノード(マスターノード)とワーカーノード(ワーカーノード):ノードは、一般に、2つのノードにK8Sであり、サーバを指し
、管理ノード(マスターノード)全体K8Sクラスタの管理を担当する、一般的なHAアーキテクチャは、3つの管理対象ノードで構成されます。
作業ノード(ワーカーノード):コンテナを実行するための主に担当。
- ネームスペース (名前空間)は
、名前空間は、コンテナ分離としてクラスタリソースを、単離するために使用されるK8Sクラスタの仮想分離戦略を提供し、デフォルトの名前空間のデフォルト、システム名前空間KUBEシステムの3つのデフォルトの名前空間がありますそしてKUBE-公共。
- オブジェクトは、
オブジェクト(オブジェクト)が永続的ストレージであり、クラスタ状態を表すエンティティのK8S。オブジェクトが実際に独自の構成プロトコルをK8SさK8S、要するに、我々はそうで、K8Sは、いくつかのタスクの展開を実行できるように応じたタスクを監視し、定義されたオブジェクトによってオブジェクトを定義することができます。
- POD
ポッドは、アプリケーションやサービスを展開するKubernetes最小基本単位です。ポッドパッケージ複数のアプリケーションコンテナ(コンテナのみが存在してもよい)、ストレージリソース、ポリシーオプションの独立したIPネットワーク管理および制御血管動作モード。
- セットのレプリカ (レプリカセット、RS)が
監視し、コピーポッドの数は、我々が期待する方法であることを保証するために、クラスタポッドのコピー(複製)数を維持する責任コントローラです。
- デプロイメント (展開)
クラスタは、主にアプリケーションの展開のために、最も一般的に使用されるK8Sがオブジェクトである、更新K8Sクラスタを発現しました。ローリング・アップグレードをサポートしています。
- サービス ( -サービス)は
抽象的に適用される、基本的な動作はK8Sユニット、ポリシーサービスを負荷分散によって支持ポッドの背後に複数のサービスである容器に要求を転送します。
- 入口は、
ゲートウェイサービスである、K8Sサービスは、HTTPプロトコルを介して外部に露出させることができます。
- ステートレスアプリケーション&ステートフルアプリケーション
- ステートレスなアプリケーションが、コンテナに格納されていない永続的なデータは、自由に作成することができるコンテナアプリケーションは、破壊容器で実行中のアプリケーションを指し、ステートレス・アプリケーションのアプリケーションインスタンスの複数の容器、存在する場合、容器のいずれかに要求を転送します例が適切に実行することができます。たとえば、次のようにWebアプリケーション
- ステートフルなアプリケーションは、コンテナに必要な永続ストレージ安定し、安定したネットワーク識別子、ポッド固定開始および停止シーケンスで実行されるアプリケーションを指します。たとえば、次のようにMySQLのデータベース
3. K8Sアーキテクチャ
K8S全体的なアーキテクチャによって見ることができる図は、組成物の左右にワーカーマスターノードで構成され、マスターノードは、コンピュータの右側には、コンテナワーカーノードは、私たちの展開を実行するための責任がある表し、クラスタ全体の管理を担当しています。
4.一般的なWebアプリケーションのデプロイメント・アーキテクチャのK8Sに基づいて、
5.アプリケーションのデプロイ
以下はアリクラウドコンテナサービスのバックグラウンドでアプリケーションを展開するための視覚的な方法です。
アリクラウド展開アプリケーション接続。
https://help.aliyun.com/document_detail/87784.html?spm=a2c4g.11186623.6.631.6ca67d26RVHzA4
共有ファイルの貯蔵容器との間の6
クラスタ環境では、デフォルトでは、アプリケーションがファイルコンテナAを作成した場合、コンテナBは、ファイルを読み取ることができません。
K8Sで永続ストレージの問題、永続ストレージ・ボリュームとの分離のストアデータアクセスの詳細、異なるストレージシステムにアクセスするための統一されたインタフェースを持つユーザーのためのデータの使用を解決するために、永続的なボリューム(永続的なボリューム)内に設けられました。
ストレージによっては、ボリューム(永続的なボリューム)を入力持続複数K8Sのサポートは、アリ雲はまた、いくつかの拡張サポートをK8S、現在NAS、OSS、3つの耐久性のあるクラウドディスクボリュームタイプをサポートしています。
ここではアリクラウドのサポート持続的なボリュームタイプへの導入は、次のとおりです。
- NAS - 共有ストレージをサポートアリクラウド高性能分散ファイルシステム。
- OSS - アリクラウドオブジェクトストレージは、共有ストレージをサポートしている分散ファイルシステムです。
- クラウドディスク - アリディスクなどは、共有メモリをサポートしていません。
我々はOSS NASやファイル共有データを選択することができ、上記の説明によると、OSSは主にシーンを保存されている画像、ビデオファイルは、コンテナファイル共有データで提供するサービスへの海外直接アクセスをサポートすることができため、我々は一般的にNASを選択し、以下のNASの使用がK8Sですチュートリアル:
https://help.aliyun.com/document_detail/88940.html?spm=a2c4g.11186623.6.680.18656b80CZtc9r
ディスク上のクラウドは、複数の容器を共有することができない、独自の排他的な例は、クラウドの各ディスクPODは、クラウドMySQLのデータをディスクに保存し、そのような展開mysqlのような状態の永続ストアをデプロイされたアプリケーションに適しています。
ヒント:関係なく、永続的なボリュームのどのようなタイプの、最終的にコンテナに関連付けられた方法で取り付けられています。ユーザーは、最終的に我々がディレクトリであることがわかり、懸念しています。
7. K8S構成管理
所望の画像(画像)環境とは無関係に、より普遍的である場合、それはミラーから分離環境関連の構成パラメータであるべきです。
例えば:
私たちが行う方法のためのデータベース構成情報を変更したい場合我々は、データベース接続アドレス上のWebアプリケーションならば、鏡の中にパッケージ化されたWebアプリケーションをコーディング、口座番号、パスワードが鏡の中に一緒にパッケージされ、その後、このイメージ?それだけで、ミラーを再パッケージ化することができます。
configMapと秘密:K8Sは我々の方法には2つの構成管理を提供しています。
パスワード:彼らは、キーと値のペアの形で、違いは、次のような、秘密の感謝の構成情報の管理に専念しています。
どちらの構成を管理し、最終的なコンフィギュレーション情報は、容器内に注入されます。
コンフィギュレーション情報を容器に注入された2つの方法があります。環境変数とマウント(マウント)のデータ量は、
- 環境変数を介して容器に注入し、容器限りプログラムは、環境変数の値を読み取ることによって、構成情報を取得することができます。
- 注入されたマウントデータボリュームの方法により、一般ディレクトリに装着され、ディレクトリデータがあれば、設定情報を取得することができるように読み出されます。
ここではアリクラウドは、設定例を使用しています:
まず、構成アイテムを作成します。
次に、コンフィギュレーションは、射出ルック環境変数によって容器内に注入されます。
背景やアリクラウド編集アプリケーションの新しいアプリケーション、次のようなウィンドウが表示されます
次のコンフィギュレーション情報は、によってマウントに注入されます
また、編集アプリケーションや新しいアプリケーションウィンドウで、データ量を設定します。
アリ雲の背景操作接続の詳細:
https://help.aliyun.com/document_detail/86769.html?spm=a2c4g.11186623.6.671.667f142e1EUHo4