• 自动化安装脚本(Ansible+shell)


    介绍

    通过ansible脚本自动化部署k8s基础集群

    安装教程

    1. 需要提前准备多台主机,因本次环境,采用一主多从,本环境是为了学习环境中快速部署k8s集群
    2. 采用kubeadn安装,采用本地yum仓库,版本是:1.21.1
    3. 安装docker的yum源是基于Centos7.5/7.6,版本是:19.03.14
    4. 安装ansible时,使用离线安装,版本:2.9.27

    准备部署包

    https://download.csdn.net/download/qq_44246980/85695007

    操作步骤

    环境准备

    作用IP地址操作系统配置
    master192.168.1.13CentOS7最低配置2C2G
    node01192.168.1.14CentOS7最低配置2C2G
    node02192.168.1.15CentOS7最低配置2C2G
    ansible192.168.1.140CentOS7最低配置1C1G

    node节点可以填写多个,根据实际情况确认,但是不能超出单master节点的限制

    备注

    1. 建议单独找一台机器用于部署ansible服务,可以不接受
    2. 但是需要确保机器资源充足,且相关的端口不会冲突(38081【yum】、38082【registry】)
    3. 相关的网络关系需要提前确认

    解压部署包

    #上传部署包(xshell)
    cd /opt                      #目录随意
    yum -y install lrzsz 
    rz deploy_install_k8s_20220619.tar.gz
    #解压
    tar -xvf deploy_install_k8s_20220619.tar.gz
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    修改host文件

    #部署机器,初始脚本、安装包镜像
    [deploy_server]
    192.168.1.140 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22 hostname="Ansible"
    
    [kubernetes_master]
    192.168.1.13 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22 hostname="k8s-master01"
    
    
    [kubernetes_node]
    192.168.1.14 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22 hostname="k8s-node01"
    192.168.1.15 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22 hostname="k8s-node02"
    
    #不填写,则不安装镜像仓库
    [docker_repositry]
    #192.168.1.136 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22 hostname="k8s-node01"
    
    [nodes:children]
    kubernetes_master
    kubernetes_node
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    初始化环境

    [root@registry]# cd /opt/deploy_install_k8s
    [root@registry]# ls 
    host  images  init  playbook  Run.sh  yum
    [root@registry]# sh Run.sh
    1) 初始化环境(ansible))
    2) 安装k8s集群(1.21.1) 
    3) 添加k8s node节点(1.21.1) 
    ----------------------------------------------------------------------------
    请输入对应的数字编号:1
    请输入部署机的地址(192.168.1.140):
    #部署机的地址,通过脚本过去的地址,确认无误后直接回车即可
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    直接结果如下
    在这里插入图片描述

    1. 安装docker服务
    2. 安装ansible服务,修改配置
    3. 准备离线yum仓库
    4. 准备离线registry仓库,相关挂载点是:/var/images/

    安装k8s集群

    [root@registry deploy_install_k8s]# sh Run.sh 
    1) 初始化环境(ansible))
    2) 安装k8s集群(1.21.1) 
    3) 添加k8s node节点(1.21.1) 
    ----------------------------------------------------------------------------
    请输入对应的数字编号:2
    #host文件需要提前修改
    #确认host中用户名、密码、ip正确且网络连接正常后,回车,等待执行脚本结束
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    执行结果如下:
    在这里插入图片描述

    登录master的节点

    在这里插入图片描述
    浏览器访问Prometheus
    http://IP:30090
    在这里插入图片描述

    总结

    1. 上述则是当前部署中可运行正常的服务
    2. 其中dashboard角色执行后因访问权限问题,导致无法正常使用,当前未解决,不过可以安装后自行查找后手动修改
    3. 执行Run.sh 输入h,则可以调试脚本,对应的启动文件,修改,则可以进行调试(playbook/tools/test.yaml)
  • 相关阅读:
    公开透明,是OKR实践中的第一个改变
    SpringAOP底层原理
    Vue基础-05
    Tomcat知识点(深入剖析Tomcat学习笔记)
    【接口协议】基于 FPGA 的 HMDI 彩条显示实验
    组播ipv6 mld proxy测试环境搭建
    DTSE Tech Talk | 第10期:云会议带你入门音视频世界
    关于Java并发多线程的一点思考
    【MySQL面试题】经典面试题之“b+树”
    深入理解Linux内核进程的管理与调度(全知乎最详细)
  • 原文地址:https://blog.csdn.net/qq_44246980/article/details/125359277