使用kubekit搭建k8s集群

作者: bboysoul | 来源:发表于2018-07-05 22:37 被阅读78次

    概述

    其实有时候安装搭建这个东西是费时费力的事情,如果有脚本为什么不能使用脚本呢?花100分钟在搭建上还不如用100分钟去研究怎么使用

    什么是kubekit

    Kubekit是一个部署工具包,它为kubernetes提供离线安装解决方案。您可以使用它将Kubernetes部署到OFFLINE生产环境。

    Kubekit将安装

    • Docker(1.12.6)
    • Kubernetes及其所有组件
    • Kubernetes仪表板,默认节点端口:31234

    kubkit地址

    https://github.com/Orientsoft/kubekit

    操作系统

    首先官方支持下面两个操作系统,而且都要是最小化安装支持的

    • CentOS release 7.3.1611
    • CentOS release 7.4.1708

    我使用是1708,k8s版本是V1.9.2,具体的可以看github上的readme

    wget http://111.1.50.85/files/1128000004BF9EC9/linux.cc.lehigh.edu/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso

    在虚拟机里面正常安装,注意是最小化安装,我给虚拟机的内存是2g,希望有一天我也可以买台mac book pro吧
    安装完成之后关闭防火墙

    systemctl stop firewalld

    systemctl disable firewalld

    关闭selinux

    setenforce 0

    vim /etc/selinux/config

    修改为

    SELINUX=disabled

    最好还可以同步一下时间什么的

    yum install ntpdate

    ntpdate 0.cn.pool.ntp.org

    下载kubekit

    yum install wget

    wget https://kubekit.orientsoft.cn/kubekit-linux64-0.3.tar.gz

    解压

    tar -zxvf kubekit-linux64-0.3.tar.gz

    mv kubekit-release/ kubekit

    下载离线包并且安装集群

    wget https://kubekit.orientsoft.cn/package-1.9.2.tar.gz

    tar -zxvf package-1.9.2.tar.gz

    mv package kubekit

    给脚本赋予可执行权限

    cd kubekit/package/

    chmod +x ./*.sh

    最后安装并初始化master节点

    ./kubekit init 192.168.38.166

    到下面这步就说明节点初始化成功了

    [root@kubekit kubekit]# ./kubekit init 192.168.38.166
    
     ___  __        ___  ___      ________      _______       ___  __        ___      _________   
    |\  \|\  \     |\  \|\  \    |\   __  \    |\  ___ \     |\  \|\  \     |\  \    |\___   ___\ 
    \ \  \/  /|_   \ \  \\\  \   \ \  \|\ /_   \ \   __/|    \ \  \/  /|_   \ \  \   \|___ \  \_| 
     \ \   ___  \   \ \  \\\  \   \ \   __  \   \ \  \_|/__   \ \   ___  \   \ \  \       \ \  \  
      \ \  \\ \  \   \ \  \\\  \   \ \  \|\  \   \ \  \_|\ \   \ \  \\ \  \   \ \  \       \ \  \ 
       \ \__\\ \__\   \ \_______\   \ \_______\   \ \_______\   \ \__\\ \__\   \ \__\       \ \__\
        \|__| \|__|    \|_______|    \|_______|    \|_______|    \|__| \|__|    \|__|        \|__|
    
    
    KubeKit V0.3 ⓒ  OrientSoft 2018
    
    Initialization process started, with kubernetes master IP: 192.168.38.166
    
    ✔ HTTP file server listening at: 0.0.0.0:8000
    
    Start to install docker engine...
    (1/2) Start to install docker...
    (2/2) Start to config docker...
    
    ✔ Docker engine installed...
    
    Start to initialize Kubernetes master node...
    
    (1/6) Start to load images for Kubernetes master...
    (2/6) Start to install components for Kubernetes master...
    (3/6) Start to configure firewall...
    (4/6) Start to initialize Kubernetes master...
    ✔ Master token 3826ab.fef296d97de13f83 saved into .k8s.token file.
    (5/6) Start to config Kubernetes network...
    (6/6) Start to install Kubernetes dashboard...
    
    ✔ Kubernetes master node initialized...
    
    Remember to reload shell with: source ~/.bashrc before using kubectl!
    [GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.
    
    [GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
     - using env:   export GIN_MODE=release
     - using code:  gin.SetMode(gin.ReleaseMode)
    
    [GIN-debug] GET    /assets/*filepath         --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (4 handlers)
    [GIN-debug] HEAD   /assets/*filepath         --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (4 handlers)
    [GIN-debug] Loaded HTML Templates (3): 
        - 
        - index.html
        - locale.html
    
    open ./.nodes: no such file or directory
    [GIN-debug] GET    /                         --> github.com/Orientsoft/kubekit/controllers.(*MainRouter).IndexHandler-fm (4 handlers)
    [GIN-debug] GET    /ws                       --> github.com/Orientsoft/kubekit/controllers.(*MainRouter).Initialize.func1 (4 handlers)
    [GIN-debug] GET    /node/list                --> github.com/Orientsoft/kubekit/controllers.(*MainRouter).ListNodesHandler-fm (4 handlers)
    [GIN-debug] POST   /node                     --> github.com/Orientsoft/kubekit/controllers.(*MainRouter).CreateNodeHandler-fm (4 handlers)
    [GIN-debug] PUT    /node/remove/:id          --> github.com/Orientsoft/kubekit/controllers.(*MainRouter).RemoveNodeHandler-fm (4 handlers)
    [GIN-debug] GET    /node/refresh/:id         --> github.com/Orientsoft/kubekit/controllers.(*MainRouter).RefreshNodeHandler-fm (4 handlers)
    [GIN-debug] GET    /node/log/:id             --> github.com/Orientsoft/kubekit/controllers.(*MainRouter).GetInstallLog-fm (4 handlers)
    [GIN-debug] POST   /install                  --> github.com/Orientsoft/kubekit/controllers.(*MainRouter).InstallNodeHandler-fm (4 handlers)
    [GIN-debug] GET    /install/progress/:id/:step --> github.com/Orientsoft/kubekit/controllers.(*MainRouter).NodeProgressHandler-fm (4 handlers)
    
    ✔ Toolkit server is listening at: 0.0.0.0:9000
    [GIN-debug] Listening and serving HTTP on :9000
    

    接着ctrl+c退出来,然后重新启动kubekit的dashboard并且放在后台

    ./kubekit server &

    添加一个node

    浏览器访问ip:9000

    创建一个同样安装着centos 1708最小化安装的机器,之后打开修改主机名

    hostnamectl set-hostname kubekit-node1

    接着点击web界面上的add node,输入ssh账号密码等信息,最后选中点击start deploy就可以了

    之后你就会在kubernetes的dashboard看到这个节点的详细信息了

    欢迎关注Bboysoul的博客www.bboysoul.com
    Have Fun

    相关文章

      网友评论

        本文标题:使用kubekit搭建k8s集群

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