centos7安装rancher1,搭建统一开发环境 安装部署 系统软件 docker rancher


https://www.cnrancher.com/

https://github.com/rancher/rancher/releases

https://hub.docker.com/r/rancher/server/   1.0

https://hub.docker.com/r/rancher/rancher/  2.0

https://abc.htmltoo.com/thread-45073.htm # centos7安装rancher2,搭建统一开发环境


背景说明:由于公司项目众多,nginx重写复杂,各种缓存等原因导致开发环境搭建很麻烦,开发效率低下。无需本地安装docker环境。


软件清单

docker 服务器

rancher 容器管理平台

syncthing 文件同步


1.操作说明:

使用docker说明指南https://abc.htmltoo.com/thread-34911.htm

Docker run 命令: https://abc.htmltoo.com/thread-273.htm

--restart=unless-stopped: https://abc.htmltoo.com/thread-274.htm

rancher-1.6,配置部署: https://abc.htmltoo.com/thread-44856.htm

Docker本机镜像仓库搭建,镜像界面管理,对外使用: https://abc.htmltoo.com/thread-43493.htm

rancher部署应用,php,nginx,mariadb,memcached,mongo,redis,tomcat: https://abc.htmltoo.com/thread-43492.htm

使用rancher搭建zabbix的组合是mysql+docker+zabix-server: https://abc.htmltoo.com/thread-317.htm

rancher部署分类应用,以及导出配置文件: https://abc.htmltoo.com/thread-44930.htm


2.单容器部署 (NON-HA):

安装:rancher 1.6
docker pull rancher/server:latest
docker run -d --name rancher-server --restart=unless-stopped -p 8080:8080 rancher/server:latest
访问:http://ip:8080


当UI已经启动并运行,你可以先添加主机 或者在应用商店中选择一个容器编排引擎。在默认情况下,如果没有选择不同的容器编排引擎,当前环境会使用Cattle引擎。在主机被添加都Rancher中后,你可以开始添加服务或者从应用商店通过应用模版启动一个应用。

安装好rancher后,访问-http://ip:8080

默认Rancher-catalog k8s YML中 服务镜像都是从谷歌仓库拉取,在没有科学上网的情况下,国内环境几乎无法成功拉取镜像。为了解决这一问题,优化中国区用户的使用体验,我们修改了http://git.oschina.net/rancher/rancher-catalog仓库中的YML文件,将相关的镜像也同步到国内仓库,通过替换默认商店地址来实现加速部署。


添加变量启动Rancher_server:

docker run -d \
--restart=unless-stopped \
-e DEFAULT_CATTLE_CATALOG_URL='{"catalogs":{"library":{"url":"http://git.oschina.net/rancher/rancher-catalog.git","branch":"k8s-cn"}}}’ \
--name rancher-server \
-p 8080:8080 \
rancher/server
docker logs -f rancher-server

在Rancher中添加为中国区优化的k8s应用商店的步骤和方法:

1、停用 rancher 应用商店中的“Rancher官方认证”商店和“社区贡献”商店

2、添加应用商店:

名称        地址                             分支

======================================================

library     https://github.com/niusmallnan/rancher-catalog.git     k8s-cn

harbor      https://github.com/Balldog/harbor-ranchersetup.git    master

community   https://github.com/rancher/community-catalog.git       master

======================================================

“保存”即可

注意:把相关的镜像下载到本地并自动运行需要时间,根据网络带宽情况,大约要隔几分钟时间才能正常显示。

3. 添加负载均衡服务

在应用添加负载均衡服务,主要为外部域名访问到不同容器。

4. 添加syncthing

刚开始本来用Samba, 但担心服务器挂掉后代码无法查看,所以才选用syncthing,就算磁盘坏掉都不用担心代码丢失。

在rancher页面上添加或直接run容器,注意需要将数据目录挂载出来

docker run --network=host \
    -v /wherever/st-cfg:/var/syncthing/config \
    -v /wherever/st-sync:/var/syncthing \
    syncthing/syncthing:latest
启动后,访问 http://:8384
使用说明:https://docs.syncthing.net/index.html

5. 本地安装syncthing

syncthing跨所有平台,下载自己系统相应的版本 https://syncthing.net/

下载实时同步插件 Syncthing-inotify https://github.com/syncthing/syncthing-inotify

启动syncthing客户端,web访问 http://127.0.0.1:8384

启动Syncthing-inotify,这样修改文件会实时同步。

添加远程设备,设置远程设备ID(操作->显示ID),服务器端和本地都需要相互添加。

6. 设置需要同步的代码

本地syncthing,添加文件夹,设名称和路径,并共享给服务端,保存。

注意:在同步文件路径根目录添加 .stignore 文件,忽略掉不需要同步的文件或文件夹。例如:

.svn
.git
.idea
down/
phperrorlog/
*.zip
testUnit/
temp/
FonDoc/
tests/
test/

客户端保存后,服务端syncthing,会自动提示有客户端共享文件,修改好服务端保存路径。

7. rancher添加web容器

启动web容器,注意代码挂载路径。也可将php和nginx配置文件挂载出来,便于实时修改。

version: '2'
services:
    dongxu-php56:
        image: dzer/php-meilele-dev:v1
        environment:
          DOCUMENT_ROOT: /app
        stdin_open: true
        volumes:
        - /data/syncthing/dongxu/meilele:/app:rw
        - /data/syncthing/meilele_nginx_conf:/usr/local/nginx/conf:rw
        - /data/syncthing/meilele_php_conf:/usr/local/php/etc:rw
        tty: true
        extra_hosts:
        - common.meilele.com:127.0.0.1
        - memcache.meilele.com:192.168.0.250
        - clubmemcache.meilele.com:192.168.0.250
        - codememc.meilele.com:192.168.0.250
        - zxmemcache.meilele.com:192.168.0.250
        - adminmemcache.meilele.com:192.168.0.250
        - wapmemc.meilele.com:192.168.0.250
        - rule.meilele.com:192.168.0.22
        - ip.meilele.com:192.169.0.250
        - ipadmemcache.meilele.com:192.168.0.250
        - imgmemcache.meilele.com:192.168.0.250
        - dcmemcache.meilele.com:192.168.0.250
        - factory.meilele.com:192.168.0.250
        - zxback.meilele.com:127.0.0.1
        - slave.meilele.com:192.168.0.23

8. rancher lb-service添加域名

在rancher lb中添加需要访问的域名,并指向相应的容器。

9. 修改本地hosts

将需要访问的域名和服务器ip 添加到 本地hosts.

10.添加主机:

安装docker,设置防火墙,脚本注册Rancher.

11.添加应用:Web

12.1添加数据库服务:

a.选择 Add Service 增加 数据库服务,输入名称 database      b.选择使用mysql 镜像      c.点击高级选项卡       

d.点击添加环境变量    e.数据环境变量的内容,MYSQL_DATABASE,  MYSQL_ROOT_PASSWORD    -> 启动

12.2添加服务:

Nginx-cluster    run:十个容器   镜像:nginx:latest    

需要数据库,选择所依赖的数据库服务  ->启动

13.添加负载均衡器:

Web-SLB  run:一个容器   设置端口映射,源:88 目标:应用-80   --》启用

连接到 http://ip:88 打开负载均衡的服务网址访问测试。

14.点击架构图,可以清晰看到逻辑关系.

15.设置GitHub应用: https://github.com/

点击Settings,然后点击Applications进行设置。

Nginx  Homepage URL,callback URL: http://192.168.10.254:8080/

->设置 Rancher 使用你的GitHub应用验证: 新创建GitHub应用的Client ID和Secret复制粘贴.

16. 以特权模式运行容器: 

    入口: /usr/sbin/init


Rancher Server HA的高可用部署

签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回