1.Rancher是什么?


中文官网文档:
https://docs.rancher.cn/
2.Rancher1.6的安装使用

centos7防火墙的使用;启动:systemctl start firewalld关闭:systemctl stop firewalld查看状态systemctl status firewalld开机禁用 :systemctl disable firewalld开机启用 :systemctl enable firewalld重新启动docker:systemctl restart docker
配置ssh远程连接:
1.判断centos是否安装了sshrpm -qa |grep ssh2.没有安装使用yum install -y openssl openssh-server启动ssh的服务:systemctl start sshd.serviceystemctl restart sshd设置开机自动启动ssh服务systemctl enable sshd.service3.打开ssh配置文件配置下访问权限vi /etc/ssh/sshd_config把下面几行的#号注释去掉1、Port 22,sshd服务的端口2、Protocol 2,也就是外部连接的协议用ssh2,不设置也可。3、PermitRootLogin no/yes,如果允许使用root登陆则设为yes,否则为no4、PasswordAuthentication no/yes,no为不允许使用密码登陆,yes为允许使用密码登陆,一般如果用自己账户登录都用密码5、 sshd配置文件中X11Forwarding的配置为yesX11Forwarding 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 --permanentfirewall-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-versionlock2)锁定软件包---之一步只执行 1)和2)yum versionlock add docker-ce docker-ce-cli[root@izwz969o7lu6t9lh4ta6m5z ~]# yum versionlock add docker-ce docker-ce-cli已加载插件:fastestmirror, versionlockAdding versionlock on: 0:docker-ce-17.06.2.ce-3.el7.centosversionlock added: 1[root@izwz969o7lu6t9lh4ta6m5z ~]#3)查看已锁定的软件包yum versionlock list4)解锁指定的软件包yum versionlock delete <软件包名称>5)解锁所有的软件包yum versionlock clear
修该主机名:
1.x修该主机名hostnamectl set-hostname rancherhostnamectl set-hostname anget重启后生效:reboot或者:1.x修该主机名vim /etc/hostsip rancher //直接在配置文件末行添加即可ip agent重启虚拟机reboot
CentOS关闭selinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config或者用下面的方式来搞:临时关闭SELinuxsetenforce 0临时打开SELinuxsetenforce 1开机关闭SELinuxvi /etc/selinux/config=enforcing"为"SELINUX=disabled"查看SELinux状态getenforce修改完毕之后重启reboot查看SELinux状态getenforce //值为disabled
安装执行如下命令:
# 拉取rancher镜像docker pull rancher/server:v1.6.17sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:v1.6.17
访问webUI:
Rancher1.6的访问界面地址是:Rancher-Server的主机的ip+8080端口(启动的时候指定的端口映射)


添加主机:




配置Reancher-agent:

解决办法:
netstat -lnp|grep 8080端口被占用:kill -9 pid把agent的镜像移除然后重新启动docker:systemctl restart docker重新添加主机执行脚本,最后就成功了
配置Docker-Hub的私用镜像仓库:


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

1、修改:vi /etc/default/dockerDOCKER_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:








重启该容器:

遇到的问题及解决办法:



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-reloadsudo systemctl restart docker
3.Rancher2.5.16的安装使用
Rancher2.5.16的GitHub的地址如下:
https://github.com/rancher/rancher/releases/tag/v2.5.16Rancher2.5.16的安装是在window10环境上安装了docker环境,然后win+r,输入cmd回车执行如下命令:
docker run -d --privileged --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:v2.5.16Window10环境重启docker的后台进程和重启docker命令:
docker service daemon-reload restartdocker service docker restart
访问webUI:
https://ip:443https://192.168.0.119/

设置Rancher-Server的Url地址:


首页:


创建和导入k8s集群:

仪表盘:




https://mp.weixin.qq.com/s?__biz=MzkyNzM4Nzk1NQ==&mid=2247500756&idx=1&sn=9853c5dd86deb929f47140807ded4dc9&source=41#wechat_redirect4.Docker常用命令:
systemctl start dockersystemctl restart dockersystemctl enable dockerdocker ps:列出所有正在运行的容器docker ps -a 列出所有的容器docker image ls:列出所有的镜像docker stop:暂停容器 docker rm:删除容器 dockerps -aq 列出所有的容器 IDdocker 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收购之后的版本,界面颜色被搞绿了但是还是走开源路线,在生产不建议使用单节点部署,生产要做高可用架构。