ubuntuDockerのインストールとRancherの展開

1.ランチャーの紹介

[ ランチャー](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/)

ランチャー構造

1、 インフラストラクチャオーケストレーション

ランチャーは、パブリッククラウドまたはプライベートクラウドのLinuxホストリソースを使用できます。 Linuxホストは、仮想マシンまたは物理マシンにすることができます。ランチャーは、ホストコンピューターにCPU、メモリ、ローカルディスク、およびネットワークリソースがあれば十分です。ランチャーの観点からは、クラウドベンダーが提供するクラウドホストは、それ自体の物理マシンと同じです。
Rancherは、コンテナ化されたアプリケーションを実行するための柔軟なインフラストラクチャサービスのレイヤーを実装します。ランチャーのインフラストラクチャサービスには、ネットワーク、ストレージ、[負荷分散](https://cloud.tencent.com/product/clb?from=10680)、DNS、およびセキュリティモジュールが含まれます。ランチャーのインフラストラクチャサービスもコンテナを介して展開されるため、ランチャーのインフラストラクチャサービスは任意のLinuxホストでも実行できます。

2、 コンテナのオーケストレーションとスケジューリング

多くのユーザーは、コンテナー化されたアプリケーションを実行するためにコンテナーオーケストレーションフレームワークを使用することを選択します。 Rancherには、Docker Swarm、Kubernetes、Mesosなど、現在の主流のオーケストレーションおよびスケジューリングエンジンがすべて含まれています。同じユーザーがSwarmまたはKubernetesクラスターを作成できます。また、ネイティブのSwarmまたはKubernetesツールを使用してアプリケーションを管理できます。
Swarm、Kubernetes、Mesosに加えて、Rancherは独自のCattleコンテナオーケストレーションおよびスケジューリングエンジンもサポートしています。 Cattleは、Rancher独自のインフラストラクチャサービスの調整、およびSwarmクラスター、Kubernetesクラスター、Mesosクラスターの構成、管理、アップグレードに広く使用されています。

3、 アプリストア

ランチャーユーザーは、複数のコンテナーで構成されるアプリケーションをワンクリックでアプリケーションストアに展開できます。ユーザーはデプロイされたアプリケーションを管理でき、新しいバージョンが利用可能になったときにアプリケーションを自動的にアップグレードできます。ランチャーは、一連の人気のあるアプリケーションを含む、ランチャーコミュニティによって管理されているアプリケーションストアを提供します。ランチャーユーザーは、独自のプライベートアプリケーションストアを作成することもできます。

4、 エンタープライズレベルの権限管理

Rancherは、柔軟なプラグインユーザー認証をサポートしています。 Active Directory、LDAP、Githubなどの認証方法をサポートします。 Rancherは、環境レベルでロールベースのアクセス制御(RBAC)をサポートしています。ロールを介して、開発環境または本番環境へのユーザーまたはユーザーグループのアクセス許可を構成できます。

次の図は、Rancherの主なコンポーネントと機能を示しています。

ランチャーの特徴

1、 グラフィカルな方法

Dockerの使いやすさに基づく使いやすいWeb管理インターフェイスにより、コンテナテクノロジを使用したコンテナアプリケーションの展開の難しさが再び軽減されます。

2、 複数のスケジューラーをサポート

環境テンプレートを使用すると、Cattle、Swarm、K8S、Mesosコンテナクラスター管理スケジューリングプラットフォームを簡単に作成および展開できます。

3、 ホストクラスターの管理

管理オブジェクトは、単一のコンテナホストだけでなく、複数のホストのクラスタです。数個または数十個のアプリケーションサーバークラスタを作成および管理するには、Ctrl + C、Ctrl + V、およびコピーと貼り付けのみが必要です。

4、 組み込みのアプリケーションストア

それらの中でWordPressテンプレートを使用して、マウスを数回クリックするだけでWordPressブログシステムを作成できます。展開の難しさは、無料の電子メールアドレスを申請するよりも高くありません。

5、 柔軟なリソース割り当て

内蔵のアプリケーションロードバランサーである「サービス」は、少なくとも1つのコンテナーインスタンスのみを必要とします。負荷が不十分または過剰な場合は、マウスをクリックするだけで「サービス」内のコンテナーインスタンスの数を増減して、問題を解決できます。本質的な柔軟な容量拡張。

次に、Rancherサーバーをインストールします

ハードウェア要件については、公式リンクを参照してください。

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

効果は次のとおりです。

右下隅にある[ドイツ語]をクリックし、言語を選択し、[中国語]を選択します

中国の効果は次のとおりです。

3、Rancherサーバー構成

アカウントを追加する ##

初めてログインするときは、アクセス権限が設定されていません。セキュリティ上の理由から、まず上記の[システム管理]-> [アクセス制御]をクリックして、新しいローカルアカウントとパスワードを作成してください。

[ローカル]を選択し、ユーザー名とパスワードを入力します

[ローカル検証を有効にする]をクリックします。

プロンプトはすでに有効になっています

4、ホストを追加

[インフラストラクチャ]-> [ホスト]をクリックします

ホストを追加

[直接保存]をクリックします

このコマンドをコピーします

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つのノードに制限されており、複数のノードでスクリプトを再利用することはできません。

5、コンテナを追加

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/

効果は次のとおりです。

6.ランチャーアプリストアの使用

ランチャーのアプリケーションストアは、そのコア機能です。アプリケーションストアを介して、アプリケーションの展開を完了するために完了することができるインターフェイス操作は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

ubuntuDockerのインストールとRancherの展開
Ubuntu環境でのNginxのインストールと展開
Centos6.5のインストールとKVMの展開
UbuntuでのDockerCEのインストール
Ubuntuのインストールと展開Redash操作ノート(2020.08)
Centos-6.5LNMP環境のインストールと展開
Centos7のインストールとgitlabサーバーの展開
Ubuntu16.04でのCUDAのインストールとアンインストール
Win10サブシステムUbuntuのインストールと使用
Centos7のインストールとAirflowの展開の詳細
Ubuntuの紹介とインストール
Ubuntu12.04でのpulseaudioとAPIの使用法のインストール
Ubuntu19.1でのGitLabのインストール、構成、およびアンインストール
Ubuntu環境でのSSHのインストールと使用
Ubuntu16.04のインストールと簡単な構成
UbuntuでのPythonでのGDALのインストールと使用
Ubuntuの展開とNexus3の経験
ubuntu環境でのMySQLのインストールと簡単な実践(1)
DockerのCentOS環境インストール
1つは、ピットにドッキングする(win10とUbuntuのインストール)
ubuntuでのrz / szコマンドのインストールと使用方法
UbuntuPostgreSQLのインストールと構成
Centos8のOpenStackUssuriの最小限の展開とインストールの詳細なチュートリアル
Centos7のインストールとJenkinsの構成
ubuntuでのJenkinsのハッピーインストール
Ubuntuでのdebパッケージのインストール
CentOS7のインストールとGitlabのメンテナンス
UbuntuにDockerをインストールして構成する
ubuntuおよびwindowsでのRedisのインストール
Ubuntu19.1のインストールと構成中国の環境
Ubuntuインストール後の構成と美化(1)
Nginxのインストールと構成のロード(ubuntu12.04)
CentOs7のインストールと展開Zabbix3.4オリジナル
2-Kubernetesエントリーマニュアルのインストールと展開
Ubuntu18.04インストールAnaconda3およびVSCodeガイド
Ubuntu16.04でのCUDA8.0とCUDA9.0の共存
CentOS7でのErlang20.2のインストールと展開
Ubuntu構成ソースとインストールソフトウェア
Docker CE forUbuntuのインストールに関する注意事項
JumpServer Bastion Host--CentOS 8のインストールと展開(4)
UbuntuでのSubversion(SVN)のクイックインストールと構成の詳細な説明
Ubuntu環境でのSSHのインストールと使用の詳細な説明
Ubuntuの基本設定:openssh-serverのインストールと使用の概要
CentOSでのMysqlのインストールと使用
CentOS6 / 7でのMySQL8.0のインストール、展開、および構成
Ubuntu18.04システムのインストールと前提条件のソフトウェアインストールガイド
centos7でのredisのインストールと構成
ubuntuと基本的な使用法にdockerをインストールします
Ubuntu18.04サーバーバージョンのインストールと使用(グラフィック)
Ubuntu18.04インストールPycharmチュートリアルの実装
CentOSでのZabbixのインストールと展開およびローカリゼーション
n1.Dockerのインストールと操作の例外が発生しました
CentOS7でのJenkinsのインストールと展開のチュートリアル
Ubuntu 14.04 16.04 Linuxnvidiaドライバーのダウンロードとインストール
LinuxはDockerをインストールし、Ubuntuシステムを実行します
Ubuntu12.04でのDLNA / UPnPサーバーのインストールと構成
CentOS7システムでのJDKのインストールと構成
UBUNTU16.04インストール日記
ubuntu Django + Uwsgi + Nginxの実稼働環境の展開
DebianおよびUbuntuのインストールソース構成ファイルの説明
ubuntu18.04インストールドッカー