1. 程式人生 > >docker swarm叢集搭建以及使用滾動更新

docker swarm叢集搭建以及使用滾動更新

基礎環境,三臺虛擬機器 172.17.3.70 172.17.3.71 172.17.3.72 系統配置:centos 7,關閉selinux 需要優化的基礎配置: [[email protected] ~]# vim /etc/rc.local ulimit -SHn 65535 modprobe br_netfilter sleep 60 && /sbin/iptables -P FORWARD ACCEPT sleep 15 && docker container prune -f [[email protected] ~]# chmod a+x /etc/rc.d/rc.local [[email protected] ~]# vim /etc/sysctl.conf net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 1200 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.ip_local_port_range = 10000 65000 net.ipv4.tcp_max_syn_backlog = 8192 net.ipv4.tcp_max_tw_buckets = 5000 net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 vm.swappiness = 0 net.ipv4.ip_forward = 1 更改下主機名,基本就沒別的了。 接下來安裝docker,為了使用高版本的docker-compose.yml語法,安裝了最新的docker-ce yum install -y vim-enhanced.x86_64 wget net-tools epel-release 以上是安裝基礎工具 然後正式開始安裝docker yum install -y yum-utils yum-config-manager --add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install  -y --setopt=obsoletes=0 docker-ce-18.06.1.ce-3.el7.x86_64 安裝完畢後,編輯下docker.service啟動檔案增加如下配置 [[email protected] ~]# vim /usr/lib/systemd/system/docker.service [Service] Type=notify # the default is not to use systemd for cgroups because the delegate issues still # exists and systemd currently does not support the cgroup feature set required # for containers run by docker ExecStart=/usr/bin/dockerd \           --storage-driver=overlay2 \           --storage-opt overlay2.override_kernel_check=1 \           --exec-opt native.cgroupdriver=cgroupfs \           --insecure-registry 172.17.3.14:5000 ExecReload=/bin/kill -s HUP $MAINPID 紅色部分為增加部分,更改儲存驅動為overlay2,提升效能,增加了一個私有倉庫,方便測試 過載一下服務 [
[email protected]
~]# systemctl daemon-reload 三臺物理機均如此。 開始建立swarm叢集 我們在172.17.3.70執行如下命令 docker swarm init ###初始化叢集 然後在其他兩臺機器上按照提示命令加入叢集,至此叢集建立完畢 部署一個service服務,我們使用stack命令來部署,需要新建一個yml檔案 [[email protected] ~]# vim nginx.yml version: "3" services:   webs:  ####新建服務的名字     image: 172.17.3.14:5000/k8s/nginx:1.0  ####使用的映象     deploy:       replicas: 2  ####初始數量為2       resources:         limits:  ###最大資源使用量           cpus: "0.1"           memory: 50M       restart_policy:  ###失敗後重啟策略         condition: on-failure     ports:  ###對映到主機那個埠,前面是主機埠後面是容器開放埠       - "80:80"     networks:  ####使用那個網路       - ifeng networks: ###同上,使用那個網路   ifeng: 在建立服務前我們先看下swarm叢集的網路
其中Ingress是給服務使用的叢集共享網路,其他的自行查詢 我們建立服務後會再建立一個叢集共享網路 [[email protected] ~]# docker stack deploy -c nginx.yml house 可以看到服務已經建立,網路已經建立,命令最後的house,是指哪個組,可以把一些服務都放到這個組裡,這個命令的組名是house 我們再來看看叢集的網路 可以看到多出來一個house_ifeng的網路,在其他節點上也可以看到,新網路是組名+網路名的方式組成的,網路名是在上面的yml檔案定義的,如果有好多個服務需要使用同一個網路的話,就需要在定義yml檔案時候寫網路名寫一致,比如都寫ifeng,然後建立服務時候記得放到同一組裡,比如上面的house就是house組,這樣創建出來的服務都在一個網路裡了 我們看下建立的服務 我們可以看到,叢集顯示的服務名是以為組+自定義的服務名方式組成的,我們yml檔案裡定義了服務名叫webs那麼建立後顯示的服務名就是house_webs,顯示有2個副本,以及埠對映 至此我們在任意節點訪問節點IP+埠就可以訪問到服務了

相關推薦

docker swarm叢集搭建以及使用滾動更新

基礎環境,三臺虛擬機器 172.17.3.70 172.17.3.71 172.17.3.72 系統配置:centos 7,關閉selinux 需要優化的基礎配置: [[email protected] ~]# vim /etc/rc.local

Docker swarm叢集搭建教程

一、什麼是Swarm   Swarm這個專案名稱特別貼切。在Wiki的解釋中,Swarm behavior是指動物的群集行為。比如我們常見的蜂群,魚群,秋天往南飛的雁群都可以稱作Swarm behavior。 Swarm專案正是這樣,通過把多個Docker Engine聚集在一

Docker-swarm叢集搭建及visualize監控的相關配置

初識Swarm Swarm 是 Docker 公司在 2014 年 12 月初發布的一套較為簡單的工具,用來管理 Docker 集 群,它將一群 Docker 宿主機變成一個單一的,虛擬的主機。Swarm 使用標準的 Docker API 介

docker swarm 叢集搭建

準備好多臺已經安裝好docker的機器,沒有安裝好docker的可以參考我的另一篇關於docker安裝文件https://my.o

DOCKER 學習筆記8 Docker Swarm 叢集搭建

前言 在前面的文章中,已經介紹如何在本地通過Docker Machine 建立虛擬Docker 主機,以及也可以在本地Windows 建立虛擬主機,也是可以使用的。這一節,我們將繼續學習 Docker 三劍客之一 : Docker Swarm Docker Swarm Docker Swarm 是Docker

Elasticsearch基於docker叢集搭建以及安裝ik分詞器

由於機器沒這麼多,所以用docker模擬真正的叢集搭建。 1、準備工作 1-1、準備docker環境: 使用yum安裝docker: yum install -y docker-io 安裝完成後,開啟docker: systemctl start docker; 檢視d

龍芯平臺搭建Docker Swarm叢集

http://ask.loongnix.org/?/article/91   本教程將指導完成如下工作: 初始化一個Docker swarm叢集; 新增節點到swarm; 部署swarm服務; 管理swarm。 準備工作: 三臺Linu

搭建Docker Swarm叢集實戰(一)(服務發現使用consul)

注意: docker在版本1.12之後,已經將swarm的部分整合在docker裡面了,所以也就不需要依賴第三方的東西了。 所以如果不是為了有趣瞭解一下的話,請直接轉到本系列的第三篇開始=》搭建Docker Swarm叢集實戰(三)(swarm

搭建Docker Swarm叢集實戰(三)(swarm mode)

前言 docker在1.12版本之後,把swarm的功能內建到docker engine本身,因此之前使用consul等第三方服務發現和鍵值服務的方法就可以作古了。 這篇就是用docker自帶的swarm mode來進行swarm的叢集搭建。 這篇實操的主

Docker Swarm 叢集環境搭建及彈性服務部署

  上一篇文章《Docker Swarm 叢集管理利器核心概念掃盲》中我們把 Swarm 重要的概念性知識給大家講解了一波,理論完事就該實戰了,這篇文章帶大家從零開始,搭建 Docker Swarm 叢集環境,並通過 Swarm 實現服務的彈性部署,滾動更新服務及回滾服務等功能。    ## 叢集搭建

Docker Zookeeper叢集搭建(偽叢集)

主要通過修改容器 zookeeper 裡面的配置檔案實現 1、Docker安裝 zookeeper映象獲取各個版本的docker安裝需要自行百度, 基本上都是採用 yum install docke 或者 apt-get install

grafana+influxdb+cadvisor監控docker-swarm叢集

首先需要自己安裝docker以及搭建好swarm叢集,太簡單就不在這裡說了 1:docker-compose.yaml編寫,包含grafana+influxdb+cadvisor編排。如下: version: ‘3’ services: influx: image: influx

Hadoop叢集搭建以及遇到問題詳解

轉載:http://dblab.xmu.edu.cn/blog/install-hadoop-cluster/ centos7單機、分散式、偽分佈:https://blog.csdn.net/qq_40938267/article/details/83416665  有詳細的搭建過程

Docker Swarm 環境搭建

pen man lead lose 之間 rpm 使用 img mman Docker Swarm 環境搭建 swarm 使用前提 1、Docker版本1.12+ Docker升級教程:https://www.cnblogs.com/xiangsikai/p/9935894

Docker Swarm叢集中部署Traefik負載均衡器

   一、建立單節點的Docker Swarm叢集 docker swarm init   二、在Swarm叢集中建立一個網路 docker network create --driver=overlay traefik --attachable  

使用docker swarm叢集心得

本片關於使用docker swarm 叢集心得,也是一些經驗吧!過程描述可能簡單! 根據一些公司使用經歷接收一下問題並針對問題作出應對策略 1、docker swarm叢集 主節點數必須是單數,也就是說主節點數控制一般是1、3、5、7.......     &nb

Docker(二十)-Docker Swarm叢集部署

介紹 Swarm 在 Docker 1.12 版本之前屬於一個獨立的專案,在 Docker 1.12 版本釋出之後,該專案合併到了 Docker 中,成為 Docker 的一個子命令。目前,Swarm 是 Docker 社群提供的唯一一個原生支援 Docker 叢集管理的工具。它可以把多個 Docker 主

Docker-Eureka叢集搭建

DockerFile 1.基礎映象為JDK8,使用一個通用映象通過 net=host 網路模式build FROM java8-jdk ADD eureka-docker-0.0.1-SNAPSHOT.jar / ADD run.sh / RUN chmod

docker swarm 叢集的簡單實現

1、系統環境:三臺CENTOS7的機器 192.168.156.75 管理節點 192.168.156.72 工作節點 192.168.156.77 工作節點 2、分別在三臺機器安裝docker yum install docker-io -y docke

Docker Swarm 叢集部署

介紹      Swarm 作為Docker 三劍客之一,於2014年提出,自 v1.12.3 以來, docker swarm 成為 docker 引擎內建的服務。它和谷歌的 K8s 產生了直接競爭。很難說哪個好,對於熟悉 docker 容器的人來說,docker s