[ ランチャー](https://www.cnrancher.com/rancher/)は、オープンソースのエンタープライズレベルのコンテナ管理プラットフォームです。ランチャーを使用すると、企業は一連のオープンソースソフトウェアを使用して[コンテナサービス](https://cloud.tencent.com/product/tke?from=10680)プラットフォームを最初から構築する必要がなくなります。 Rancherは、実稼働環境で使用されるDockerおよびKubernetesを管理するためのフルスタックコンテナー展開および管理プラットフォームを提供します。主にサービス管理、パブリッククラウドノード管理、サードパーティのユーザー権利管理のサポート、アプリケーションストア、APIが含まれますが、ドキュメントが少ないため、[公式ドキュメント](https://rancher.com/docs/rancher/v1.4/en/quick-start-guide)をさらに参照できます。
中国の文書:[https://www.rancher.cn/docs/](https://www.rancher.cn/docs/)
ランチャーは、パブリッククラウドまたはプライベートクラウドのLinuxホストリソースを使用できます。 Linuxホストは、仮想マシンまたは物理マシンにすることができます。ランチャーは、ホストコンピューターにCPU、メモリ、ローカルディスク、およびネットワークリソースがあれば十分です。ランチャーの観点からは、クラウドベンダーが提供するクラウドホストは、それ自体の物理マシンと同じです。
Rancherは、コンテナ化されたアプリケーションを実行するための柔軟なインフラストラクチャサービスのレイヤーを実装します。ランチャーのインフラストラクチャサービスには、ネットワーク、ストレージ、[負荷分散](https://cloud.tencent.com/product/clb?from=10680)、DNS、およびセキュリティモジュールが含まれます。ランチャーのインフラストラクチャサービスもコンテナを介して展開されるため、ランチャーのインフラストラクチャサービスは任意のLinuxホストでも実行できます。
多くのユーザーは、コンテナー化されたアプリケーションを実行するためにコンテナーオーケストレーションフレームワークを使用することを選択します。 Rancherには、Docker Swarm、Kubernetes、Mesosなど、現在の主流のオーケストレーションおよびスケジューリングエンジンがすべて含まれています。同じユーザーがSwarmまたはKubernetesクラスターを作成できます。また、ネイティブのSwarmまたはKubernetesツールを使用してアプリケーションを管理できます。
Swarm、Kubernetes、Mesosに加えて、Rancherは独自のCattleコンテナオーケストレーションおよびスケジューリングエンジンもサポートしています。 Cattleは、Rancher独自のインフラストラクチャサービスの調整、およびSwarmクラスター、Kubernetesクラスター、Mesosクラスターの構成、管理、アップグレードに広く使用されています。
ランチャーユーザーは、複数のコンテナーで構成されるアプリケーションをワンクリックでアプリケーションストアに展開できます。ユーザーはデプロイされたアプリケーションを管理でき、新しいバージョンが利用可能になったときにアプリケーションを自動的にアップグレードできます。ランチャーは、一連の人気のあるアプリケーションを含む、ランチャーコミュニティによって管理されているアプリケーションストアを提供します。ランチャーユーザーは、独自のプライベートアプリケーションストアを作成することもできます。
Rancherは、柔軟なプラグインユーザー認証をサポートしています。 Active Directory、LDAP、Githubなどの認証方法をサポートします。 Rancherは、環境レベルでロールベースのアクセス制御(RBAC)をサポートしています。ロールを介して、開発環境または本番環境へのユーザーまたはユーザーグループのアクセス許可を構成できます。
次の図は、Rancherの主なコンポーネントと機能を示しています。
Dockerの使いやすさに基づく使いやすいWeb管理インターフェイスにより、コンテナテクノロジを使用したコンテナアプリケーションの展開の難しさが再び軽減されます。
環境テンプレートを使用すると、Cattle、Swarm、K8S、Mesosコンテナクラスター管理スケジューリングプラットフォームを簡単に作成および展開できます。
管理オブジェクトは、単一のコンテナホストだけでなく、複数のホストのクラスタです。数個または数十個のアプリケーションサーバークラスタを作成および管理するには、Ctrl + C、Ctrl + V、およびコピーと貼り付けのみが必要です。
それらの中でWordPressテンプレートを使用して、マウスを数回クリックするだけでWordPressブログシステムを作成できます。展開の難しさは、無料の電子メールアドレスを申請するよりも高くありません。
内蔵のアプリケーションロードバランサーである「サービス」は、少なくとも1つのコンテナーインスタンスのみを必要とします。負荷が不十分または過剰な場合は、マウスをクリックするだけで「サービス」内のコンテナーインスタンスの数を増減して、問題を解決できます。本質的な柔軟な容量拡張。
ハードウェア要件については、公式リンクを参照してください。
https://www.rancher.cn/docs/rancher/v2.x/cn/install-prepare/requirements/
オペレーティングシステム | ip | ドッカーバージョン | 役割 |
---|---|---|---|
ubuntu-16.04.4-server-amd64 | 192.168.10.104 | Docker 18.09.2 | rancher-server |
ubuntu-16.04.4-server-amd64 | 192.168.10.108 | Docker 18.09.2 | rancher-agent |
**注:2台のサーバーがすでにdockerをインストールしています! ****
サーバーをインストールする前に、Alibaba Cloudのドッカーイメージアクセラレーションアドレスを設定しましょう。そうしないと、イメージのダウンロードが非常に遅くなります。
vim /etc/docker/daemon.json
内容は以下の通りです。
{" registry-mirrors":["https://xwx6wxd1.mirror.aliyuncs.com"]}
ドッカーをリロード
/etc/init.d/docker reload
データベースマウントディレクトリを作成します
mkdir -p /data/rancher_server/mysql
外部データベースデータをお勧めします。コンテナが壊れていても、データは残っています。別のコンテナを再構築するだけです。
docker run -d -v /data/rancher_server/mysql:/var/lib/mysql --restart=always -p 8080:8080 rancher/server
動作確認
root@ubuntu:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
27 e65bb6ae54 rancher/server "/usr/bin/entry /usr…"45 minutes ago Up 45 minutes 3306/tcp,0.0.0.0:8080->8080/tcp hopeful_rosalind
ビュー・ログ
root@ubuntu:~# docker logs -f fbac96ddb14c
Running mysql_install_db......
time="2019-09-03T07:33:40Z" level=info msg="Listening on :8090" time="2019-09-03T07:33:43Z" level=info msg="Waiting for machinedriver.activate event" service=gms
...
リスニングオン:8090が表示されたら、起動が成功したことを意味します
ランチャーサービスリスニングポートを表示
root@ubuntu:~# netstat -antupl | grep 8080
tcp6 00:::8080:::* LISTEN 5563/docker-proxy
アクセステスト
http://192.168.10.104:8080
効果は次のとおりです。
右下隅にある[ドイツ語]をクリックし、言語を選択し、[中国語]を選択します
中国の効果は次のとおりです。
初めてログインするときは、アクセス権限が設定されていません。セキュリティ上の理由から、まず上記の[システム管理]-> [アクセス制御]をクリックして、新しいローカルアカウントとパスワードを作成してください。
[ローカル]を選択し、ユーザー名とパスワードを入力します
[ローカル検証を有効にする]をクリックします。
プロンプトはすでに有効になっています
[インフラストラクチャ]-> [ホスト]をクリックします
ホストを追加
[直接保存]をクリックします
このコマンドをコピーします
rancher-agentであるマシン192.168.10.108にログインします
エージェントをインストールする前に、Alibaba Cloudのドッカーイメージアクセラレーションアドレスを設定しましょう。そうしないと、イメージのダウンロードが非常に遅くなります。
vim /etc/docker/daemon.json
内容は以下の通りです。
{" registry-mirrors":["https://xwx6wxd1.mirror.aliyuncs.com"]}
ドッカーをリロード
/etc/init.d/docker reload
joinコマンドを実行します。注:環境ごとに、コマンドは異なります。ページ表示に注目してください。
sudo docker run --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.11
http://192.168.10.104:8080/v1/scripts/89EA1D52A25C98723969:1546214400000:XODniKMfCrisNwBj3gF24syj0
ページの[インフラストラクチャ]-> [ホスト]をもう一度クリックすると、新しく追加されたホストが表示されます
注:agent-1ノードは正常に追加されました!ノードをいくつでも追加します。ノードの追加方法はagent-1の方法と同じなので、コマンドを実行するときに異なるipのノードホスト上にあることを除いて、あまり説明しません。クリックしてホストを追加するたびに生成されるランチャー登録スクリプトは1つのノードに制限されており、複数のノードでスクリプトを再利用することはできません。
nginxコンテナを作成してテストし、[インフラストラクチャ]-> [コンテナ]をクリックします
クリックしてコンテナを追加
名前、ミラー名、およびポート番号を入力します
以下は基本的に変更せず、[保存]をクリックします。
30秒待ってください。コンテナが稼働しています。
エージェントサーバーにログインし、nginxプロセスを表示します。
root@ubuntu:~# docker ps|grep nginx
26478 f808e4e nginx:latest "/.r/r nginx -g 'dae…"2 minutes ago Up 2 minutes r-nginx-6d0e2e27
エージェントIPとポート80を使用してページにアクセスします
http://192.168.10.108/
効果は次のとおりです。
ランチャーのアプリケーションストアは、そのコア機能です。アプリケーションストアを介して、アプリケーションの展開を完了するために完了することができるインターフェイス操作は2ステップのみです。
App Storeをクリックします。これは、例としてAlfrescoの展開です。クリックして、詳細を表示します。
デフォルトのパラメータを保持し、[開始]をクリックします
数分待つとアクティブになり、ポート8080をクリックすると、新しいウィンドウが開きます
新しいウィンドウの効果は次のとおりです。
注:画像を初めて作成する場合、ネットワーク速度によっては、エージェントが画像をダウンロードするのに数分かかります。
私は賢い友人がそれを推測したと信じています。アプリストアの公式アプリに加えて、[アプリストアの構成](http://rancher.com/docs/rancher/latest/en/catalog/)も可能です。将来的には新しいテストサービスが一時的に展開され、2つのステップで直接解決されます。
これらの基本的な機能に加えて、牧場主には多くの機能があります。基本的なものには、コンテナログの表示、シェルアクセス、リソース占有率の監視などが含まれ、拡張されたものには、マルチ環境管理とマルチホストサービス展開管理が含まれます。同時に、コンテナのさまざまな操作は、rancher-cli、rancher-composeコマンドラインツール、または独自のhttpapiを介して制御することもできます。
拡張するには、コンテナを使用して+ http api呼び出しを置き換え、データベースデータをすばやくリセットすることもできます(データベースのデータコンテンツは事前にミラーに配置されます)。これにより、データベースをクリアして再初期化する必要があることが多い一部の操作(自動テストを実行する前にデータベースをリセットするなど)のデータを初期化する時間を大幅に節約できます。同時に、データベースデータも最初にミラーバージョン管理を通じてバージョン管理を取得します。
この記事の参照リンク:
https://blog.51cto.com/13043516/2299949
https://www.cnblogs.com/YatHo/p/7851758.html
Recommended Posts