Rancher+私有Docker-Hub+Docker部署项目

本文介绍了Rancher 1.6.x和2.5.16版本的安装配置过程,包括防火墙设置、SSH配置、Docker版本锁定、私有镜像仓库配置等内容,并提供了Rancher 2.5.16的安装步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.Rancher是什么?

2.Rancher1.6的安装使用

3.Rancher2.5.16的安装使用

4.Docker常用命令:

 5.总结


1.Rancher是什么?

 中文官网文档:

https://docs.rancher.cn/

          注意:关闭防火墙还需要开启80端口和443端口,以前rancher1.6版本还支持docker compose、swarm等集成,但是我从rancher2.15版本里却找不到入口了,直接是对kubernates的集成管理,这也反向突出了kubernates确有一统之势,在CentOs7.x上安装需要修改主机名关闭selinux和防火墙。

2.Rancher1.6的安装使用

          Rancher 管理其他主机上的容器docker的版本保持和rancher主机的一致,不容易出问题,docker的版本应该和docker的版本匹配。

centos7防火墙的使用;
启动:systemctl start firewalld 
关闭:systemctl stop firewalld 
查看状态systemctl status firewalld 
开机禁用 :systemctl disable firewalld 
开机启用 :systemctl enable firewalld 
重新启动docker:systemctl restart docker

配置ssh远程连接:

1.判断centos是否安装了ssh
rpm -qa |grep ssh

2.没有安装使用
yum install -y openssl openssh-server
启动ssh的服务:
systemctl start sshd.service
ystemctl restart sshd
设置开机自动启动ssh服务
systemctl enable sshd.service

3.打开ssh配置文件配置下访问权限
vi /etc/ssh/sshd_config
把下面几行的#号注释去掉
1、Port 22,sshd服务的端口
2、Protocol 2,也就是外部连接的协议用ssh2,不设置也可。
3、PermitRootLogin no/yes,如果允许使用root登陆则设为yes,否则为no
4、PasswordAuthentication no/yes,no为不允许使用密码登陆,yes为允许使用密码登陆,一般如果用自己账户登录都用密码
5、 sshd配置文件中X11Forwarding的配置为yes 
X11Forwarding yes #这个设置是为了xmanager弹框使用
设置好后保存退出。

4.重启ssh服务
/bin/systemctl restart sshd.service

查看ssh服务

查看ssh所用的端口是否已经打开
firewall-cmd --zone=public --query-port=22/tcp //端口如果开放则为yes,否则为no
没有开放,看到网上的解决方案是关闭防火墙,但是我防火墙本来就关着,于是尝试开放22端口,由于关闭防火墙设置失败,所以先开启防火墙
查看防火墙状态
systemctl status firewalld
启动防火墙
systemctl start firewalld
配置22端口
//例子打开22和80端口
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent

重新载入
firewall-cmd --reload
查看ssh所用的端口是否已经打开
firewall-cmd --zone=public --query-port=22/tcp
返回success现在应该是成功了

最后关闭防火墙,之后就可以是使用linux远程连接到linux了,方便后面的操作。

在虚拟机上安装的CentOs7.x上安装操作:

Rancher1.6的docker使用的版本如下:

安装docker(略)

安装指定的docker,锁定docker版本

锁定docker版本
1)安装yum-plugin-versionlock插件
yum install yum-plugin-versionlock
2)锁定软件包---之一步只执行 1)和2)
yum versionlock add docker-ce docker-ce-cli
[root@izwz969o7lu6t9lh4ta6m5z ~]# yum versionlock add docker-ce docker-ce-cli
已加载插件:fastestmirror, versionlock
Adding versionlock on: 0:docker-ce-17.06.2.ce-3.el7.centos
versionlock added: 1[root@izwz969o7lu6t9lh4ta6m5z ~]#
3)查看已锁定的软件包
yum versionlock list
4)解锁指定的软件包
yum versionlock delete <软件包名称>
5)解锁所有的软件包
yum versionlock clear

修该主机名:

1.x修该主机名
hostnamectl set-hostname rancher
hostnamectl set-hostname anget
重启后生效:reboot

或者:
1.x修该主机名
vim /etc/hosts
ip  rancher   //直接在配置文件末行添加即可
ip  agent
重启虚拟机
reboot

CentOS关闭selinux

sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
或者用下面的方式来搞:
临时关闭SELinux
setenforce 0
临时打开SELinux
setenforce 1
开机关闭SELinux
vi /etc/selinux/config
修改"SELINUX=enforcing"为"SELINUX=disabled" 
查看SELinux状态
getenforce
修改完毕之后重启reboot
查看SELinux状态
getenforce //值为disabled

安装执行如下命令:

# 拉取rancher镜像
docker pull rancher/server:v1.6.17
sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:v1.6.17

访问webUI:

Rancher1.6的访问界面地址是:Rancher-Server的主机的ip+8080端口(启动的时候指定的端口映射)

添加主机:

          复制如下命令在需要加入rancher管理的主机上执行,会部署拉起一个rancher-agent的镜像容器,需要和rancher-service通信。

         Rancher1.6拉取docker-hubor.v1.10.6-490042d8,下面的版本搭配是可以拉取私有hubor上的镜像部署的,之前一直拉取镜像超时了,基础服务全部删除重新安装,然后在rancher-server上执行下面的操作和开通了相应的端口机神奇的能拉取到镜像并且部署到rancher-server上了:

配置Reancher-agent:

       这里做的目的是让rancher的server能够管理, angent节点上的主机资源以及docker镜像.这里只演示1.x

解决办法:

netstat -lnp|grep 80

80端口被占用:kill -9 pid 
把agent的镜像移除
然后重新启动docker:systemctl restart docker
重新添加主机执行脚本,最后就成功了

配置Docker-Hub的私用镜像仓库:

配置Rancher-agent主机上的Docker-hub访问:

          首先docker-hub的虚拟机的80(http)和443(https)端口要开放(hub的nginx代理端口),rancher-server虚拟机的8080端口要开放(server的主机运行端口)

        首先修改agent的hosts文件的加入域名和IP的映射关系:

1、修改:vi /etc/default/docker
DOCKER_OPTS="$DOCKER_OPTS --insecure-registry=bigfei.com"
2、vi /etc/docker/daemon.json注意上一行结尾需要有一个逗号,
"insecure-registries":["bigfei.com"]

 重启docker

sudo systemctl restart docker

自签证书:

# 下载域名的证书
$ openssl s_client -showcerts -connect bigfei.com:443 </dev/null 2>/dev/null|openssl x509 -outform PEM >ca.crt

# 拷贝证书到合适的目录
$ sudo cp ca.crt /etc/docker/certs.d/bigfei.com/ca.crt

先创建目录/certs.d/bigfei/
cd /etc/docker/
mkdir -p ./certs.d/bigfei.com/

# 将证书添加到文件中
$ cat ca.crt | sudo tee -a /etc/ssl/certs/ca-certificates.crt

# 重启docker服务,让改动生效
$ sudo service docker restart
在agent上验证是否可以登录私有hub:

       选择一台主机rancher-agent主机部署应用:

      使用的是Docker-Hub私服上的bigfei.com/myhub/springboot01镜像创建一个容器:

需要开通虚拟机映射到容器的端口8081

查看容器启动日志:

需要开启Rancher-agent主机上的8081端口:

重启该容器:

遇到的问题及解决办法:

       Rancher添加主机由于两台虚拟机的网卡配置是dhcp没有设置为固定ip地址,重新启动之后ip就变了,由于之前在这两台虚拟机上添加过主机,所以要把这前添加的主机删除,重新添加,需要将之前虚拟机上启动的rancher-agent镜像删除,将80端口占用的进程kill掉,然后重启docker,不然不做这几部操作的话就会由于添加主机时候运行的命令:

      在agent的虚拟机中telnet rancher-server的ip+port出现下面这个错误,rancher-server的8080端口已经开通,还是报这个错误:telnet Connection closed by foreign host.

      其原因是由于80端口被占用和之前拉起过rancher-agent的容器导致,解决办法是将之前拉起过rancher-agent的容器删除,然后将80端口占有的进程kill掉,重启docker.

然后成功添加主机:

 需要在部署的虚拟主机上登录下阿里云镜像仓库:

docker login --username=bigfei大飞哥 registry.cn-hangzhou.aliyuncs.com

然后输入密码即可

下面的这个报错是由于要拉取部署的镜像写错了

错误写法:

registry.cn-hangzhou.aliyuncs.com/bigfei/zlf/0.0.1-SNAPSHOT

正确的写法是:

registry.cn-hangzhou.aliyuncs.com/bigfei/zlf:0.0.1-SNAPSHOT
最后一个不是/而是:

CentOs重启docker后台进程和重启docker:

sudo systemctl daemon-reload
sudo systemctl restart docker

3.Rancher2.5.16的安装使用

Rancher2.5.16的GitHub的地址如下:

https://github.com/rancher/rancher/releases/tag/v2.5.16

Rancher2.5.16的安装是在window10环境上安装了docker环境,然后win+r,输入cmd回车执行如下命令:

docker run -d --privileged --restart=unless-stopped  -p 80:80  -p 443:443 rancher/rancher:v2.5.16

Window10环境重启docker的后台进程和重启docker命令:

docker service daemon-reload restart
docker service docker restart

访问webUI:

https://ip:443
https://192.168.0.119/

设置Rancher-Server的Url地址:

首页:

创建和导入k8s集群:

仪表盘:

       Docker-DiskTop进入rancher2.5.16的容器中会看到日志报错,但是这个版本不影响集群的使用只是它会去拉取一些外网的资源网络不通导致报错

       Rancher2.5.16的这个版本默认使用的是K3S来拉起K8S集群的所以关于K3S的配置请看如下官网说明:

https://mp.weixin.qq.com/s?__biz=MzkyNzM4Nzk1NQ==&mid=2247500756&idx=1&sn=9853c5dd86deb929f47140807ded4dc9&source=41#wechat_redirect

        到此关于Rancher的1.6.x和2.5.6.x的单机安装就已经介绍完了,具体的可以参考官方文档。

4.Docker常用命令:

systemctl start docker
systemctl restart docker
systemctl enable docker
docker ps:列出所有正在运行的容器
docker ps -a  列出所有的容器
docker image ls:列出所有的镜像
docker stop <name>:暂停容器
docker rm <name>:删除容器
dockerps -aq  列出所有的容器 ID
docker stop $(docker ps -q) 停止所有容器
dockerrm $(docker ps -aq) 删除所有容器
dockerrmi $(docker images -q)   删除所有镜像
docker search tag 搜索镜像
docker exec -it d27bd3008ad9 /bin/bash
一条命令实现停用并删除容器:
docker stop $(docker ps -q) & docker rm $(docker ps -aq)

 5.总结

      Rancher是一款很好用的开源容器管理解决方案,对中国的开发者比较友好,文档是中文的,管理界面也支持中文,rancher1.6.x是一款经典的版本,rancher2.0.x-rancher2.5.6.1中间的版本是还没有被SUSE收购的版本,从rancher2.6以后的版本就是被SUSE收购之后的版本,界面颜色被搞绿了但是还是走开源路线,在生产不建议使用单节点部署,生产要做高可用架构。

03-18
<think>好的,我需要帮助用户了解Rancher容器管理平台的使用介绍。首先,我要整理用户提供的引用内容,看看有哪些关键点需要覆盖。用户给的引用内容提到了Rancher的概述、部署方法、功能特点以及应用场景。 首先,我应该从基本概念开始,解释Rancher是什么,它的核心功能。根据引用[1]和[3],Rancher是一个开源的容器管理平台,支持多集群管理,集成Kubernetes和Docker,适合生产环境。需要强调它简化了Kubernetes的使用,这点很重要,因为用户可能对Kubernetes的复杂性有顾虑。 接下来是部署方式。引用[2]、[3]、[5]提到了使用Docker安装Rancher,这可能是一个常见的部署方法。需要分步骤说明如何在Docker环境下部署,包括安装前的环境检查,比如Docker服务状态,以及具体的安装命令。这里要注意使用正确的Docker命令,比如docker run的参数,确保用户能顺利操作。 然后是基本使用介绍。根据引用[5],可能需要包括集群添加、应用部署、监控日志等功能。这部分需要简明扼要,让用户知道Rancher能做什么,如何管理容器。例如,添加集群的步骤、使用应用商店部署应用,以及如何监控系统状态。 应用场景部分,引用[4]提到了企业级应用、混合云管理等,这些是Rancher的强项。需要说明Rancher在不同环境下的优势,比如跨云管理、DevOps支持,帮助用户理解其实际应用价值。 最后,用户可能需要相关问题来进一步学习,比如部署常见问题、与Kubernetes的关系、监控工具集成等。需要生成几个相关的问题,帮助用户深入探索。 需要注意格式要求,行内公式用$...$,独立公式用$$...$$,但当前内容可能涉及较少数学公式,不过如果有技术参数或命令,需正确使用代码块。同时,确保引用标识正确添加到对应的内容后面,比如在提到多集群管理时引用[4]。 需要检查LaTeX语法是否正确,虽然这次内容可能用不上太多数学表达式,但如果有的话要正确应用。另外,使用中文回答,保持结构清晰,分步骤说明,尽量详细但不过于冗长。 可能还需要考虑用户的实际操作环境,比如个人测试环境还是生产环境,引用[5]提到的是个人测试环境部署,需要明确说明环境要求,避免用户混淆。 总之,结构大致分为概述、部署步骤、基本功能、应用场景、相关问题和引用。确保每个部分的信息准确,引用正确,并且语言通俗易懂,帮助用户有效理解Rancher的使用方法。</think>### Rancher 容器管理平台使用介绍 #### 一、Rancher 概述 Rancher 是一款开源的容器管理平台,专为多集群 Kubernetes 管理设计。它通过统一的控制台简化了容器编排工具(如 Kubernetes、Docker Swarm)的部署与管理,支持混合云、本地数据中心和边缘计算环境[^1][^4]。核心功能包括: - **多集群管理**:集中管控多个 Kubernetes 集群。 - **应用商店**:提供预配置的应用模板,支持一键部署- **安全与权限**:基于角色的访问控制(RBAC)和审计日志。 - **监控与日志**:集成 Prometheus、Grafana 等工具实现资源监控。 #### 二、部署 Rancher ##### 1. 环境准备 - 确保 Docker 已安装并运行(以下命令检查状态): ```bash systemctl status docker ``` 若未安装,可通过 `apt-get install docker-ce` 或参考官方文档安装[^5]。 ##### 2. 使用 Docker 快速部署 运行以下命令启动 Rancher 服务: ```bash docker run -d --name rancher --restart=unless-stopped \ -p 80:80 -p 443:443 \ --privileged \ rancher/rancher:latest ``` 部署完成后,通过 `https://<服务器IP>` 访问控制台,首次登录需设置管理员密码[^3]。 #### 三、基本使用步骤 1. **添加集群** - 进入控制台,选择 **集群管理 > 创建集群**。 - 支持导入现有集群或自动创建新集群(如 AWS EKS、自定义节点等)。 2. **部署应用** - 通过 **应用市场** 选择模板(如 WordPress、MySQL),配置参数后一键部署[^4]。 - 自定义部署:上传 Kubernetes YAML 文件或使用图形化编辑器。 3. **监控与运维** - 在 **仪表盘** 查看集群 CPU、内存等资源使用情况。 - 通过 **日志** 功能追踪容器运行状态,支持 ELK 集成。 #### 四、典型应用场景 1. **混合云管理** 统一管理跨公有云(AWS、Azure)和私有云的 Kubernetes 集群。 2. **DevOps 流水线** 集成 CI/CD 工具(如 Jenkins),实现自动化构建与部署[^1]。 3. **边缘计算** 通过轻量级 K3s 集群支持边缘设备容器化。 ####
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值