GNU/Linux >> Linux の 問題 >  >> Linux

Ubuntu20.04にConsulServerをインストールする方法

Consulは、セグメンテーション機能、構成、サービス検出など、フル機能のコントロールプレーンを提供するサービスメッシュソリューションです。これらの機能は、必要に応じて個別に使用することも、フルサービスメッシュを作成するために一緒に使用することもできます。 Consulはデータプレーン上で動作し、プロキシとネイティブ統合モデルの両方をサポートします。 Consulには、すべてがすぐに機能することを保証するシンプルな組み込みプロキシが付属しています。 Consulは、Envoyなどのサードパーティのプロキシ統合もサポートしています。

領事の主な機能は次のとおりです。

  • サービスディスカバリ
  • ヘルスチェック
  • KVストア
  • 安全なサービス通信
  • マルチデータセンター機能

このチュートリアルでは、Ubuntu20.04にConsulサーバーをインストールする方法を紹介します。

前提条件
  • Atlantic.Netクラウドプラットフォーム上の新しいUbuntu20.04VPS
  • サーバーにルートパスワードが設定されています
ステップ1-Atlantic.Netクラウドサーバーを作成する

まず、Atlantic.Netクラウドサーバーにログインします。 2GB以上のRAMを搭載したオペレーティングシステムとしてUbuntu20.04を選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。

Ubuntu 20.04サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。

apt-get update -y
ステップ2–Consulサーバーをインストールする

まず、次のコマンドを使用して必要なパッケージをインストールします。

apt-get install unzip gnupg2 curl wget -y

次に、次のコマンドを使用して、Consulの最新バージョンをダウンロードします。

wget https://releases.hashicorp.com/consul/1.8.4/consul_1.8.4_linux_amd64.zip

ダウンロードが完了したら、次のコマンドを使用してダウンロードしたファイルを解凍します。

unzip consul_1.8.4_linux_amd64.zip

次に、次のコマンドを使用して、領事館のバイナリを/ usr / local/binディレクトリに移動します。

mv consul /usr/local/bin/

次に、次のコマンドを使用して領事のバージョンを確認します。

consul --version

次の出力が得られるはずです:

Consul v1.8.4
Revision 12b16df32
Protocol 2 spoken by default, understands 2 to 3 (agent will automatically use protocol >2 when speaking to compatible agents)
ステップ3–領事サービスファイルを作成する

まず、領事のために別のユーザーとグループを作成する必要があります。次のコマンドで作成できます:

groupadd --system consul
useradd -s /sbin/nologin --system -g consul consul

次に、次のコマンドを使用して必要なディレクトリを作成します。

mkdir -p /var/lib/consul
mkdir /etc/consul.d

次に、これらのディレクトリの所有権と権限を変更します。

chown -R consul:consul /var/lib/consul
chmod -R 775 /var/lib/consul
chown -R consul:consul /etc/consul.d

次に、次のコマンドを使用してConsulsystemdサービスファイルを作成します。

nano /etc/systemd/system/consul.service

次の行を追加します:

[Unit]
Description=Consul Service Discovery Agent
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=consul
Group=consul
ExecStart=/usr/local/bin/consul agent -server -ui \
            -advertise=your-server-ip \
            -bind=your-server-ip \
            -data-dir=/var/lib/consul \
            -node=consul-01 \
            -config-dir=/etc/consul.d
ExecReload=/bin/kill -HUP $MAINPID
KillSignal=SIGINT
TimeoutStopSec=5
Restart=on-failure
SyslogIdentifier=consul
[Install]
WantedBy=multi-user.target

終了したら、ファイルを保存して閉じます。

:以前に作成した適切なserver-ip、データディレクトリパス、および構成ディレクトリを提供します。

次に、次のコマンドを使用してsystemdデーモンをリロードします。

systemctl daemon-reload
ステップ4–領事サーバーを構成する

まず、必要な長さとエンコーディングのキーを生成する必要があります。次のコマンドで生成できます:

consul keygen

次の出力が得られるはずです:

TJ8iw/XJ+0/BSUMGuLFWkeT23LmGnfhmF/qWgA25wZU=

次に、ConsulのJson構成ファイルを作成する必要があります。次のコマンドで作成できます:

nano /etc/consul.d/config.json

以下に示すように、サーバーのIP、ホスト名、および領事キーを入力します。

{
"bootstrap": true,
"server": true,
"log_level": "DEBUG",
"enable_syslog": true,
"datacenter": "server1",
"addresses" : {
"http": "0.0.0.0"
},
"bind_addr": "your-server-ip",
"node_name": "ubuntu2004",
"data_dir": "/var/lib/consul",
"acl_datacenter": "server1",
"acl_default_policy": "allow",
"encrypt": "TJ8iw/XJ+0/BSUMGuLFWkeT23LmGnfhmF/qWgA25wZU="
}

終了したら、ファイルを保存して閉じます。

次に、Consulサービスを開始し、次のコマンドを使用してシステムの再起動時に開始できるようにします。

systemctl start consul
systemctl enable consul

次に、次のコマンドで領事のステータスを確認します。

systemctl status consul

次の出力が得られるはずです:

● consul.service - Consul Service Discovery Agent
     Loaded: loaded (/etc/systemd/system/consul.service; disabled; vendor preset: enabled)
     Active: active (running) since Thu 2020-10-01 10:35:52 UTC; 4min 11s ago
   Main PID: 5511 (consul)
      Tasks: 9 (limit: 2353)
     Memory: 17.4M
     CGroup: /system.slice/consul.service
             └─5511 /usr/local/bin/consul agent -server -ui -advertise=your-server-ip -bind=your-server-ip -data-dir=/var/lib/consul -node=con>

この時点で、Consulサーバーが起動し、ポート8500でリッスンしています。次のコマンドで確認できます。

ss -plunt | grep 8500

次の出力が得られるはずです:

tcp   LISTEN 0      4096                                  *:8500              *:*                                                                                users:(("consul",pid=5511,fd=17))           
ステップ5–Nginxをリバースプロキシとして構成する

次に、ポート80で領事館にアクセスするためのリバースプロキシとしてNginxをインストールして構成することをお勧めします。

まず、次のコマンドを使用してNginxサーバーをインストールします。

apt-get install nginx -y

インストールしたら、Nginxのデフォルトの仮想ホスト構成ファイルを削除します。

rm -rf /etc/nginx/sites-enabled/default

次に、次のコマンドを使用してConsul仮想ホスト構成ファイルを作成します。

nano /etc/nginx/sites-available/consul.conf

次の行を追加します:

server {
listen 80 ;
server_name your-server-ip;
root /var/lib/consul;
location / {
proxy_pass http://127.0.0.1:8500;
proxy_set_header   X-Real-IP $remote_addr;
proxy_set_header   Host      $http_host;
}
}

ファイルを保存して閉じてから、次のコマンドで仮想ホストをアクティブ化します。

ln -s /etc/nginx/sites-available/consul.conf /etc/nginx/sites-enabled/

次に、次のコマンドを使用して、構文エラーがないかNginxを確認します。

nginx -t

次の出力が得られるはずです:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

次に、次のコマンドを使用してNginxサービスを再起動します。

systemctl restart nginx

エラーが発生した場合は、Nginxのデフォルトのサーバー構成ファイルを編集してserver_names_hash_bucket_sizeを設定する必要があります:

nano /etc/nginx/nginx.conf

http{の下に次の行を追加します :

server_names_hash_bucket_size 64;

ファイルを保存して閉じてから、Nginxサービスを再起動して変更を適用します。

systemctl restart nginx
ステップ6–領事ダッシュボードにアクセス

次に、Webブラウザーを開き、URL http:// your-server-ip / uiを使用してConsulWebインターフェースにアクセスします。 。次のページに領事館のダッシュボードが表示されます。

ノードをクリックします 以下に示すように、サーバー内のアクティブなノードを一覧表示します。

結論

おめでとう!これで、Ubuntu20.04にConsulサーバーが正常にインストールされました。これで、Consulサーバーにクライアントノードを追加して、Consulダッシュボードからそれらの管理を開始できます。詳細については、領事館のドキュメントをご覧ください。 Atlantic.NetからVPSホスティングの領事を始めましょう!


Linux
  1. Ubuntu18.04および20.04にTeamSpeakサーバーをインストールする方法

  2. Ubuntu20.04にMongoDBをインストールする方法

  3. Ubuntuサーバーにロケートをインストールする方法

  1. Ubuntu20.04にEteSyncサーバーをインストールする方法

  2. Ubuntu16.04にConsulServerをインストールする方法

  3. Ubuntu18.04にRをインストールする方法

  1. UbuntuServer22.04にOpenLDAPをインストールする方法

  2. UbuntuServerにLighttpdをインストールする方法

  3. UbuntuにFTPサーバーをインストールする方法は?