1 简介

Rancher 是为使用容器的公司打造的容器管理平台。Rancher 简化了使用 Kubernetes 的流程,开发者可以随处运行 Kubernetes(Run Kubernetes Everywhere),满足 IT 需求规范,赋能 DevOps 团队

2 环境准备

仅做演示环境

Rancher 10.0.0.150
master-01 10.0.0.151
node-01 10.0.0.152
node-02 10.0.0.153

2.1 基础系统配置

1、修改主机名

  1. hostnamectl set-hostname rancher
  2. hostnamectl set-hostname master-01
  3. hostnamectl set-hostname node-01
  4. hostnamectl set-hostname node-02

2、修改hosts文件

  1. cat > /etc/hosts <<-'EOF'
  2. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  3. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  4. 10.0.0.150 rancher
  5. 10.0.0.151 master-01
  6. 10.0.0.152 node-01
  7. 10.0.0.153 node-02
  8. EOF

3、关闭selinux

  1. setenforce 0 && sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config && getenforce

4、禁用swap

  1. sed -i '/swap/s/^/#/' /etc/fstab

以上两步需重启主机

2.2 配置chrony时间同步

1、安装chrony

  1. yum -y install chrony

2、配置文件

  1. cat > /etc/chrony.conf <<-'EOF'
  2. pool ntp1.aliyun.com iburst
  3. driftfile /var/lib/chrony/drift
  4. makestep 1.0 3
  5. rtcsync
  6. #allow 192.168.5.0/24
  7. local stratum 10
  8. keyfile /etc/chrony.keys
  9. leapsectz right/UTC
  10. logdir /var/log/chrony
  11. EOF

3、重启服务

  1. systemctl restart chronyd.service --now

4、检查状态

  1. chronyc -a makestep 设置完时区后,强制同步下系统时钟
  2. chronyc sources -v 查看时间同步源
  3. chronyc sourcestats -v 查看时间同步源状态
  4. systemctl restart rsyslog crond 重启依赖于系统时间的服务

2.3 配置journald日志持久化

1、配置文件

  1. mkdir /var/log/journal
  2. mkdir /etc/systemd/journald.conf.d
  3. cat > /etc/systemd/journald.conf.d/99-prophet.conf <<-'EOF'
  4. [Journal]
  5. #持久化保存到磁盘
  6. Storage=persistent
  7. # 压缩历史日志
  8. Compress=yes
  9. SyncIntervalSec=5m
  10. RateLimitInterval=30s
  11. RateLimitBurst=1000
  12. # 最大占用空间10G
  13. SystemMaxUse=10G
  14. # 单日志文件最大200M
  15. SystemMaxFileSize=200M
  16. # 日志保存时间 2 周
  17. MaxRetentionSec=2week
  18. # 不将日志转发到 syslog
  19. ForwardToSyslog=no
  20. EOF

2、重启journald

  1. systemctl restart systemd-journald

2.4 安装docker

1、安装base工具

  1. yum install wget expect vim net-tools ntp bash-completion ipvsadm ipset jq iptables conntrack sysstat libseccomp conntrack ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git yum-utils device-mapper-persistent-data lvm2 -y

2、安装docker仓库

  1. yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、查看docker所有可用安装版本

  1. yum list docker-ce --showduplicates | sort -r

4、安装docker
安装docker的版本具体以实际环境为准,并不建议安装最新的版本,因为与k8s以及其它上下游产品存在兼容性问题,安装哪一个版本,根据上面的列出的版本号安装即可,

  1. yum -y install docker-ce-19.03.15-3.el7

5、配置docker加速站点

  1. mkdir -p /etc/docker
  2. tee /etc/docker/daemon.json <<-'EOF'
  3. {
  4. "registry-mirrors": ["https://9zh8kwqg.mirror.aliyuncs.com"],
  5. "exec-opts":["native.cgroupdriver=systemd"]
  6. }
  7. EOF

6、启动docker

  1. systemctl daemon-reload
  2. systemctl restart docker
  3. systemctl enable --now docker.service

3 安装Rancher

具体版本可以去hub.docker.com查看,在rancher主机上执行

  1. mkdir -p /rancher/data/
  2. docker run -d --privileged -p 80:80 -p 443:443 -v /rancher/data:/var/lib/rancher/ --restart=always --name rancher-v2.5.14 rancher/rancher:v2.5.14-linux-amd64

安装最新版本的rancher时必须指定—privileged参数,简单来说使用了改参数后,容器内的root拥有真正的root权限,在启动时如果需要持久化racher应用数据,可以挂载一个目录,-v /rancher/data:/var/lib/rancher/ 这样rancher的应用数据就存储在了rancher/data目录中。根据官方的建议,rancher的运行内存要求至少4GB内存。运行安装命令后,浏览器访问 https:<主机域名或IP>

4 部署k8s集群

1、Add一个集群
image.png
2、自定义创建一个k8s集群
image.png
3、集群部署配置
image.png
4、部署master节点,在master节点上执行
image.png
5、部署node节点,在node节点上执行
image.png
image.png