前言

此文档在三台内网机器搭建,只是为了学习搭建环境,不做生成环境使用。

环境

主机名 ip 角色
web2 192.168.2.202 master
web5 192.168.2.205 node1
web8 192.168.2.208 node2

三台主机系统均为 CentOS 7.8.2003
文中会明确每个操作是在 master 还是 node 操作
node 包含 node1node2
安装之前先关闭三台主机的防火墙

systemctl stop firewalld.service

安装Docker

主机masternode 均需操作

Docker版本为 19.03.12

CentOS安装Docker官方文档

  1. 卸载旧版本docker

    sudo yum remove docker 
                    docker-client 
                    docker-client-latest 
                    docker-common 
                    docker-latest 
                    docker-latest-logrotate 
                    docker-logrotate 
                    docker-engine
    
  2. 添加软件源信息

    # 添加yum工具
    sudo yum install -y yum-utils
    
    # 添加源
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    
  3. 安装docker

    sudo yum install -y docker-ce docker-ce-cli containerd.io
    
  4. 启动docker

    sudo systemctl start docker
    
  5. 【可选】设置开启启动

    sudo systemctl enable docker
    
  6. 【可选】通过hello-word镜像验证是否安装成功

    sudo docker run hello-world
    

    如下图输出说明安装成功

    iShot2020-09-10 18.40.55-w600

通过Docker运行Rancher

master 主机需要操作

Rancher版本为 v2.4.8

Docker运行Rancher官方文档

  1. 通过docker运行rancher

    sudo docker run -d --restart=unless-stopped 
      -p 80:80 -p 443:443 
      rancher/rancher:latest
    

    docker会先拉取镜像,然后运行rancher,如下图输出说明运行成功

    iShot2020-09-11 12.28.31-w613
  1. 等几分钟后,通过 master 主机的ip 192.168.2.202 访问rancher
    访问链接 https://192.168.2.202/
    注意要使用 https 访问,浏览器有可能会报不安全,强制访问即可

    iShot2020-09-11 13.40.54-w507
  1. 设置 admin 的新密码,同意协议,点击 Continue 进入下一页

    iShot2020-09-11 13.38.00-w521
  2. 点击 Save URL 成功进入Rancher控制台,选择右下角的语言切换为中文

    iShot2020-09-11 13.44.48-w1007

通过Rancher添加一个Kubernetes集群

  1. 在上一步或者访问链接https://192.168.2.202/g/clusters点击 添加集群 选择 自定义 创建一个新集群

    • 输入集群名称 web
    • 选择Kubernetes版本,这里选择最新的 v1.18.8-rancher1-1
    • 其他设置可使用默认值,然后点击下一步

      iShot2020-09-11 14.24.32-w1044
  2. 添加主机,每个主机均可运行多个角色可按照下文配置亦可自由配置,但是必须要保证至少一个 Etcd 角色、一个 Control 角色、一个 Worker 角色

    • 主机选项中勾选 EtcdControl 两个选项,复制命令,然后在 master 主机执行命令
    • 主机选项中勾选 Worker ,复制命令,然后在 node 主机执行命令
  1. 在命令行执行完添加主机的命令后点击 完成 即可回到集群列表页;点击节点数链接跳转到主机页,这里会根据主机添加的网络情况显示,如图 web8 这台机器docker镜像暂时没有拉取完成,所以还没出现在列表中;

    iShot2020-09-11 14.38.33-w1039

    iShot2020-09-11 14.39.18-w1042
  2. 经过一段时间后主机全部注册成功了,点击红框按钮 -> 编辑 -> 自定义名称 修改主机的名称

    • web2 -> master
    • web5 -> node1
    • web8 -> node2

    至此Kubernetes集群搭建完毕

    iShot2020-09-11 17.27.15-w1035

    iShot2020-09-17 13.55.55-w1047

使用Rancher部署一个服务

这里使用 golang 写一个简单web服务并构建成docker镜像上传到docker仓库 lvxiaohai/hello-go。下面我们使用Rancher部署这个服务。

源码地址 https://github.com/lvxiaohai/hello-go

  1. 为了能顺利访问服务,先在本机指一个 host

    # 使用node1或者node2的ip
    192.168.2.208 www.hello-go.com
    
  2. 点击 部署服务

    iShot2020-09-16 16.32.14-w1079
  3. 按照下图填写并点击 启动

    iShot2020-09-16 16.37.05-w1127
  4. 稍等一会即可执行成功,点击 负载均衡 -> 添加规则 创建一个负载均衡

    iShot2020-09-16 16.39.16-w1127
  5. 选择 自定义域名 并输入第1步指定的host www.hello-go.com,点击 服务 增加一条,然后把默认的工作负载一条给删掉,最后保存

    iShot2020-09-16 16.44.39-w1115
  6. 在浏览器中访问链接 http://www.hello-go.com,显示 Hello go!;配置成功。

    iShot2020-09-16 17.13.11-w622

文章来源于互联网,如有雷同请联系站长删除:CentOS7安装Rancher2.x并创建Kubernetes集群

发表评论