zoukankan      html  css  js  c++  java
  • Rancher的部署安装(编排选用K8S)

    为什么要使用Rancher

    Rancher是一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。

    Rancher的官方文档:https://rancher.com/docs/rancher/latest/en/

    下图展示了Rancher的主要组件和功能:

    版本选择

    版本选择参照官方文档:supported version of Docker

    根据上图,本文选用以下符合要求的最新版本

    软件

    版本

    github项目地址

    rancher

    1.6.14

    https://github.com/rancher/rancher

    docker

    17.03.2-ce

    https://github.com/docker/docker-ce

    kubernetes

    1.8.5

    https://github.com/kubernetes/kubernetes


    系统准备

    主机名

    IP地址

    用途说明

    操作系统

    rancher1

    10.245.231.119

    server管理节点

    Ubuntu 16.04.3 LTS

    docker201

    10.245.231.201

    agent工作节点

    Ubuntu 16.04.3 LTS

    docker201

    10.245.231.202

    agent工作节点

    Ubuntu 16.04.3 LTS


    禁用IPV6

    sudo vi /etc/sysctl.d/99-sysctl.conf
    # 添加以下内容
    #------------------------------------------
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1
    net.ipv6.conf.lo.disable_ipv6 = 1
    #------------------------------------------
    
    sudo sysctl -p

    禁用虚拟内存swap

    # 不重启电脑,禁用启用swap,立刻生效
    sudo swapoff -a
    
    # 启用命令
    sudo swapon -a
    
    # 查看交换分区的状态
    sudo free -m
    
    # 永久禁用Swap,在/etc/fstab中swap分区这行前加 #
    sudo vi /etc/fstab
    #------------------------------------------
    # /dev/mapper/docker201--vg-swap_1 none            swap    sw              0       0
    #------------------------------------------

    安装指定版本的docker

    在以上三台主机上,安装指定版本的docker,参照docker的部署安装-Ubuntu配置阿里镜像加速器

    查看docker信息能看到以下内容:

    sudo docker info 
    #------------------------------------------
    Registry Mirrors:
     https://lwdxerv9.mirror.aliyuncs.com
    #------------------------------------------
    
    # 重启docker服务
    sudo systemctl daemon-reload
    sudo systemctl restart docke
    
    # 检查防火墙是否启动
    systemctl list-unit-files | grep enable | grep ufw
    ufw.service                                enabled

    安装Rancher管理端

    在rancher1上操作

    sudo docker run -d --name rancher -v /etc/localtime:/etc/localtime -v /opt/rancher/mysql:/var/lib/mysql --restart=unless-stopped -p 8080:8080 rancher/server
    
    $ sudo docker ps -a
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                              NAMES
    4aba45218a7a        rancher/server      "/usr/bin/entry /u..."   6 minutes ago       Up 5 minutes        3306/tcp, 0.0.0.0:8080->8080/tcp   rancher
    
    $ sudo docker exec -it rancher /bin/bash
    
    root@4aba45218a7a:/# ps -ef
    UID        PID  PPID  C STIME TTY          TIME CMD
    root         1     0  0 15:03 ?        00:00:00 /usr/bin/s6-svscan /service
    root         7     1  0 15:03 ?        00:00:00 s6-supervise cattle
    root         8     1  0 15:03 ?        00:00:00 s6-supervise graphite_exporter
    root         9     1  0 15:03 ?        00:00:00 s6-supervise mysql
    root        10     7 22 15:03 ?        00:01:41 java -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -Xms128m -Xmx2g -XX:+HeapDumpOnOutOfMemoryErr
    mysql      113     9  1 15:03 ?        00:00:07 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql
    root       249    10  0 15:03 ?        00:00:03 rancher-catalog-service --config repo.json --refresh-interval 300
    root       284    10  0 15:04 ?        00:00:01 websocket-proxy
    root       298    10  1 15:04 ?        00:00:04 go-machine-service
    root       306    10  0 15:04 ?        00:00:00 secrets-api server --enc-key-path .
    root       307    10  0 15:04 ?        00:00:00 webhook-service
    root       325    10  0 15:04 ?        00:00:00 rancher-compose-executor
    root       332    10  0 15:04 ?        00:00:00 rancher-auth-service --auth-config-file authConfigFile.txt
    root       425     0  0 15:07 ?        00:00:00 /bin/bash
    root       440     0  0 15:07 ?        00:00:00 /bin/bash
    root       507     0  0 15:10 ?        00:00:00 /bin/bash
    root       523   507  0 15:10 ?        00:00:00 ps -ef
    
    # 使用以下命令可以查看rancher容器日志
    sudo docker logs -f rancher

    访问 http://10.245.231.119:8080


    配置环境

    进入环境管理,准备添加环境模板

    点击添加环境模板

    点击编辑设置后,在弹出的页面中,更改如下几个参数:
    Private Registry for Add-Ons and Pod infra Container Images(修改私有仓库地址):registry.cn-shenzhen.aliyuncs.com
    Image namespace for Add-ons and Pod infra Container Images(修改AAONS组件命名空间):rancher_cn
    Image namespace for kubernetes-helm (修改kubernetes-helm命名空间):rancher_cn
    Pod Infra Container Image (修改默认的pause镜像名):rancher_cn/pause-amd64:3.0

    参数设置完,点击页面下方的设置按钮返回环境模板编辑页面,保持环境模板其他参数不变,点击页面下方的创建按钮。

    回到环境管理,点击添加环境

    选择新创建的环境模板后点击创建

    这样就用刚刚创建的模板创建了一个K8S环境

    设置为默认环境并切换到此环境

    添加主机

    因为是第一次添加主机,系统会要求你确认节点注册地址,我们直接点击保存。

    依次登陆各个宿主机,执行5里面的脚本。

    如果需要把rancher1加为宿主机,那么需要在4里面填写管理端和宿主主机之间互通的内网IP地址,建议不要添加rancher1为宿主机,方便后续做rancher server集群高可用。

     

    经历较长时间后,添加成功

    按此办法可添加多台宿主机

    k8s仪表板

    k8s命令行

    k8s基础设施(点击+可查看详细内容)

    主机视图

    正常状态,非系统容器应该有14个

    因k8s管理复杂,本文只是演示如何配置k8s,后续文章的环境将继续使用rancher默认的Cattle,并且将docker升级到最新版本

    参考文档

    升级rancher
    # 升级前
    组件  版本
    Rancher v1.6.14
    Cattle  v0.183.37
    用户界面    v1.6.37
    Rancher CLI v0.6.7
    Rancher Compose v0.12.5
    
    
    # 升级系统及相关软件包(含docker)
    apt update
    apte upgrade
    
    uname -r
    4.4.0-116-generic
    
    docker -v
    Docker version 18.03.1-ce, build 9ee9f40
    
    # 升级rancher
    docker pull rancher/server
    docker pull rancher/server:stable
    
    docker ps -a
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                              NAMES
    e5ff13a96eef        rancher/server      "/usr/bin/entry /usr鈥   5 months ago        Up 8 minutes        3306/tcp, 0.0.0.0:8080->8080/tcp   rancher
    
    docker stop e5ff13a96eef
    docker rm e5ff13a96eef
    
    sudo docker run -d --name rancher -v /etc/localtime:/etc/localtime -v /opt/rancher/mysql:/var/lib/mysql --restart=unless-stopped -p 8080:8080 rancher/server
    
    # 删除原有的容器
    
    # 删除镜像
    docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    rancher/server      latest              85b3b338d0be        3 weeks ago         1.08GB
    rancher/server      <none>              d63b9b4bd205        5 months ago        1.08GB
    
    docker rmi d63b9b4bd205
    
    # 升级后
    组件  版本
    Rancher v1.6.18
    Cattle  v0.183.52
    用户界面    v1.6.43
    Rancher CLI v0.6.10
    Rancher Compose v0.12.5

     

  • 相关阅读:
    Redis(五)——主从做读写分离原理与优化
    Redis(四)——持久化方案(RDB和AOF使用)
    Redis(三)——高级用法(GEO地理位置信息)
    Redis(二)——五大数据类型的基本操作(字符串类型,哈希类型,列表类型,集合类型,有序集合类型)
    Redis(一)——redis初识,redis安装和启动
    15 Ajax技术
    ORM多表分组、F与Q查询
    ORM多表操作
    ORM单表操作
    CentOS 7 下 rdesktop 的安装
  • 原文地址:https://www.cnblogs.com/duwamish/p/11028230.html
Copyright © 2011-2022 走看看