1. 程式人生 > >Docker_swarm叢集搭建和服務上線及docker-machine叢集管理工具

Docker_swarm叢集搭建和服務上線及docker-machine叢集管理工具

1. Docker_swarm叢集搭建

叢集安裝docker:
環境部署:

角色 server-id 安裝
MANAGER Server1 DOCKER(MASTER)
NODE1 Server2 DOCKER
NODE2 Server3 DOCKER
Manager,node
yum install -y
docker-engine-17.03.1.ce-1.el7.centos.x86_64.rpm
docker-engine-selinux-17.03.1.ce-1.el7.centos.noarch.rpm
bash-completion.noarch 1:2.1-6.el7 systemctl start docker docker swarm init #初始化


在每個節點根據全球唯一token標示加入叢集:

 docker swarm join \
>     --token SWMTKN-1-3762bvy7nfh1e142z0cae6843wemapyd2j93o8ghtahje262w5-2946rqu8bhr2z1o7tbbb3kahw \
>     172.25.30.1:2377

2. 叢集部署nginx服務

真機搭建倉庫:
取消認證;傳輸金鑰給各個節點:
docker container prune #刪除認證
傳輸加密證書:

scp -r certs.d/ root@172.25.30.1:/etc/docker/
scp -r certs.d/ root@172.25.30.2:/etc/docker/
scp -r certs.d/ root@172.25.30.3:/etc/docker/
#建立加密以便遠端登陸
docker run -d --restart=always --name registry -v `pwd`/certs:/certs -e REGISTRY_HTTP_ADDR=0.0.0.0:443 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt -e REGISTRY_HTTP_TLS_KEY
=/certs/domain.key -p 443:443 registry:2 docker push westos.org/nginx #推送倉庫nginx docker load -i /home/kiosk/visualizer.tar docker tag dockersamples/visualizer westos.org/visualizer docker push westos.org/visualizer #推送監控倉庫

各個節點必須加上解析 172.25.30.250 westos.org
在每個節點從westos.org倉庫中拉取映象:

docker pull westos.org/nginx
在manager部署節點安裝啟動nginx從本地倉庫拉取映象
80:80------>埠對映
docker service create --name nginx --publish 80:80 --replicas 3 westos.org/nginx
docker service ls
docker service ps nginx
docker service scale nginx=6 #開啟6個nginx服務
docker service ps nginx
docker ps


自動實現負載均衡

部署多個容器:sacle規模

為了效果明顯我們拉取了visualizer監控映象
在真機提前搭建好倉庫以便節點呼叫:

docker service create --name=viz --publish=8080:8080/tcp --constraint=node.role==manager --mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock westos.org/visualizer



[[email protected] ~]# docker service scale nginx=3
nginx scaled to 3

為了讓效果更加明顯我們給每個nginx新增一個頁面:

echo server1 > index.html
docker container cp index.html nginx.2.9n9gpmvx3rzzjbseujqbsgi7m:/usr/share/nginx/html
echo server2 > index.html
docker container cp index.html nginx.4.jelcmismly25g3kz75tzy1un9:/usr/share/nginx/html
echo server3> index.html
docker container cp index.html   nginx.5.ckja2d72m78xr5nsecuio8hkm:/usr/share/nginx/html

當一個節點宕掉swarm會將該節點任務遷移到另一個節點上但是不會將其中的內容遷移過來所以訪問時就會出現nginx原始介面

3. 服務上線

推送新的服務映象:
docker tag game2048 westos.org/game2048
docker push westos.org/game2048
滾動更新服務上線: # update-parallelism 10 每10s更新10臺迭代更新
docker service update –image westos.org/game2048 –update-parallelism 10 –update-delay 10s nginx
nginx

舊服務下線:

服務上線:

從叢集移出
docker service ls
docker service rm viz #manager移除監控服務
docker swarm leave #從swarm叢集移除節點
docker swarm leave –force #強制移除

4 docker-machine叢集管理工具

Docker Machine 是 Docker 官方提供的一個工具,它可以幫助我們在遠端的機器上安裝 Docker,或者在虛擬機器 host 上直接安裝虛擬機器並在虛擬機器中安裝 Docker。我們還可以通過 docker-machine 命令來管理這些虛擬機器和 Docker。下面是來自 Docker Machine 官方文件的一張圖,很形象哦!

Docker-machine部署docker叢集

安裝指令碼:

chmod +x docker-machine-Linux-x86_64-1.15.0
ln -s docker-machine-Linux-x86_64-1.15.0  docker-machine #建立軟連線以便更新服務
docker-machine -v #檢視版本
ssh-keygen #給節點傳輸金鑰以便直接連線
ssh-copy-id 172.25.30.1
ssh-copy-id 172.25.30.2
ssh-copy-id 172.25.30.3
ssh [email protected]172.25.30.1 #測試
ssh [email protected]172.25.30.2
ssh [email protected]172.25.30.3
docker-machine ls #檢視管理的節點
cd
# 建立節點加入叢集記得加本地解析
docker-machine create --driver generic --generic-ip-address=172.25.30.1 server1
docker-machine create --driver generic --generic-ip-address=172.25.30.2 server2
docker-machine create --driver generic --generic-ip-address=172.25.30.3 server3
docker-machine ls 
docker-machine ssh server3 docker images  #從管理節點檢視server3的映象
docker-machine env server3 #從管理節點檢視server3的環境
docker-machine rm server3 #移除節點server3

相關推薦

Docker_swarm叢集搭建服務上線docker-machine叢集管理工具

1. Docker_swarm叢集搭建 叢集安裝docker: 環境部署: 角色 server-id 安裝 MANAGER Server1 DOCKER(MASTER) NODE1 Server2 DOC

centos7搭建svn服務客戶端設置

步驟 避免 names asi cat plain groups against none centos7貌似預裝了svn服務(有待確認),因此我們直接啟動該服務即可一、svn服務端配置(服務器IP假設為192.168.100.1)步驟1:創建存放代碼庫目錄mkdir -p

搭建Yum服務編譯安裝Httpd

Yum服務器 編譯安裝 搭建yum服務器編譯安裝Httpd搭建Yum服務器及編譯安裝Httpd

Zookeeper叢集搭建Kafka叢集搭建

Zookeeper!!! 一、Zookeeper叢集搭建步驟 0)叢集規劃 在hadoop01、hadoop02和hadoop03三個節點上部署Zookeeper。 1)解壓安裝 (1)解壓zookeeper安裝包到/home/hadoop/insatll/目錄下 [[email 

阿里雲Kubernetes實戰1–叢集搭建服務暴露

前言: 考慮到公司持續整合與docker容器技術實施已有一段時間,取得了不錯的效果,但對於裝置運維、系統隔離、裝置利用率和擴充套件性還有待提升,綜合目前比較成熟的微服務技術,打算把現有業務遷移到K8S叢集。 由於公司所有業務均部署在阿里雲上,最開始就調研了阿里雲自己提供的Kubernetes叢集,但後來還

zookeeper叢集搭建常用命令(筆記)

1.下載zookeeper安裝包 linux的套路是,一般都會把安裝檔案放到/opt下 wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeepe

在Flink叢集搭建使用中遇到的坑

一、專案概況 使用Flink測試中間狀態設定checkpoint和從checkpoint中恢復。 二、搭建中出現的問題 Flink的叢集搭建中需要配置中間狀態快取的路徑(專案中使用到的是在hdfs中儲存中間狀態) 在叢集中需要配置的專案是(如果需要中間狀態的儲存,這個必須的):

ZooKeeper 叢集搭建使用

ZooKeeper 叢集搭建 1,ZooKeeper 叢集搭建須知 節點數奇數臺 2,下載安裝包 3,上傳並解壓 解壓:tar -zxvf zookeeper-3.4.10.tar.gz 4,修改配置檔案zoo.cfg 進入 ZOOKEEPER_HO

HAproxy叢集搭建配置

1.準備四臺web伺服器30.40.50.60,  一臺20排程器,一臺10測試主機 搭建httpd+mysql+php 網站 根目錄下建立三個檔案 [[email protected] ~]# echo 192.168.4.50 > /var/www/html

redis詳解——redis叢集搭建使用(二)

上一章我寫到redis簡單的介紹和如何單機的使用,當我們redis相當重要的時候那麼接下來就需要搭建一個叢集了。 1 Redis叢集的介紹 1.1 redis-cluster(叢集)架構圖 架構細節: (1)所有的redis節點彼此互聯(PING-PONG機制),

HBase 叢集搭建高可用配置

HBase叢集建立在hadoop叢集基礎之上,所以在搭建HBase叢集之前需要把Hadoop叢集搭建起來,並且要考慮二者的相容性.現在就以3臺機器為例,搭建一個簡單的叢集. 1.進入hbase的配置目錄,在hbase-env.sh檔案裡面加入java環境變數.即: JAVA_HOME=exp

Centos7 實現Hadoop-2.9.1分散式叢集搭建部署(三臺機器)

一、準備三臺虛擬機器hadoop 192.168.131.128 localhost131 192.168.131.131 localhost134 192.168.131.134(以上是我的三臺虛擬機器的hostname 和 ip)hadoop 是 master 的 hos

kafka叢集搭建使用Java寫kafka生產者消費者

http://czj4451.iteye.com/blog/2041096 server.properties 需要配置 broker.id=110 host.name=192.168.1.108 zookeeper.connect=192.168.1.108:2181 log.dirs=/

Linux rhel7.0 pacemaker叢集搭建配置

一 叢集環境介紹 一 Linux 叢集發展史 高可用叢集的層次結構1 訊息/基礎架構 corosync 2 成員關係 :監聽心跳資訊,並進行處理成員關係和計算成員關係的票數等資訊3 資源管理 VIP 磁碟 檔案系統 CRM (群集資源管理器)等,有些策略引擎(有些資源是放置在同一個節點和其依賴關係) 和資

RabbitMQ3.6.5叢集搭建遇到的問題

RabbitMQ3.6.5叢集搭建 搭建環境: 非單機叢集,使用VMware Workstation建立三臺獨立的虛擬機器(橋接模式)。ip地址分別為:192.168.0.113 、192.168.0.116、 192.168.0.119 搭

hadoop學習第二天~Hadoop2.6.5完全分散式叢集搭建測試

環境配置: 系統 centos7 節點 192.168.1.111 namenode 192.168.1.115 datanode2 192.168.1.116 datanode3 java 環境 :

ElasticSearch 叢集搭建視覺化外掛安裝

文章目錄 1.單機版的搭建 1) 進入bin目錄下,直接執行elasticsearch 命令 2) 訪問 http://localhost:9200/

Redis 叢集搭建簡單使用教程

##一臺機器<br>ps -ef | grep redis root 61020 1 0 02:14 ? 00:00:01 redis-server 127.0.0.1:7000 [cluster] root 61024 1 0 02:14 ? 00:00:01 redis-ser

solr叢集搭建 java呼叫 solr叢集

solrClund 是solr提供的分散式搜尋方案 solrClund 是基於solr和zookeeper的分散式搜尋方案, 主要思想是使用zookeeper作為叢集的配置中心 特色功能: 1.集中式的配置資訊 2.自動容錯 3.近實時搜尋 4.查

windows下搭建syslog服務基本配置

3.4 set 去掉 一個 截圖 rate lock https pre 一、環境   windows7 64位+ kiwi_syslog_server_9.5.0   kiwi_syslog百度雲下載地址: 鏈接: https://pan.baidu.com/s/1Ep