1 - 基础环境配置


    2、主机名配置

    因为K8S的规定,主机名只支持包含 和 .(中横线和点)两种特殊符号,并且主机名不能出现重复。

    3、Hosts

    配置每台主机的hosts(/etc/hosts),添加host_ip $hostname/etc/hosts文件中。

    4、CentOS关闭selinux

    sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

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

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

    • 关闭防火墙

    1、CentOS

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

    2、Ubuntu

    ufw disable

    • 端口放行

    端口放行请查看端口需求

    6、配置主机时间、时区、系统语言

    • 查看时区

    date -R或者timedatectl

    • 修改时区

    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    • 修改系统语言环境
    • 配置主机NTP时间同步

    8、内核模块

    警告 如果要使用ceph存储相关功能,需保证worker节点加载RBD模块

    以下模块需要在主机上加载

    9、ETCD集群容错表

    建议在ETCD集群中使用奇数个成员,通过添加额外成员可以获得更高的失败容错。具体详情可以查阅optimal-cluster-size

    集群大小MAJORITY失败容错
    110
    220
    321
    431
    532
    642
    743
    853
    954

    二、Docker安装与配置

    1、Docker安装

    Ubuntu 16.x

    • 修改系统源
    1. sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    2. deb http://mirrors.aliyun.com/ubuntu/ xenial main
    3. deb-src http://mirrors.aliyun.com/ubuntu/ xenial main
    4. deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
    5. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main
    6. deb http://mirrors.aliyun.com/ubuntu/ xenial universe
    7. deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
    8. deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
    9. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
    10. deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
    11. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
    12. deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
    13. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe
    14. EOF
    • Docker-ce安装
    1. # 定义安装版本
    2. # step 1: 安装必要的一些系统工具
    3. sudo apt-get remove docker docker-engine docker.io containerd runc -y;
    4. sudo apt-get update;
    5. sudo apt-get -y install apt-transport-https ca-certificates \
    6. curl software-properties-common bash-completion gnupg-agent;
    7. # step 2: 安装GPG证书
    8. sudo curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | \
    9. sudo apt-key add -;
    10. # Step 3: 写入软件源信息
    11. sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu \
    12. $(lsb_release -cs) stable";
    13. sudo apt-get -y update;
    14. version=$(apt-cache madison docker-ce|grep ${docker_version}|awk '{print $3}');
    15. # --allow-downgrades 允许降级安装
    16. sudo apt-get -y install docker-ce=${version} --allow-downgrades;
    17. # 设置开机启动
    18. sudo systemctl enable docker;

    Docker-engine

    Docker-Engine Docker官方已经不推荐使用,请安装Docker-CE。

    CentOS 7.x

    • Docker-ce安装

    因为CentOS的安全限制,通过RKE安装K8S集群时候无法使用root账户。所以,建议CentOS用户使用非root用户来运行docker,不管是RKE还是custom安装k8s,详情查看。

    Docker-engine

    Docker-Engine Docker官方已经不推荐使用,请安装Docker-CE。

    对于通过systemd来管理服务的系统(比如CentOS7.X、Ubuntu16.X), Docker有两处可以配置参数: 一个是docker.service服务配置文件,一个是Docker daemon配置文件daemon.json。

    • docker.service
    • daemon.json

    daemon.json默认位于,如果没有可手动创建,基于systemd管理的系统都是相同的路径。通过修改daemon.json来改过Docker配置,也是Docker官方推荐的方法。

    配置镜像下载和上传并发数

    从Docker1.12开始,支持自定义下载和上传镜像的并发数,默认值上传为3个并发,下载为5个并发。通过添加”max-concurrent-downloads”和”max-concurrent-uploads”参数对其修改:

    1. "max-concurrent-downloads": 3,
    2. "max-concurrent-uploads": 5

    配置镜像加速地址

    Rancher从v1.6.15开始到v2.x.x,Rancher系统相关的所有镜像(包括1.6.x上的K8S镜像)都托管在Dockerhub仓库。Dockerhub节点在国外,国内直接拉取镜像会有些缓慢。为了加速镜像的下载,可以给Docker配置国内的镜像地址。

    编辑/etc/docker/daemon.json加入以下内容

    1. {
    2. "registry-mirrors": ["https://7bezldxe.mirror.aliyuncs.com/","https://IP:PORT/"]
    3. }

    可以设置多个registry-mirrors地址,以数组形式书写,地址需要添加协议头(https或者http)。

    配置insecure-registries私有仓库

    Docker默认只信任TLS加密的仓库地址(https),所有非https仓库默认无法登陆也无法拉取镜像。insecure-registries字面意思为不安全的仓库,通过添加这个参数对非https仓库进行授信。可以设置多个insecure-registries地址,以数组形式书写,地址不能添加协议头(http)。

    编辑/etc/docker/daemon.json加入以下内容:

    配置Docker存储驱动

    OverlayFS是一个新一代的联合文件系统,类似于AUFS,但速度更快,实现更简单。Docker为OverlayFS提供了两个存储驱动程序:旧版的overlay,新版的overlay2(更稳定)。

    先决条件:

    • overlay2: Linux内核版本4.0或更高版本,或使用内核版本3.10.0-514+的RHEL或CentOS。
    • overlay: 主机Linux内核版本3.18+
    • 支持的磁盘文件系统
    1. {
    2. "storage-driver": "overlay2",
    3. "storage-opts": ["overlay2.override_kernel_check=true"]
    4. }

    配置日志驱动

    容器在运行时会产生大量日志文件,很容易占满磁盘空间。通过配置日志驱动来限制文件大小与文件的数量。>限制单个日志文件为100M,最多产生3个日志文件

    1. {
    2. "log-driver": "json-file",
    3. "log-opts": {
    4. "max-size": "100m",
    5. "max-file": "3"
    6. }