• Kubernetes集群部署

    预备知识

    如果你不知道以下是做什么的,那么请参考下面链接(包括但不限于)进行学习:

    前置要求与约定

    1. 集群会使用到的端口号

    2. 各服务器时间与时区需一致,集群内服务器间时间差值不能大于1秒。

    3. 文档以 4 个 CentOS 7.4 系统服务器安装高可用 Kubernetes 集群进行讲解。

    4. 按照本文档安装 Kubernetes 集群时,Ansible 脚本会将服务器上防火墙关闭,请使用安全组进行网络权限控制。

    5. Master(s) 服务器为 Kubernetes 控制服务器;Worker(s) 服务器为 Kubernetes 运算服务器;Etcd 服务器为组建Etcd 集群的服务器,Etcd 官方建议 Etcd 集群服务器个数为奇数个(比如1、3、5)以防止脑裂。

    6. 为安全考虑按本教程安装的 Kubernetes 集群只会在 Master(s) 服务器上配置 kubectl 命令所需 kubeconfig,故 Worker(s) 服务器默认是无法使用 kubectl 命令的。

    集群安装示例

    环境准备

    # 安装 git 命令行
    sudo yum install git -y
    # 克隆本项目代码
    git clone https://github.com/open-hand/kubeadm-ha.git
    # 进入项目目录
    cd kubeadm-ha
    # 安装 ansible 环境
    sudo ./ansible/install.sh
    

    配置 ansible inventory 文件

    集群部署

    授权策略 协议类型 端口范围 授权类型 授权对象 描述
    允许 TCP 8080 地址段访问 0.0.0.0/0 http 协议访问集群
    允许 TCP 443443 地址段访问 0.0.0.0/0 https 协议访问集群
    允许 TCP 3000032767 地址段访问 0.0.0.0/0 NodePort 访问集群
    允许 全部 -1/-1 地址段访问 10.244.0.0/18 跨节点 Pod 之间互相访问