日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

docker swarm的应用----docker集群的构建

發布時間:2023/12/9 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker swarm的应用----docker集群的构建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、docker安裝

這里我們安裝docker-ce 的18.03版本

yum??? -y remove docker? 刪除原有版本

#安裝依賴包

[root@Docker ~]# yum -y install yum-utils device-mapper-persistent-data lvm2

#添加docker的CE版本的yum源配置文件

[root@Docker ~]# curl?? https://download.docker.com/linux/centos/docker-ce.repo??? -o????? /etc/yum.repos.d/docker-ce.repo

安裝CE版本的docker

#yum -y install docker-ce

#啟動docker

# systemctl start docker

# systemctl enable docker?? #添加開機啟動

# docker version #查看docker版本

二、鏡像操作

我們查看鏡像公有倉庫中的鏡像,

docker? search? --filter-stars=50? tomcat??? #查看鏡像倉庫中星級在50 以上的tomcat鏡像

因為本項目,要用到tomcat鏡像,我們下載鏡像

docker? pull?? tomcat?? #tomcat? 為鏡像地址及倉庫和標簽

下載后查看一下,docker?? images

三、創建容器集群

docker-swarm是基于docker平臺實現的集群技術,他可以通過幾條簡單的指令快速的創建一個docker集群,接著在集群的共享網絡上部署應用,最終實現分布式的服務。相比起zookeeper等集群管理框架來說,swarm顯得十分輕量,作為一個工具,它把節點的加入、管理、發現等復雜的操作都濃縮為幾句簡單的命令,并且具有自動發現節點和調度的算法,還支持自定制。使用 Swarm 操作集群,會使用戶感覺就像是在一臺主機上進行操作。
SwarmKit 將節點分為兩類:

工作節點(Worker ):負責通過執行容器運行任務。SwarmKit 的默認執行器為 Docker 容器執行器(Docker Container Executor)。

(1)內建分布式存儲,不要額外的數據庫

(2)支持 Rolling update

(3 容器高可用

(4)通過 TLS 保證了節點之間通訊的安全

管理節點(Manager ):負責接收和響應用戶請求,將集群狀態調節到最終狀態。在 SwarmKit

中,用戶可以動態調整節點的角色,即在 Manager 和 Worker 之間轉換。

實驗環境:

這里選擇三臺主機運行 Swarm,依次為:

node1 192.168.1.23

node2 192.168.1.27

node3 192.168.1.28

基本環境配置

3 臺主機確保時間一致 ntp

3 臺主機均關閉 selinux,開啟路由轉發。

3 臺主機根據上面的實驗環境描述修改主機名和 ip 地址

系統環境準備

準備系統環境, 配置 host 列表

3 臺主機均修改/etc/hosts 文件,添加所有主機的 ip 地址和主機名的映射記錄

以?master 為例子,其他節點同

vim? /etc/hosts

192.168.1.23? master

192.168.1.27? slave1

192.168.1.28? slave2

主要使用三個新的命令行工具創建一個 swarm 集群:

docker swarm 開啟 swarm 模式; 加入 Swarm 集群; 配置集群參數

docker node 查詢集群節點信息; 提升/移除一個管理節點; 管理 swarm 節點主機

docker service 創建管理 service

在?master 上初始化 swram 集群:

注意:你只需要在一個 master 上初始化 swarm 集群,其他 node 加入這個集群就行了, 所以運行.

docker?? swarm? init? --advertise-addr? 192.168.1.23:2377

根據命令的提示:

以manager服務器角色加入 swarm 集群需要運行如下命令:

先docker? swarm join-token? manager? 獲取manager的token,再執行以下命令:

docker swarm? join 加入到 master創建的集群

我們以其他節點服務器,以 worker 角色加入 swarm 集群需要運行如下命令:

先docker? swarm join-token? worker? 獲取worker的token,再執行以下命令:

docker swarm? join 加入到 master創建的集群

查看 swarm 集群 node 列表

我們一共要加入兩臺,然后我們再看節點情況
docker?? node? ls

一共是三個,一個master, 兩個從節點

集群創建完畢

四、在 swarm 集群上運行 docker 應用

概念解釋:service

Docker swarm 引入了服務的概念,一個服務由多個任務組成,一個任務即一個運行的容器。

下面我們可以使用之前 pull的 tomcat 鏡像啟動服務,

docker service create --replicas 2 --name judge_swarm -p 8080:8080 --network=swarm_test?? tomcat

docker service create 命令創建一個 service.

--name 標簽命名 service 為 judge_swarm

--replicas 標簽來聲明?2 個運行實體(即容器副本數)

?使用 docker service ls 查看服務

?我們到各個節點上去看,docker? ps -a

可以看到

?每個節點上啟動了一個容器實例,我們更改容器內 tomcat 服務的主頁

docker? exec? -it? 21b?? /bin/bash

docker?cp? ? index.jsp?? 21b:/usr/local/tomcat/webapps/web

docker? cp? server.xml?? 21b:/usr/local/tomcat/conf/

讓每個tomcat容器實例顯示不同的網頁,在瀏覽器上輸入 http://master? ip:8080/web

?刷新界面可以看到服務是輪詢顯示頁面的,也就是該集群實現了負載均衡。

同時,如果負載過大,我們還可以拓展該服務上的容器實例,本例拓展為4個,

docker? service? scale?? judge_swarm=4

管理器會根據節點情況,在不同節點另外啟動兩個實例

本案例是在master 上啟動了兩個容器實例

?

?docker?? swarm? 的應用,器群部署完畢。

?

?

轉載于:https://www.cnblogs.com/mushou/p/9508450.html

總結

以上是生活随笔為你收集整理的docker swarm的应用----docker集群的构建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。