rancher 启动命令_rancher的安装与使用完整版

1.如果docker主机是通过虚拟机安装的,则配置网络链接时需要选择桥接方式,使虚拟机在局域网环境下可以被访问到;

2.通过虚拟机安装两台centos7虚拟机,并安装好docker:

sudo yum instsll docker

sudo service docker start

sudo chkconfig docker on

3.关闭firewalld,启用iptables

关闭firewalld

sudo systemctl stop firewalld

sduo systemctl mask firewalld

并且安装iptables-services:

sudo yum install iptables-services

设置开机启动:

sudo systemctl enable iptables

手动操作iptablse命令:

sudo systemctl startiptables

保存到/etc/sysconfig/iptablse

sudo service iptables save

4.iptables配置

sudo vi /etc/sysconfig/iptables

# Generated by iptables-save v1.4.21 on Tue Nov 1 10:48:39 2016

*nat

:PREROUTING ACCEPT[27:11935]

:INPUT ACCEPT[0:0]

:OUTPUT ACCEPT[0:0]

:POSTROUTING ACCEPT[0:0]

:DOCKER- [0:0]

-A PREROUTING-m addrtype--dst-type LOCAL-j DOCKER

-A OUTPUT! -d127.0.0.0/8 -m addrtype--dst-type LOCAL-j DOCKER

-A POSTROUTING-s172.17.0.0/16 ! -o docker0-j MASQUERADE

COMMIT

#

*filter

:INPUT ACCEPT[0:0]

:FORWARD ACCEPT[0:0]

:OUTPUT ACCEPT[47:10966]

:DOCKER- [0:0]

-A FORWARD-o docker0-j DOCKER

-A FORWARD-o docker0-m conntrack--ctstate RELATED,ESTABLISHED-j ACCEPT

-A FORWARD-i docker0! -o docker0-j ACCEPT

-A FORWARD-i docker0-o docker0-j ACCEPT

-A INPUT-m state--state RELATED,ESTABLISHED-j ACCEPT

-A INPUT-p icmp-j ACCEPT

-A INPUT-i lo-j ACCEPT

-A INPUT-p tcp-m state--state NEW-m tcp--dport22 -j ACCEPT

-A INPUT-p tcp-m state--state NEW-m tcp--dport80 -j ACCEPT

-A INPUT-p tcp-m state--state NEW-m tcp--dport8080 -j ACCEPT

-A INPUT-p udp-m state--state NEW-m udp--dport500 -j ACCEPT

-A INPUT-p udp-m state--state NEW-m udp--dport4500 -j ACCEPT

-A INPUT-j REJECT--reject-with icmp-host-prohibited

-A FORWARD-j REJECT--reject-with icmp-host-prohibited

COMMIT

# Completed on Tue Nov 1 10:48:39 2016

5.设置阿里云镜像服务

sudo cp-n/lib/systemd/system/docker.service/etc/systemd/system/docker.service

sudo sed-i"s|ExecStart=/usr/bin/docker-current daemon|ExecStart=/usr/bin/docker-current daemon --registry-mirror=https://8nq5bfai.mirror.aliyuncs.com|g" /etc/systemd/system/docker.service

sudo systemctl daemon-reload

sudo service docker restart

6.关闭SELinux

1)查看:sestatus

2)关闭:

临时关闭:setenforce 0

永久关闭:

vi /etc/selinux/config

SELINUX=disabled

3)重启服务器:reboot

二、安装Rancher

说明:192.168.37.143上同时安装Rancher server和Rancher agent,192.168.37.144上只安装Rancher agent;

1.安装Rancher server

1)sudo docker run -d --restart=always -v /data/rancher/mysql:/var/lib/mysql -p 8080:8080 rancher/server

说明:将server端的mysql数据库挂载到宿主机;

命令执行后会自动下载Rancher server镜像并启动,可以通过sudo docker images查看rancher/server镜像,通过sudo docker ps 查看启动的rancher server容器。

2)iptables开启8080端口

2.安装Rancher agent

1)通过浏览器访问:http://192.168.37.143:8080,当前Rancher已经支持中文界面,可以选择页面下方语言选项,切换为中文显示。

2)添加主机:基础架构-》主机-》添加主机

Rancher当前支持多种关联主机添加方式,比如亚马逊的EC2,或者微软的Azure,此处我们选择Custom,关联我们自己的主机。

此处需要配置第四项,该项的含义是被管理的docker主机的IP地址;

然后负责第五项中的内容,在docker主机上执行即可。

注意:要开启server端和agent端所有docker主机的udp协议500和4500端口,负责无法通过server端在agent上创建容器和以及容器间的网络互连。

3)分别在144和143上执行该命令:

sudo docker run-e CATTLE_AGENT_IP="192.168.37.144" -d--privileged-v/var/run/docker.sock:/var/run/docker.sock-v/var/lib/rancher:/var/lib/rancher rancher/agent:v1.0.2http://192.168.37.143:8080/v1/scripts/BFC6C3956145FFACEF5E:1477987200000:A5utoKrxOqJ1qomMSjVHaJXE

这里注意,在143上执行时,要修改CATTLE_AGENT_IP="192.168.37.144"。

执行命令时同样会自动下载rancher/agent镜像并启动容器,容器启动后可以通过sudo logs 查看容器是否启动正常,以及是否可以与rancher server正常通信。

说明:

某些情况下agent无法与server连接上,可以尝试执行如下操作:

#删除主机映射目录和文件

sudo rm -rf /var/run/docker.sock

sudo rm -rf /var/lib/rancher

#重启docker

sudo systemctl daemon-reload

sudo service docker restart

三、关联主机

1.基础架构-》主机

可以通过点击每个主机右上角的按钮重新编辑主机显示名称。

可以看到143上可以检测到rancher server容器。

如果在安装rancher agent之前,docker主机上已经有容器在运行,则rancher也可以检测出来,并能够对其进行管理。

2.通过docker ps命令查看143和144上的容器运行情况

143:

[hanqunfeng@localhost~]$ sudo docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

8fc97968bb95rancher/agent-instance:v0.8.3 "/etc/init.d/agent-in" 2hours agoUp 2hours0.0.0.0:500->500/udp, 0.0.0.0:4500->4500/udp1146d6cc-857b-49e7-addc-691abf19ded5

b45183ca7130 rancher/agent:v1.0.2 "/run.sh run" 2hours agoUp 2hours rancher-agent

28bfb08104f4rancher/server"/usr/bin/s6-svscan /" 2hours agoUp 2hours3306/tcp, 0.0.0.0:8080->8080/tcp distracted_galileo

144:

[hanqunfeng@localhost~]$ sudo docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

129bc9e115earancher/agent-instance:v0.8.3 "/etc/init.d/agent-in" 2hours agoUp 2hours0.0.0.0:500->500/udp, 0.0.0.0:4500->4500/udp94edd3bf-9c98-4d4a-822b-43c2bb6599f7

418e0a5cc41drancher/agent:v1.0.2 "/run.sh run" 2hours agoUp 2hours rancher-agent

可以看到都出来一个运行的容器,开放了500和4500端口,这个容器是rancher之间互联的容器,可以通过在主机页面中开启『显示系统容器』查看到:

四、使用Rancher

Rancher的使用方式是基于环境-->应用栈-->服务-->容器,一个环境可以管理多个应用栈,一个应用栈中可以管理多个服务,一个服务可以管理多个容器。

1.环境

Defult-->环境管理

默认情况下,rancher已经默认创建了一个Default的环境,可以修改其名称。

默认容器编排规则为Cattle,此为rancher自己实现的一种容器编排工具,也可以选择docker的swarm,一般情况下可以不做修改。

2.应用栈

访问rancher服务,默认就会进入应用栈的管理界面,也可以通过页面上方的"应用栈"切换到应用栈的管理界面。

默认情况下,rancher已经在Default环境下创建好了一个Default的缺省栈,可以点击"添加应用栈"创建一个新的应用栈:

我们可以只填写名称创建一个空的应用栈,然后在为其添加服务,也可以通过上传docker-compose.yml和rancher-compose-yml在创建时就添加好服务。

3.服务

我们选择缺省的Default应用栈,并为其添加服务。

点击"添加服务"(不要下拉,直接点击)

1)我们先创建一个mariadb服务(mariadb是mysql的一个衍生版本,这里使用mysql镜像也是一样的)

配置相关环境变量后,点击创建,之后rancher会自动选择一台主机然后自动下载mariadb镜像并启动容器;

有三种服务展示方式,默认为列表方式,在页面上方的『添加服务』后面有三个切换图标,分别代表列表、连接图、ComposeYAML

此时切换到主机页面,可以看到mariadb容器已经在144上创建并启动了:

点击mariadb容器的名称,进入容器监控页面:

查看144上的镜像和容器:

[hanqunfeng@localhost~]$ sudo docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

docker.io/mariadb latest3034b40630a2 10days ago389.8MB

docker.io/rancher/agent-instance v0.8.3b6b013f2aa854months ago330.9MB

docker.io/rancher/agent v1.0.2 860ed2b2e8e3 4months ago454.3MB

[hanqunfeng@localhost~]$ sudo docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

d70a8a45739c mariadb:latest"docker-entrypoint.sh" 21minutes agoUp 21minutes3306/tcp r-Default_mariadb_1

129bc9e115earancher/agent-instance:v0.8.3 "/etc/init.d/agent-in" 2hours agoUp 2hours0.0.0.0:500->500/udp, 0.0.0.0:4500->4500/udp94edd3bf-9c98-4d4a-822b-43c2bb6599f7

418e0a5cc41drancher/agent:v1.0.2 "/run.sh run" 2hours agoUp 2hours rancher-agent

2)创建wordpress服务

这里创建4个wordpress服务,目标服务选择刚刚创建的mariadb,并配置好环境变量,点击创建,rancher会自动选择agent主机进行部署。

注意,wordpress默认使用80端口,这里我们没有进行主机端口映射,是为了留到后面配置负载均衡的时候配置。

此时看到4个wordpress容器都已经启动成功了,查看各自容器的日志会看到与数据库链接正常。

切换到主机页面:

可以看到rancher分别在两台主机上启动了2个容器,多次测试发现,这是随机的,有时候一台主机上会同时启动三个容器。

3)创建负载均衡服务

这里目标服务选择刚刚创建的wordpress,并映射80端口。

说明:这里设置会话粘性,可以保证同一个用户的所有请求都会发送给同一个后端服务。

创建成功后:

切换到主机页面:

可以看到负载均衡服务被创建到了144上,这里要开启右上角的"显示系统容器",否则查看不到的。

访问:http://192.168.37.144

配置好相关设置,登录wordpress:

这里需要说明的是,如果配置负载均衡服务时,没有设置会话粘性,会导致无法登录系统。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值