1. 下载镜像
Rancher是一个企业级Kubernetes管理平台,同时满足了使用Kubernetes部署应用程序的DevOps团队和交付企业关键服务的IT人员的需求
# 1. 拉取rancher 镜像
docker pull rancher/server
# 2. 启动rancher
docker run -id --name rancher -p 9090:8080 rancher/server
# 配置 Rancher1.6 启动参数
rancher:
image: rancher/server
container_name: rancher
restart: always
ports:
- "9090:8080"
volumes:
- /soft/rancher/cattle:/var/lib/cattle
- /soft/rancher/mysql:/var/lib/mysql
- /soft/rancher/log/mysql:/var/log/mysql
environment:
java_opts: "-Xmx1024m"

2. Rancher 初始化
- 2.1 添加环境 default-===> 环境管理 (测试环境、生产环境)
 
- 2.2 添加主机 基础架构===>主机 (添加主机)
 - 保存
  - 运行完成以后 关闭 界面,会显示新增主机的信息

- 2.3 添加应用
点击应用===>全部(或用户) 点击添加按钮 
- 配置RabbitMq 部署
镜像:docker pull rabbitmq:3.7.7-management (management 带图形化界面) 端口:5671,5672,4369,15671,15672,25672 添加环境变量: 用户名,密码 RABBITMQ_DEFAULT_USER=admin RABBITMQ_DEFAULT_PASS=admin 
访问:http://192.168.220.132:15672/ 
3. 部署微服务应用
192.168.220.132:5000/com.xiaoming/wang 
- 查看服务状态,已经可以访问

4. 扩容和缩容
- 4.1 在Rancher 将创建的 base-service微服务删除
- 4.2 重新建立 base-service不配置端口映射
 - 4.3 添加接收器
API===>Webhooks===>添加接收器   通过post请求可以触发扩容: http://192.168.220.132:9090/v1-webhooks/endpoint?key=4JstTkFyihUmB1bSoMxOjPgz7KiHBIys0Ke1ltxW&projectId=1a5

- 4.4 配置负载均衡 是外部 可以访问到应用
添加服务===>> 添加负载均衡   启动完成后可以正常访问 
5. influxDB
InfluxDB(时序数据库),常用的一种使用场景:监控数据统计。每毫秒记录一下电脑内存的使用情况,根据统计的数据,利用图形化界面(InfluxDB V1一般配合Grafana)制作内存使用情况的折线图
# 1. 拉取镜像
docker pull tutum/influxdb
# 2. 运行
docker run -di -p 8083:8083 -p 8086:8086 --expose 8090 --expose 8099 --name influxsrv tutum/influxdb
- 端口 8083 web 访问端口, 8086 数据写入端口
 - 5.2 influxDB 常用操作
- 5.2.1 创建数据库
CREATE DATABASE "cadvisor"

# 1.
CREATE USER "username" WITH PASSWORD 'password' WITH ALL PRIVILEGES
# 2. 用户信息查看
SHOW USERS
# 3. 授权
GRANT ALL PRIVILEGES ON cadvisor to cadvisor
grant write on cadvisor to cadvisor
grant read on cadvisor to cad cadvisor
SHOW MEASUREMENTS
6. cadvisor
docker stats的问题(存储、展示),谷歌开源的cadvisor诞生了,cadvisor不仅可以搜集一台机器上所有运行的容器信息,还提供基础查询界面和http接口,方便其他组件如Prometheus进行数据抓取,cadvisor + influxdb + grafna使用
# 1. 拉取镜像
docker pull google/cadvisor
# 2. 运行容器
docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8088:8080 \
--detach=true \
--link influxsrv:influxsrv \
--name=cadvisor \
google/cadvisor \
--storage_driver=influxdb \
--storage_driver_db=cadvisor \
--storage_driver_db=nfluxsrv:8086
- 6.2 访问
http://192.168.220.132:8088/containers/  可以查看数据 
7. Grafana
Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。主要特点:
- 展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;
- 数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;
- 通知提醒:以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过Slack、PagerDuty等获得通知;
- 混合展示:在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;
- 注释:使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;
- 过滤器:Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。
# 1. 下载镜像
docker pull grafana/grafana
docker run -id -p 3001:3000 -e INFLUXDB_HOST=influxsrv -e INFLUXDB_PORT=8086 -e INFLUXDB_NAME=cadvisor -e INFLUXDB_USER=cadvisor -e INFLUXDB_PASS=cadvisor --link influxsrv:influxsrv --name grafana grafana/grafana

- 7.3 添加数据源 设置====> 数据源====> 添加数据源
 - 7.3.1配置数据源,账号,密码,数据库
 
- 7.4 添加仪表盘

Rancher 2.0
# 1. 拉取镜像
docker pull rancher/rancher
# 2. 启动
$ docker run -d --restart=unless-stopped --privileged -p 80:80 -p 443:443 \
-v /soft/rancher:/var/lib/rancher \
-v /soft/auditlog:/var/log/auditlog \
--name rancher rancher/rancher
# 3.
# rancher2.x
rancher2.x:
image: rancher/rancher
container_name: rancher2.x
restart: unless-stopped
privileged: true
ports:
- "90:80"
- "443:443"
volumes:
- /soft/rancher2/rancher:/var/lib/rancher
- /soft/rancher2/auditlog:/var/lib/auditlog
|