当前位置 博文首页 > 弈凌:CentOS7.7-mini版安装rancher2.x并初始化

    弈凌:CentOS7.7-mini版安装rancher2.x并初始化

    作者:[db:作者] 时间:2021-06-27 09:32

    CentOS7.7-mini版安装rancher2.x并初始化

    点击下载CentOS7.7-mini版本


    一、初始化网络

    vi /etc/sysconfig/network-scripts/ifcfg-eth0

    动态获取IP4
    ONBOOT=yes
    BOOTPROTO=dhcp

    静态设置IP4
    ONBOOT=yes
    BOOTPROTO=static #启用静态IP地址
    IPADDR0=192.168.0.6 #设置IP地址
    GATEWAY0=192.168.0.1 #设置网关
    DNS1=192.168.0.1 #设置主DNS
    输入命令: service network restart 重启网络
    ping www.baidu.com 上网成功

    二、配置阿里云yum

    1. 备份yum资源配置文件
      mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    2. 下载新的CentOS-Base.repo 到/etc/yum.repos
      curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    3. 运行yum makecache生成缓存
      yum makecache

    三、升级内核(可选)

    升级内核

    👉点击查看升级教程

    注意:安装后reboot手动进入新内核,然后设置 GRUB 默认的内核版本,否则可能出现内核签名问题,导致无法启动,本人花费很长时间都未解决。
    错误状态信息如下:
    1. vmlinuz 4.16.12 has invlid signature
    2. need to load the kernel first

    删除旧内核(可选)

    # 查看系统全部内核包
    rpm -qa | grep kernel
    # 用命令删除旧内核(注意:别把新升级的内核删除了,删除时需认真确认删除目标)
    yum remove kernel-3.10.0-957.el7.x86_64
    

    四、安装docker

    1. 确认docker与rancher版本(参考,可跳过)
      https://docs.rancher.cn/docs/rancher2/installation/requirements/installing-docker/_index

    2. 通过脚本一键安装(推荐
      curl https://releases.rancher.com/install-docker/19.03.sh | sh

    3. 使用yum安装docker(同脚本安装方式二选一)

      # 定义安装版本
      export docker_version=19.03.13
      # step 1: 安装必要的一些系统工具
      sudo yum remove docker docker-client docker-client-latest \
          docker-common docker-latest docker-latest-logrotate \
          docker-logrotate docker-engine -y;
      sudo yum update -y;
      sudo yum install -y yum-utils device-mapper-persistent-data \
          lvm2 bash-completion;
      # Step 2: 添加软件源信息
      sudo yum-config-manager --add-repo \
          http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo;
      # Step 3: 更新并安装 Docker-CE
      sudo yum makecache all;
      yum list docker-ce --showduplicates | sort -r;
      sudo yum install -y docker-ce-${docker_version} docker-ce-cli-${docker_version} containerd.io;
      # Step 4: 如果已经安装高版本Docker,可进行降级安装(可选)
      yum downgrade --setopt=obsoletes=0 -y docker-ce-${docker_version} docker-ce-selinux-${docker_version};
      

      docker卸载与安装参考地址:https://docs.docker.com/install/linux/docker-ce/centos/
      (docker必须是受支持的版本,rancher2.x基于Kubernetes,而Kubernetes对docker版本有严格的限制)

      使用非root用户与锁定Docker版本等参考

      # 定义用户名
      NEW_USER=rancher
      # 添加用户(可选)
      sudo adduser $NEW_USER
      # 为新用户设置密码
      sudo passwd $NEW_USER
      # 为新用户添加sudo权限
      sudo echo "$NEW_USER ALL=(ALL) ALL" >> /etc/sudoers
      # 把当前用户加入docker组
      sudo usermod -aG docker $NEW_USER;
      
    4. 配置docker镜像加速器
      修改daemon配置文件/etc/docker/daemon.json来使用加速器:
      阿里云提供专属加速器地址(免费使用)
      https://cr.console.aliyun.com/cn-zhangjiakou/instances/mirrors

    5. 启动服务并设置开机自启
      sudo systemctl enable docker
      sudo systemctl start docker

    6. 测试一下
      docker info

    五、设置Kubernetes节点主机名

    Kubernetes节点主机名不能重复,所以我们需要修改
     1. 查看主机名
      hostname
     2. 修改主机名
      因为K8S的规定,主机名只支持包含 -. (中横线和点)两种特殊符号,并且主机名不能出现重复。
      hostnamectl set-hostname 主机名
     3. 查看主机名
      hostname
      hostnamectl
     4. 重启
      reboot
     5. 再次查看

    六、关闭防火墙(可选)或者放行相应端口

    对于刚刚接触Rancher的用户,建议在关闭防火墙的测试环境或桌面虚拟机来运行rancher,以避免出现网络通信问题。

    关闭防火墙

    systemctl stop firewalld.service && systemctl disable firewalld.service
    

    端口放行

    端口放行请查看 端口需求 或 通过 firewalld 放行端口

    开放端口命令:

    # rancher-server
    firewall-cmd --zone=public --add-port=22/tcp --permanent && 
    firewall-cmd --zone=public --add-port=80/tcp --permanent && 
    firewall-cmd --zone=public --add-port=443/tcp --permanent && 
    firewall-cmd --zone=public --add-port=2376/tcp --permanent
    
    # rancher-node
    firewall-cmd --zone=public --add-port=22/tcp --permanent && 
    firewall-cmd --zone=public --add-port=80/tcp --permanent && 
    firewall-cmd --zone=public --add-port=443/tcp --permanent && 
    firewall-cmd --zone=public --add-port=2376/tcp --permanent && 
    firewall-cmd --zone=public --add-port=2379-2380/tcp --permanent && 
    firewall-cmd --zone=public --add-port=4001/tcp --permanent && 
    firewall-cmd --zone=public --add-port=4789/udp --permanent && 
    firewall-cmd --zone=public --add-port=6443/tcp --permanent && 
    firewall-cmd --zone=public --add-port=6783/tcp --permanent && 
    firewall-cmd --zone=public --add-port=6783/udp --permanent && 
    firewall-cmd --zone=public --add-port=6784/udp --permanent && 
    firewall-cmd --zone=public --add-port=8472/udp --permanent && 
    firewall-cmd --zone=public --add-port=9099/tcp --permanent && 
    firewall-cmd --zone=public --add-port=9796/tcp --permanent && 
    firewall-cmd --zone=public --add-port=10249-10256/tcp --permanent && 
    firewall-cmd --zone=public --add-port=30000-32767/tcp --permanent && 
    firewall-cmd --zone=public --add-port=30000-32767/udp --permanent
    

    刷新规则

    firewall-cmd --reload
    

    查看已开放得所有端口 点击查看Centos7更多开放端口命令

    firewall-cmd --list-ports
    

    七、安装rancher

    执行以下命令:
    sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged rancher/rancher:stable

    八、登录Rancher

    打开浏览器,输入https://<server_ip>,server_ip替换为运行Rancher容器主机的ip;

    九、常见问题与参考资料

    • 添加Kubernetes节点时,主机名不能重复
    • [etcd] Failed to bring up Etcd Plane: [etcd] Etcd Cluster is not healthy
    • 时间同步

    时间同步

    安装ntpdate工具

    yum -y install ntp ntpdate
    

    所有节点设置ntp服务开启启动

    sudo systemctl start ntpd       #启动ntp服务
    sudo systemctl enable ntpd    #设置ntp服务开机启动
    

    所有节点启动时间同步

    timedatectl set-ntp yes
    

    同步节点时间

    # 如果需要查看调试信息,可以添加参数-d
    # 以内网某台服务器作为同步目标,那么目标服务器同样需要执行上面的步骤,安装ntpdate
    ntpdate 192.168.0.*
    # ntpdate ntp1.aliyun.com
    

    时间写入硬件

    hwclock --systohc
    hwclock -w
    

    参考资料:

    Rancher 2.x部署过程中常见问题分析与解决:https://mp.weixin.qq.com/s/F6s6W3W9uYoFvfjBlRIt9g
    Rancher 2.x中文官方文档:https://www.cnrancher.com/docs/rancher/v2.x/cn/overview/quick-start-guide/
    Rancher 2.x创建集群:https://rancher.com/docs/rancher/v2.x/en/quick-start-guide/deployment/quickstart-manual-setup/#4-create-the-cluster
    Rancher 2.x节点清理:https://docs.rancher.cn/docs/rancher2/cluster-admin/cleaning-cluster-nodes/_index/

    下一篇:没有了