1. 環境整備 1.1 基本環境 NTP設定: 省略 #時間の一貫性を確保するためにNTPサービスを設定することをお勧めします etcd バージョン: v3.3.9 ファイアウォールとSELinux: ファイアウォールとSELinuxを無効にする
# ホスト名ctl set-hostname etcd1.example.com # ホスト名ctl set-hostname docker01.example.com # ホスト名ctl set-hostname docker02.example.com ヒント: ホスト名は必須ではありません。 1.2 Docker環境 上記のすべてのノードには Docker がインストールされています。詳細については、002.Docker のバージョンとインストールを参照してください。 2. etcdノードのデプロイメント ヒント: この環境はすべて Docker 化されています。つまり、etcd サービスも Docker 形式で存在します。 2.1 etcdの基本設定 # mkdir -p /var/log/etcd/ #etcd ログを保存するためのディレクトリを作成することをお勧めします# mkdir -p /data/etcd #別の etcd データ ディレクトリを作成することをお勧めします# export HOST_1=172.24.8.71 #etcd ノードの IP アドレスを設定します # export DATA_DIR=/data/etcd #クラスターのetcdデータノードを設定します # REGISTRY=quay.io/coreos/etcd #このウェアハウスを使用することをお勧めします # ETCD_VERSION=latest #etcdのバージョンを設定します # export NAME_1=etcd1 #etcdノードの名前を設定します # docker ボリューム作成 --name etcd-data ヒント: 上記のすべての操作はすべてのノードで実行する必要があります。 2.3 docker etcdクラスターを起動する [root@etcd1 ~]# docker run \ -p 2379:2379 \ -p 2380:2380 \ --volume=${DATA_DIR}:/etcd-data \ --name etcd ${REGISTRY}:${ETCD_VERSION} \ /usr/local/bin/etcd \ --data-dir=/etcd-data --name ${NAME_1} \ --initial-advertise-peer-urls http://${HOST_1}:2380 --listen-peer-urls http://0.0.0.0:2380 \ --advertise-client-urls http://${HOST_1}:2379 --listen-client-urls http://0.0.0.0:2379 \ --initial-cluster ${NAME_1}=http://${HOST_1}:2380 ヒント: quay.io/coreos/etcd イメージは中国ではプルできない可能性がありますが、外部ノードからプルしてクラスター ノードに scp することはできます。 2.4 確認と検証 [root@etcd1 ~]# docker ps
[root@etcd1 ~]# docker exec -it bcb96fb0f987 /usr/local/bin/etcdctl cluster-health [root@etcd1 ~]# docker exec -it bcb96fb0f987 /usr/local/bin/etcdctl --endpoints=http://${HOST_1}:2379 メンバーリスト 3つのDockerホストノード構成 3.1 docker01の設定 [root@docker01 ~]# vi /etc/sysconfig/docker オプション = '--cluster-store=etcd://172.24.8.71:2379 --cluster-advertise=172.24.8.72:2379' [root@docker01 ~]# systemctl dockerを再起動します 3.2 docker02の設定 [root@docker02 ~]# vi /etc/sysconfig/docker オプション = '--cluster-store=etcd://172.24.8.71:2379 --cluster-advertise=172.24.8.73:2379' [root@docker02 ~]# systemctl dockerを再起動します 3.3 オーバーレイネットワークの作成 [root@docker01 ~]# docker ネットワーク作成 -d オーバーレイ overlaynet1 418654e0092f5d1c3e4bf2b9ee73cdd22932dd60fecf12d7a3b024818118244b [root@docker01 ~]# docker ネットワーク検査 overlaynet1 [root@docker02 ~]# docker ネットワーク検査 overlaynet1 ヒント: docker01 と docker02 の両方のホストで、docker01 に作成されたオーバーレイ ネットワークを確認します。両方が存在する場合、ネットワーク データは etcd を介してローカルではなく分散されていることを意味します。 3.4 テストネットワーク [root@docker01 ~]# docker run -d --name Container01 --network overlaynet1 training/webapp python app.py [root@docker02 ~]# docker run -d --name Container02 --network overlaynet1 training/webapp python app.py [root@docker01 ~]# docker exec -it 73e984a5528a /bin/bash root@73e984a5528a:/opt/webapp# ifconfig root@73e984a5528a:/opt/webapp# ルート -n [root@docker02 ~]# docker exec -it 89eac9521743 /bin/bash root@89eac9521743:/opt/webapp# ifconfig 例:
[root@docker01 ~]# brctl show [root@docker01 ~]# dockerネットワークls その他の参考資料:
以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Vue3 でモバイル ログインおよび登録モジュールをエレガントに実装する方法
>>: MySQL でグループ化した後、各グループの最大値を取得する詳細な例
下図のように、 selectポップアップレイヤーの下部に操作ボタンを配置するのが一般的な設計方法です...
1. 場所の正規表現例を見てみましょう: 場所 = / { # 完全一致 / 、ホスト名の後に文字列...
概要Nginx では変数を使用して設定を簡素化し、設定の柔軟性を向上させることができます。すべての変...
具体的な方法:ステップ1: mysqlサービスを停止する /etc/init.d/mysqld を停...
結果:実装コードhtml <ul class="スライド"> <...
目次1. Tomcatコードをダウンロードする2. ダウンロード後のディレクトリ構造3. ソースコー...
この記事では、RHEL8 のネットワーク サービスとネットワーク構成ツール、およびネットワーク ファ...
CSSの背景プロパティの値背景色背景画像背景繰り返し背景位置背景添付複合プロパティ: 背景: ba...
目次Dockerfileを使用してDockerイメージを構築する1. Dockerfile とは何で...
目次1. 実施プロセス2. オブザーバーを表示する3. ウォッチャーを実装する4. コンパイルを実装...
この記事では、WeChatアプレットで星評価を実装するための具体的なコードを参考までに紹介します。具...
目次1. 型2. インスタンス3. コンストラクター4.toString() この記事では、4 つの...
目次ウェブ開発1. Web開発の概要Tomcatのインストールと設定Tomcatをインストールする2...
justify-content:space-betweenレイアウトを使用する場合、要素の最後の行に...
JavaScriptは画像を表示したり非表示にしたりしますが、参考までに具体的な内容は次のとおりで...