使用kubekit搭建k8s集群
概述
其实有时候安装搭建这个东西是费时费力的事情,如果有脚本为什么不能使用脚本呢?花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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
一起来DIY一个人工智能实验室吧
一、DIY一个AI实验室: 原材料的选择 我们的AI入门课程已经讲过两节了,前面我们讲了AI的概念、算法、工具等内容,第三节我们会介绍一些实际操作的内容。俗话说,工欲善其事,必先利其器,这篇文章我们将告诉大家如何搭建一个AI实验室,并穿插一些小Demo,为后面的AI学习实践做好准备。 现在可供选择的AI开发框架很多,推荐大家从Tensorflow开始上手,原因后面会说。另外,在“高阶版”的AI实验室中,我们使用了Kubernetes + Docker做分布式训练的运行环境,所以推荐各位同学使用64位的Ubuntu 16.04或更高版本的操作系统。如果只是想玩玩“单机版”,那也可以使用Windows和Mac,操作过程和Ubuntu差别不大。 AI实践肯定要写程序,各位同学肯定都有自己喜欢的IDE或者编辑器,但是编写AI程序,和编写其他程序有个很大的区别,那就是这些程序都需要实时的输出一些图表以供调试或者查看运行结果,我们之前用的大多数开发工具都没有这个能力,所以现在大家都用Jupyter Notebook来做AI程序、尤其是机器学习程序的开发。 综上,我们将使用Tensorflow、Ku...
- 下一篇
kubernetes ConfigMap
ConfigMap概述 configmap用于将应用所需的配置信息与程序进行分离, 使应用程序更好的复用, 在大规模容器集群环境中, 对应用进行统一配置管理. 一般应用场景: 生成为容器内的环境变量; 以Volume的形式挂载为容器内部的文件或目录. configmap以一个或多个key:value的形式保存在kubernetes系统中供应用使用, 既可以用于表示一个变量的值(例如log-level:info), 也可以用于表示一个完整的配置文件内容(例如xml或properties配置文件的全部内容). 声明方式: 使用yaml配置文件; 使用命令行命令(kubectl create configmap). Pod中使用方式: 环境变量方式 Volume挂载 创建ConfigMap 1. 使用yaml文件方式创建 1) 内容为变量 创建yaml文件cm-log-test.yaml: apiVersion: v1 kind: ConfigMap metadata: name: cm-log data: apploglevel: info appdatadir: /var/data 生成...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装