•  

Rancher/Server的安装使用

发表于 2020-06-10,阅读 67

介绍

介绍

我们可以通过 rancher/server 来管理我们的 Docker 服务,图形化的界面,大大简化了操作难度,提高了执行效率

安装

环境

我们使用镜像安装 rancher 服务

服务器 IP 地址:192.168.1.16

Docker 虚拟网络:10.16.1.0

拉取镜像

直接通过 docker 拉去 rancher 镜像

docker pull rancher/server

启动容器

然后我们启动容器

我们将 rancher-server 的默认端口 8080 映射到物理机的 8069 上了

docker run -tid \
--name rancher-server \
-h rancher-server \
--net eth2 \
--ip 10.16.1.169 \
-p 8089:8080 \
--memory 512m \
--memory-swap -1 \
--restart always \
rancher/server

配置

初始化

打开浏览器,输入网址  https://192.168.1.16:8089/

0546201047e43f7b.jpg勾选不允许采集我们的信息

切换语言

默认是英文的

c51a640e9341c3f0.jpg从右下角找到语言,切换为中文

ead11caed7c423fe.jpg

添加主机

系统会提示我们添加一个主机,也就是 Docker 服务器

点击 添加主机 连接进入如下页面

1904cda8cdbda01b.jpg默认是当前 rancher-server 的地址

9ccb5155cdca674f.jpg复制第 5 步的脚本命令在 Docker 服务器上运行一下

服务器报错

INFO: Running Agent Registration Process, CATTLE_URL=http://192.168.1.18:8069/v1
INFO: Attempting to connect to: http://192.168.1.18:8069/v1
ERROR: http://192.168.1.18:8069/v1 is not accessible (Failed to connect to 192.168.1.18 port 8069: No route to host)

这是因为从容器里面访问宿主机的端口被防火墙拦住了

增加防火墙规则

iptables -A INPUT -p tcp -m tcp --dport 8069 -j ACCEPT

再次运行脚本命令就可以通过了!

注意:如果服务器网络本身也是 NAT 环境,则需要在 NAT 网络的网关上开启 rancher/server 的端口映射才可以添加成功
添加成功后,在 基础架构 -> 主机 里就可以看到刚刚添加的主机了!

bbbd65c939b4db10.jpg

授权

管理员

我们设置一个管理员账号,保护我们的系统

设置账号

输入用户名、密码

fb47a733280ada0d.jpg设置成功了

ad264a5b9b163965.jpg

使用

容器

基础架构 -> 容器 里可以看到我们所有主机的容器列表

包括容器名称,镜像名称,运行状态等等信息

623479c926ec785f.jpg

操作容器

查看操作菜单

在容器列表选择一个容器,点开最右边的三个点,会看到容器支持的操作

df9e9fb1c32b8f3e.jpg比较常用的操作

执行命令行

在这里我们可以像操作终端一样操作容器

1b1aad647913c6d8.jpg

镜像库

创建私有仓库

调整 daemon.json

调整 daemon.json,允许 http 方式访问 registry

每个客户机都要做这一步操作,否则就会报错 http: server gave HTTP response to HTTPS client

[root@tongfunet]# cat /etc/docker/daemon.json 
{
    "insecure-registries": ["192.168.1.16:5089"]
}

拉取私有仓库镜像

docker pull registry

启动私有仓库容器

docker run -tid \
--name registry \
-h registry \
--net eth2 \
--ip 10.16.1.254 \
-p 5089:5000 \
--memory 512m \
--memory-swap -1 \
--restart always \
-v /opt/registry:/tmp/registry \
docker.io/registry

测试

[root@tongfunet]# curl 'http://127.0.0.1:5089/v2/_catalog'
{"repositories":[]}

拉取第一个镜像 centos

docker pull centos

给 centos 镜像打标签

docker tag docker.io/centos 192.168.1.16:5089/centos

提交带标签的 centos 镜像到私有仓库

docker push 192.168.1.16:5089/centos

再次测试

[root@tongfunet]# curl 'http://127.0.0.1:5089/v2/_catalog'
{"repositories":["centos"]}

创建支持SSL的私有仓库

如果不想每个客户机都去配置 deamon.json 来开启 http 支持,就安装支持 https 访问的私有仓库吧

创建SSL证书

免费证书:到度娘问一下“哪里有免费的ssl证书啊?”会有很多答案

收费证书:各种云主机提供商都有SSL证书在售

自制证书:本站搜索“自制SSL证书”可以找到教程

复制SSL证书

福哥是自己做了一套SSL证书,域名是 registry.tongfu.net,文件有两个 registry.crt 和 registry.key

复制 registry.crt 文件和 registry.key 文件到 /etc/docker/registry/ssl

mkdir -p /etc/docker/registry/ssl

配置 hosts

除非你的的仓库是公开的,有公网IP地址

否则就需要把证书对应的域名通过 hosts 解析出来

[root@tongfunet]# vi /etc/hosts

192.168.1.16 registry.tongfu.net

拉取私有仓库镜像

docker pull registry

启动私有仓库容器

docker run -tid \
--name registry \
-h registry \
--net eth2 \
--ip 10.16.1.254 \
-p 5089:5000 \
--memory 512m \
--memory-swap -1 \
--restart always \
-v /opt/registry:/tmp/registry \
-v /etc/docker/registry/ssl:/etc/cert.d \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/etc/cert.d/registry.crt \
-e REGISTRY_HTTP_TLS_KEY=/etc/cert.d/registry.key \
docker.io/registry

测试

[root@tongfunet]# curl 'https://registry.tongfu.net:5089/v2/_catalog'
{"repositories":[]}

拉取第一个镜像 centos

docker pull centos

给 centos 镜像打标签

docker tag docker.io/centos registry.tongfu.net:5089/centos

提交带标签的 centos 镜像到私有仓库

docker push registry.tongfu.net:5089/centos

再次测试

[root@tongfunet]# curl 'https://registry.tongfu.net:5089/v2/_catalog'
{"repositories":["centos"]}

添加镜像库

进入 基础架构 -> 镜像库 页面

1ca24dcabe887467.jpg点击 添加镜像库

33db562a8caccf16.jpg如果镜像库有配置认证的话,需要填写主机地址和用户名密码

这里可以添加本地私有仓库,也可以添加远程私有仓库

8a079d1bf93cde24.jpg添加成功了!

鬼谷子叔叔
  • 日志:212
  • 回复:13

进入ta的主页