作者: 且看且吟 | 来源:发表于2018-09-18 14:46 被阅读0次

    本次k8s集群采用ansible自动化部署,所有组件部署都是采用二进制的形式,该项目的源码均在gjmzj 项目上面修改

    项目拓扑图

    本集群采用多主模式,这里使用3台云主机做master,3台云主机做node,节点列表如下

    1.ansible脚本部署节点----master1

    2.etcd节点使用三台master云主机

    3.三台master节点,并且有一个vip地址

    4.三台node节点,承载pod

    5.2台lb节点(keepalived+haproxy)----master1,master2

    本集群是测试环境使用,具体生产环境的话,不同服务的节点需要部署在不同的云主机上面

    集群部署步骤:

    1.基础配置

    6台云主机,采用centos7.3系统(ubuntu系统也可)

    配置基础网络,更新源,配置ssh等

    2.6台云主机

    #安装 epel 源并更新yum install epel-release -y 

    yum update

    #安装python yum install python -y

    3.在deploy节点(master1)部署ansible

    在部署ansible之前,需要安装ssh免秘钥登录

    master1节点

    ssh-keygen

    ssh-copy-id root@ip

    yum install git python-pip -y

    #pip安装ansible(国内如果安装太慢可以直接用pip阿里云加速)

    #pip install pip --upgrade

    #pip install ansiblepip install pip --upgrade -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

    pip install --no-cache-dir ansible -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com


    4.在deploy节点(master1)编排k8s集群

    4.1下载项目源码

    git clone https://github.com/gjmzj/kubeasz.git

    mkdir -p /etc/ansible

    mv kubeasz/*/etc/ansible

    4.2下载k8s二进制文件

    百度云链接

    tar zxvf k8s.1-11-3.tar.gz(最新版本的k8s包)

    mv bin/*/etc/ansible/bin

    4.3配置集群参数

    4.3.1 cd /etc/ansible && cp example/hosts.m-masters.example hosts, 然后实际情况修改此hosts文件(按照自己的节点信息修改hosts文件里面的ip信息要和自己的云主机ip对应起来)

    4.3.2 验证ansible:ansible all -m ping如果返回success说明ansible通信正常,可以进行后续部署

    5.部署k8s

    cd /etc/ansible

    5.1创建证书及安装准备

    kubernetes 系统各组件需要使用 TLS 证书对通信进行加密,因此需要创建证书并未安装做准备

    ansible-playbook 01.prepare.yml

    需要修改prepare.yml里面的参数,将hosts部分修改为和/etc/ansible/hosts里面的节点参数名对应起来

    5.2安装etcd集群

    ansible-playbook 02.etcd.yml

    需要修改etcd.yml里面的参数,将hosts部分修改为和/etc/ansible/hosts里面的节点参数名对应起来,和5.1步骤类似

    5.3安装docker服务

    ansible-playbook 03.docker.yml

    需要修改docker.yml里面的参数,将hosts部分修改为和/etc/ansible/hosts里面的节点参数名对应起来,和5.1步骤类似

    5.4安装master节点

    ansible-playbook 04.kube-master.yml

    需要修改kube-master.yml里面的参数,将hosts部分修改为和/etc/ansible/hosts里面的节点参数名对应起来,和5.1步骤类似

    5.5安装node节点

    ansible-playbook 05.kube-node.yml

    需要修改.kube-node.yml里面的参数,将hosts部分修改为和/etc/ansible/hosts里面的节点参数名对应起来,和5.1步骤类似

    5.6安装集群网络

    ansible-playbook 06.network.yml

    需要修改network.yml里面的参数,将hosts部分修改为和/etc/ansible/hosts里面的节点参数名对应起来,和5.1步骤类似

    6.以上安装成功后,在master1节点kubectl get nodes会看到6台节点均已启用,详细的源码可以参考/gjmzj

    相关文章

      网友评论

          本文标题:

          本文链接:https://www.haomeiwen.com/subject/ypmunftx.html