(精華)2020年10月3日 微服務 Docker-叢集(swarm)
docker-叢集
什麼是docker叢集
什麼是叢集
1、先生活中叢集
2、再軟體中叢集
3、最後總結
總結:不同服務例項,來共同提供服務的一組集合就是叢集
叢集型別
1、先看兩個叢集例子:nginx叢集,redis叢集
2、然後總結
1、對稱叢集
不同服務例項,功能地位相等(每一個例項提供的功能機會相同)
定位:資料計算
2、非對稱叢集
不同服務例項,功能地位不相等(每一個例項提供功能的機會不相同)
定位:資料儲存
什麼是docker叢集
接下來,考一下大家,大家認為docker叢集是個什麼叢集
總結
1、docker叢集是非常叢集
見圖進行解析
為什麼要使用docker叢集
從docker叢集圖來進行分析,docker裡面執行著容器,如果docker當機?
docker容器對外提供 訪問,如果訪問量越大,一臺docker的併發量畢竟有限
總結:
1、單點故障問題
2、效能問題
所以為了解決這兩個問題,就出現了docker叢集
實現docker叢集方式
1、swarm
2、k8s
但是我們今天只會講解swarm,今天我們選擇swarm
選擇原因
1、swarm是docker官方提供的叢集工具
2、k8s是谷歌開發的
3、k8s理解使用起來比較難
swarm如何管理docker叢集
swarm是什麼,怎麼理解?
swarm 就好比是地鐵購票機安裝員。同理swarm就是地鐵購票機安裝員
Docker Swarm 是 Docker 的叢集管理工具。它將 Docker 主機池轉變為單個虛擬 Docker 主機。 Docker Swarm 提供了標準的 Docker API,所有任何已經與 Docker 守護程式通訊的工具都可以使用 Swarm 輕鬆地擴充套件到多個主機。
swarm內部概念
1、node節點概念
2、task概念 — 後面再引入
3、service概念 — 後面再引入
4、stack概念 — 後面再引入
就是將叢集的docker通過node分配角色的方式進行維護
node 就是docker的別名,就好比,我們去公司上班,每一個人都有一個工號,工號就是我們的別名,那麼node就是docker的別名,但是node有兩個型別,manager 和work,就是講docker分成了兩類,就好比,公司裡面有老闆和員工,manager就是老闆,work就是員工,老闆是管理的,員工是幹事的。有時候人工不夠的時候,老闆也過來幹事。
1、node :docker主機
2、管理節點(manager)
管理docker叢集
1、叢集配置
2、容器服務管理。
3、負載均衡
4、叢集管理?
3、工作節點 (worker)
1、提供容器服務
swarm是如何操作叢集節點容器的?===目前先不講
在使用之前我們必須要準備一些概念,這些概念是swarm的核心,掌握了這些概念,就已經理解了swarm 50%
後面都是基於這些概念的操作
service是什麼?
是指不同節點容器集合,用來維護容器
task是什麼?
在叢集環境中,用來執行容器
stack是什麼?
是指stack的集合,用來維護service
swarm如何建立docker叢集
條件
1、兩臺以上docker主機
2、docker swarm
步驟
1、安裝兩臺docker主機,使用linux或者centos7.0以上
安裝1.12 版本以上的docker,會在主機上預設提供支援
2、如何使用docker swarm?
1、輸出docker命令,會看到有一個swarm管理命令
docker swarm
2、然後輸入docker swarm 命令
可以看到很多的幫助命令
3、建立叢集管理節點
docker swarm init --advertise-addr 123.57.164.54
4、建立工作節點
docker swarm join --token SWMTKN-1-2bomg3tb4cs8f5g7oqrw34k1mql9i0tr2msn8leqyphgac5hct-db4iwy32sdr6m0bmqyhi47jyn 123.57.164.54:2377
5、檢視叢集訊息,檢視工作節點和管理節點
docker info
swarm叢集中如何管理容器?
使用service 你們想一下,公司除了人工還有什麼,是不是還有部分經理,那麼service就是部分經理
就好比公司的部門經理
條件
1、rmcore映象
2、nginx映象
3、docker service
步驟
1、檢視rmcore映象和nginx映象
使用rmcore映象來進行叢集服務部署
2、 如何使用docker service?
1、輸出docker命令,會看到有一個service管理命令
docker service
2、然後輸入docker service命令
可以很多的幫助命令
3、建立服務
docker service create --replicas 1 – name rmcoreservice rmcore
--replicas 配置服務副本(容器在不同節點啟動)
--name 服務名稱
4、列表服務
docker service ls
5、檢視服務執行在哪個節點
docker service ps rmcore-service
6、檢視服務部署詳細資訊
docker service inspect --pretty rmcoreservice
7、服務擴充套件(向其他節點新增服務副本)
docker service scale rmcoreservice=2
8、刪除服務
docker service rm rmcoreservice
9、服務如何進行外部訪問
docker service create --replicas 1 – name --publish 6066:80 rmcoreservice
--publish 釋出埠例如 6066:80
10、進行網路訪問
111.229.181.115:6066
123.57.164.54:6066
swarm叢集中如何管理不同容器?
使用stack 你們想一下,公司除了人工,是不是還有部分經理,還有什麼,就是總經理,那麼stack 就是總經理
就好比公司的部門經理
條件
1、rmcore映象
2、nginx映象
3、docker-compose.yml
4、stack
1、檢視rmcore映象和nginx映象
使用rmcore映象來進行叢集服務部署
2、 如何使用docker stack?
1、輸出docker命令,會看到有一個service管理命令
docker stack
2、然後輸入docker stack命令
有很多的幫助命令
3、建立堆疊(服務集合)
1、建立一個stack目錄(在當前目錄/root下建立一個stack)
mkdir stack
2、配置yml檔案
在原有docker.compose.yml增加配置
version: ‘3.4’
deploy: #叢集模式配置
mode: replicated #配置副本模式,gloab
replicas: 2 # 副本份數
3、建立stack
docker stack deploy -c docker-compose.yml rmstack
-c 是指定docker-compose.yml檔案
rmcorestack 指定stack 標識(名稱)
4、檢視stack列表
docker stack ls
5、檢視stack 服務列表資訊
docker stack ps rmstack
或者 docker service ls
5、刪除stack
docker stack rm rmstack
通過兩個節點檢視,所有的資訊是否刪除
version: '3'
services:
rmcore:
image: rmcore
ports:
- 8088:80
- 8089:443
deploy:
mode:
replicated
replicas: 2
nginx:
image: nginx
ports:
- 8090:80
deploy:
mode:
replicated
replicas: 2
6、進行網路訪問
111.229.181.115:6066
123.57.164.54:6066
swarm如何執行容器
使用task執行容器
swarm如何監聽容器狀態?
swarm不能做到
使用k8s做到
swarm如何記錄容器日誌?
swarm不能做到
使用k8s做到
相關文章
- Docker Swarm叢集初探DockerSwarm
- Docker Swarm 叢集搭建DockerSwarm
- 095、如何建立Swarm叢集?(Swarm02)Swarm
- Docker swarm叢集搭建教程DockerSwarm
- Docker Swarm 叢集搭建教程DockerSwarm
- Docker Swarm 叢集搭建實踐DockerSwarm
- Terraform部署容器服務Swarm叢集及WordPress應用ORMSwarm
- 使用Docker Swarm快速搭建與部署你的服務叢集DockerSwarm
- swarm mode叢集之service分組Swarm
- [第十五篇]——Swarm 叢集管理Swarm
- 微服務Consul系列之叢集搭建微服務
- swarm mode叢集搭建及簡單概念Swarm
- 分散式、微服務、叢集,個人理解分散式微服務
- ceph叢集常用命令精華彙總!
- 使用Docker Swarm搭建分散式爬蟲叢集DockerSwarm分散式爬蟲
- Swirl:Docker Swarm 叢集管理的新選擇DockerSwarm
- 叢集、分散式和微服務的概念理解分散式微服務
- .Net Core微服務——Consul(4):主從、叢集微服務
- 基於Spring Cloud微服務叢集的服務治理思考SpringCloud微服務
- 叢集、分散式、SOA、微服務、webService等思想的整理分散式微服務Web
- 【Azure微服務 Service Fabric 】使用az命令建立Service Fabric叢集微服務
- 微服務精華問答:什麼是微服務架構中的DRY?| 技術頭條微服務架構
- 《springcloud 二》微服務動態閘道器,閘道器叢集SpringGCCloud微服務
- 微服務實戰之春雲與刀客(四)——dockerswarm叢集實戰微服務DockerSwarm
- SpringCloud微服務實戰——搭建企業級開發框架(三十五):SpringCloud + Docker + k8s實現微服務叢集打包部署-叢集環境部署SpringGCCloud微服務框架DockerK8S
- Docker 學習筆記(第十集:docker 叢集管理工具 swarm )Docker筆記Swarm
- 微服務 - 叢集化 · 服務註冊 · 健康檢測 · 服務發現 · 負載均衡微服務負載
- 用 Docker swarm 快速部署分散式圖資料庫 Nebula Graph 叢集DockerSwarm分散式資料庫
- 『中級篇』在docker-swarm叢集裡透過serivce部署worDockerSwarm
- 雪花演算法及微服務叢集唯一ID解決方案演算法微服務
- Blazor+Dapr+K8s微服務之基於WSL安裝K8s叢集並部署微服務BlazorK8S微服務
- Docker Swarm + Harbor + Portainer 打造高可用,高伸縮,叢集自動化部署,更新。DockerSwarmAI
- 微服務實踐Aspire專案釋出到遠端k8s叢集微服務K8S
- Wix如何零停機將將2000個微服務遷移到多叢集Kafka?微服務Kafka
- 聊聊叢集、分散式和微服務之間的聯絡和異同點分散式微服務
- (精華)2020年10月4日 微服務 k8s部署專案微服務K8S
- docker-執行tomcat服務DockerTomcat
- docker-執行jenkins服務DockerJenkins