rancher 2.X 搭建小型web集群+mysql主从复制
一,环境配置
rancher 2.1.6
二,配置harbor私有仓库
见上文
三,配置私有镜像
01,总文件
dockerfile 为主配置文件,html 为站点文件wordpress.,官网下载更加
FROM centos:7.4.
MAINTAINER kingle
ENV PHP_VARSION 5.5.
ENV NGINX_VERSION 1.14.
ADD . /usr/local/share/
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-.repo && \
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-.repo
RUN yum install -y pcre pcre-devel openssl openssl-devel gcc make gcc-c++
RUN cd /usr/local/share/ && tar zxf nginx-1.14..tar.gz && \
useradd www -s /bin/nologin -M
WORKDIR /usr/local/share/nginx-1.14./
RUN ./configure --user=www --group=www \
--prefix=/application/nginx \
--with-http_stub_status_module --with-http_ssl_module && \
make -j && make install
RUN yum install vim net-tools zlib-devel openssl-devel openssl libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel libmcrypt-devel mcrypt mhash -y
RUN cd /usr/local/share/ && tar zxf libmcrypt-2.5..tar.gz && tar zxf mcrypt-2.6..tar.gz && tar zxf mhash-0.9.9.9.tar.gz
RUN cd /usr/local/share/libmcrypt-2.5. && \
./configure && make && make install && \
ln -s /usr/local/bin/libmcrypt_config /usr/bin/libmcrypt_config && \
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
RUN cd /usr/local/share/mhash-0.9.9.9 && \
./configure && make && make install
RUN cd /usr/local/share/mcrypt-2.6. && \
./configure && make && make install
RUN cd /usr/local/share/ && tar zxf libiconv-1.14.tar.gz && \
tar zxf php-5.5..tar.gz && \
cd /usr/local/share/libiconv-1.14 && \
sed -i -e '/gets is a security/d' srclib/stdio.in.h && \
./configure --prefix=/usr/local/libiconv && make -j && make install
RUN cd /usr/local/share/php-5.5. && ./configure --prefix=/application/php --with-fpm-user=www \
--with-fpm-group=www \
--with-iconv=/usr/local/libiconv \
--with-mysqli \
--with-pdo-mysql \
--with-openssl \
--with-gd \
--with-zlib \
--with-gettext \
--with-curl \
--with-png-dir \
--with-jpeg-dir \
--with-freetype-dir \
--with-xmlrpc \
--with-mhash \
--with-openssl \
--enable-fpm \
--enable-xml \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--enable-gd-native-ttf \
--enable-mysqlnd \
--enable-pcntl \
--enable-sockets \
--enable-zip \
--enable-soap \
--enable-session \
--enable-bcmath \
--enable-exif \
--enable-fileinfo \
--enable-opcache=no \
--disable-rpath \
--disable-debug \
--without-pear && \
touch ext/phar/phar.phar && \
make -j && make install && \
cp ./php.ini-production /application/php/lib/php.ini && \
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm && \
cp /application/php/etc/php-fpm.conf.default /application/php/etc/php-fpm.conf
RUN chmod +x /etc/init.d/php-fpm
RUN echo "export PATH=$PATH:/application/php/sbin/:/application/nginx/sbin/" >>/etc/profile && source /etc/profile
add start.sh /root/start.sh
RUN /etc/init.d/php-fpm start
RUN chmod +x /root/start.sh
WORKDIR /application/
ADD html/conf/nginx.conf /application/nginx/conf/nginx.conf
CMD ["/application/nginx/sbin/nginx","-c","/application/nginx/conf/nginx.conf"]
02,构建镜像
docker build -t web-:v3 .
03,搭建mysql镜像
可以通过官方的docker镜像源进行安装比较块
wget https://codeload.github.com/docker-library/mysql/zip/master
另一种自定义:
[root@k8s3 mysql]# cat docker-compose.yml
version: '2'
services:
mysql-master:
build:
context: ./
dockerfile: master/Dockerfile
environment:
- "MYSQL_ROOT_PASSWORD=root"
- "MYSQL_DATABASE=replicas_db"
links:
- mysql-slave
ports:
- "33065:3306"
restart: always
hostname: mysql-master
mysql-slave:
build:
context: ./
dockerfile: slave/Dockerfile
environment:
- "MYSQL_ROOT_PASSWORD=root"
- "MYSQL_DATABASE=replicas_db"
ports:
- "33066:3306"
restart: always
hostname: mysql-slave
[root@k8s3 mysql]# cat master/Dockerfile
FROM mysql:5.7.
MAINTAINER kingle
ADD ./master/my.cnf /etc/mysql/my.cnf
EXPOSE
CMD ["mysqld"]
[root@k8s3 mysql]# cat master/my.cnf
[mysqld]
server_id=
binlog-ignore-db=mysql
log-bin=replicas-mysql-bin
binlog_cache_size=1M
binlog_format=mixed
expire_logs_days=
slave_skip_errors=
[root@k8s3 mysql]# cat slave/Dockerfile
FROM mysql:5.7.
MAINTAINER kingle
ADD ./slave/my.cnf /etc/mysql/my.cnf
EXPOSE
CMD ["mysqld"]
[root@k8s3 mysql]# cat slave/my.cnf
[mysqld]
server_id=
binlog-ignore-db=mysql
log-bin=replicas-mysql-slave1-bin
binlog_cache_size=1M
binlog_format=mixed
expire_logs_days=
slave_skip_errors=
relay_log=replicas-mysql-relay-bin
log_slave_updates=
read_only=
运行命令:
docker-compose up -d
等待配置完成
四,push镜像到harbor
docker images 可以看见编排出来的包,
这三个包弄了一下午的编排
docker tag 192.168.0.167/web/ngphp:v0. 192.168.0.167/web/ngphp:v3
docker tag 192.168.0.167/web/mysql-slave:0.1 192.168.0.167/web/mysql-slave:v0.
docker tag 192.168.0.167/web/mysql-master:0.1 192.168.0.167/web/mysql-master:v0.
登入harbor私有仓库
docker push 192.168.0.167/web/web1:v0.
docker push 192.168.0.167/web/mysql-master:v0.
docker push 192.168.0.167/web/mysql-slave:v0.
到harbor查看
上传成功了
五,rancher 搭建
配置rancher
等待启动完成
站点访问:
六,配置数据库主从
主库从库搭建就命名不一样,其余参照下面搭建
点击启动即可
查看你
查看主库ip
命令编辑
授权给从库
create user 'repl'@'%' identified by '123456'
GRANT REPLICATION SLAVE ON *.* to 'rep1'@'%' identified by '123456';
FLUSH PRIVILEGES;
show mater slave
从库配置
CHANGE MASTER TO MASTER_HOST='10.42.1.31', MASTER_USER='repl', MASTER_PASSWORD='123456', MASTER_LOG_FILE='replicas-mysql-bin.000003',MASTER_LOG_POS=;
发现一个问题:
解决:
主库:
刷写日志: 记录好binlog 和pos
从库
stop slave
stop slave ;
reset slave;
CHANGE MASTER TO MASTER_HOST='10.42.1.31', MASTER_USER='repl', MASTER_PASSWORD='123456', MASTER_LOG_FILE='replicas-mysql-bin.000004',MASTER_LOG_POS=;
start slave;
成功解决
从库也一样了
七,wordpress 配置
根据步骤填写,回不去,少了截图,大家正常发挥,有问题联系,邮箱在下面.
点击安装即可
rancher 2.X 搭建小型web集群+mysql主从复制的更多相关文章
- 数据库集群 MySQL主从复制
MySQL主从复制 本节内容我们联系使用MySQL的主从复制功能配置Master和Slave节点,验证数据MySQL的数据同步功能. 因为要使用多个MySQL数据库,所以不建议在电脑上安装多个MySQ ...
- 每秒处理3百万请求的Web集群搭建-用 LVS 搭建一个负载均衡集群
这篇文章是<打造3百万次请求/秒的高性能服务器集群>系列的第3部分,有关于性能测试工具以及优化WEB服务器部分的内容请参看以前的文章. 本文基于你已经优化好服务器以及网络协议栈的基础之上, ...
- 小型ceph集群的搭建
了解ceph DFS(distributed file system)分布式存储系统,指文件系统管理的物理存储资源,不一定直接连接在本地节点上,而是通过计算机网络与节点相连,众多类别中,ceph是当下 ...
- Haproxy搭建web集群
目录: 一.常见的web集群调度器 二.Haproxy应用分析 三.Haproxy调度算法原理 四.Haproxy特性 五.Haproxy搭建 Web 群集 一.常见的web集群调度器 目前常见的we ...
- Haproxy配合Nginx搭建Web集群部署
Haproxy配合Nginx搭建Web集群部署实验 1.Haproxy介绍 2.Haproxy搭建 Web 群集 1.Haproxy介绍: a)常见的Web集群调度器: 目前常见的Web集群调度器分为 ...
- 每秒处理3百万请求的Web集群搭建-如何生成每秒百万级别的 HTTP 请求?
本文是构建能够每秒处理 3 百万请求的高性能 Web 集群系列文章的第一篇.它记录了我使用负载生成器工具的一些经历,希望它能帮助每一个像我一样不得不使用这些工具的人节省时间. 负载生成器是一些生成用于 ...
- 一寸宕机一寸血,十万容器十万兵|Win10/Mac系统下基于Kubernetes(k8s)搭建Gunicorn+Flask高可用Web集群
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_185 2021年,君不言容器技术则已,欲言容器则必称Docker,毫无疑问,它是当今最流行的容器技术之一,但是当我们面对海量的镜像 ...
- hadoop(二)搭建伪分布式集群
前言 前面只是大概介绍了一下Hadoop,现在就开始搭建集群了.我们下尝试一下搭建一个最简单的集群.之后为什么要这样搭建会慢慢的分享,先要看一下效果吧! 一.Hadoop的三种运行模式(启动模式) 1 ...
- Storm环境搭建(分布式集群)
作为流计算的开篇,笔者首先给出storm的安装和部署,storm的第二篇,笔者将详细的介绍storm的工作原理.下边直接上干货,跟笔者的步伐一块儿安装storm. 原文链接:Storm环境搭建(分布式 ...
随机推荐
- Linq学习<二>
http://www.cnblogs.com/wyqlijin/archive/2011/02/25/1964934.html 这位仁兄写的比较高深,建议大家看看 一: 这一篇以一个数据类为例,操作数 ...
- Java IO流的回顾与梳理(必记必会必写)
- 替归算法获取Treeview所有节点
treeview.nodes是获取下一级所有子节点,但是如果是多层的话,就不能,想个法子来获取所有的节点(含节点的子节点),想了想 还是替归算法比较方便,如是有了下面的代码 public static ...
- winform panel显示子窗体
private void ZiChuangTi() {//确认当前为子窗体 this.IsMdiContainer = true; //建立个子窗体的对象 Son mySon = new Son(); ...
- C#委托同步异步说明,并比较control调用Invoke和BeginInvoke的异同
一.委托的同步和异步: 1.同步 使用Invoke调用同步,或直接写fun1("func"),在fun1.Invoke这一步会明显的阻塞线程 使用: static void Mai ...
- kali linux之主动信息收集(三层发现,四层发现)
三层发现: 比二层发现的优点即可路由,就是速度比二层慢,相对我们来说还是算快的,经常被边界防火墙过滤 ip icmp协议 OSI七层模型
- leecode刷题(5)-- 只出现一次的数字
leecode刷题(5)-- 只出现一次的数字 只出现一次的数字 描述: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具 ...
- spring 学习(三):aop 学习
spring 学习(三):aop 学习 aop 概念 1 aop:面向切面(方面)编程,扩展功能不修改源代码实现 2 AOP采取横向抽取机制,取代了传统纵向继承体系重复性代码 3 aop底层使用动态代 ...
- Java面向对象之抽象类abstract 入门实例
一.基础概念 抽象事物,是若没有具体的信息可以描述这个事物,这个事物可以称为抽象事物. 抽象类,是不断的向上抽取而来.抽取方法声明而不确定具体的方法内容.由不同的子类来完成具体的方法内容. (一)抽象 ...
- 一款很好用的页面滚动元素动画插件-AOS.JS
aos.js是一款效果超赞的页面滚动元素动画jQuery动画库插件.该动画库可以在页面滚动时提供28种不同的元素动画效果,以及多种easing效果.在页面往回滚动时,元素会恢复到原来的状态. 加载方法 ...