我写过的软件之Kubernetes All In One

其实这不是一个软件,而是一个安装包。

公司的产品用到docker/kubernetes这些技术,每次安装都得从网上下载一堆软件包,加上有一些软件包还可能被墙了,安装一次得花了一两天时间,就萌生一个想法做一个离线就可以安装的kubernetes安装包,给自己定了一个小目标:

  • 把docker/kubernetes等软件的依赖和软件包都打包进去,电脑不能连接因特网也能安装。
  • 把calico,consul,dashboard,fluentd-elastic search-kibana,helm,kafka-zookeeper和nginx-ingress都用上。
  • 1个master,3个slave。
  • 包含几个demo演示如何访问consul,kafka。
  • 安装脚本尽可能只用shell。
  • 安装过程尽可能自动化,执行过程简单。

为了做这个,还买了一台高性能的笔记本,i9/64G内存/SSD硬盘,开几台虚拟机也不觉得卡顿,i9 CPU性能提升确实挺牛逼的。调试一些问题还经常弄到三更半夜,经过几个星期的奋战,年前终于做得差不多了,给大家knowledge share一下,貌似大部分人听得稀里糊涂的。。。倒是有几个开发的同事拿着这个包把玩了一番,若有所得的样子。

最后的包大概是这个样子:

https://i-blog.csdnimg.cn/blog_migrate/4caf3cbeca2ffc9bfb54a357bd94b24f.png

假设这个包使用NFS共享给几个需要安装的机器上之后,对脚本做几个简单的修改就可以安装了:

  • 修改脚本中的pod-network-cidr。
  • 修改脚本中的master的ip地址。
  • 修改脚本中的主机名。

[Updated]

修改完之后,就只需要执行脚本就行了:

  • 在master主机上执行1_master的脚本
  • 在worker主机上执行2_worker和3_worker脚本
  • 在master主机上执行4_master脚本

整个执行过程还是简单明了的。脚本本身也没有太复杂,对于初学者应该是一个比较好的入门工具。

几个脚本完成的功能大概分解如下。

1_master.sh:

  • 安装Docker
  • 导入master节点所需要的docker镜像
  • 安装kubernetes
  • 执行kubeadm init初始化master节点
  • 安装Calico/Dashboard
  • 生成登录dashboard所需要的证书和配置文件
  • 生成join命令脚本(也就是3_worker.sh)

2_worker.sh

  • 创建Persistent Volume需要的文件夹
  • 安装Docker
  • 导入worker节点需要的镜像
  • 安装Kubernetes

3_worker.sh

  • 执行kubeadm join加入集群

4_master.sh

  • 给worker节点打label
  • 安装nginx ingress
  • 安装helm
  • 安装其他的应用

Kafka和Zookeeper是自己做的Image,Kafka的StatefulSet的状态竟然老是不稳定,调用脚本检查状态的时候老是挂在那里,一直不能ready,折腾了两三周,最后改成用tcpSocket的方式来检测readinessProbe了,貌似OK了。

另外做了几个demo访问kafka/consul。

用这个安装包,在一个ubuntu18 server上的机器,装完一个1个master 3个worker的Kubernetes也就需要个半个小时。方便快捷多了...容我自我陶醉一下...

做一个东西的过程中貌似各种坑,等坑填完了再回过头来看,好像坑也不算是坑了。

 

 

【有以前的同事要,传了一个版本到百度网盘:链接: https://pan.baidu.com/s/1ARdN2EeU_r-2TBj9cWWF1w 提取码: cvj4  】

这是一个将很多小工具功能集成一体的一个"工具". 功能: 1.AutoRun -> 查看一般登陆后启动的项 用法:Aio.exe -AutoRun 2.Clone -> 克隆帐户 用法: Aio.exe -Clone 正常帐号 要被克隆帐户 密码 例子: Aio.exe -Clone Administrator Guest test 帮助: Aio.exe -Clone 不需要在system权限下也可用 3.CheckClone -> 检测克隆帐户 用法: Aio.exe -CheckClone 不需要在system权限下也可用 4.CleanLog -> 清除日志 用法: Aio.exe -CleanLog 5.ConfigService -> 修改服务的启动类型 用法: Aio.exe -ConfigService 服务器 启动类型 例子: Aio.exe -ConfigService W3svc Demand ->手动启动 例子: Aio.exe -ConfigService W3svc Auto ->自动启动 例子: Aio.exe -ConfigService W3svc Disabled ->禁止启动 帮助: Aio.exe -ConfigService 6.DelUser -> 删除系统帐户 用法: Aio.exe -DelUser 帐户 例子: Aio.exe -DelUser Guest 帮助: Aio.exe -DelUser (注意: 可以删除系统内建帐号,象Administrator,Guest等,小心使用) 7.EnumService -> 列举系统服务 用法: Aio -EnumService All|Running|Stopped 例子: Aio -EnumService All -> 列举所有服务 例子: Aio -EnumService Running -> 列举正在运行的服务 例子: Aio -EnumService Stopped -> 列举停止了的服务 帮助: Aio -EnumService 8.FHS -> 检查系统隐藏服务 用法: Aio.exe -FHS 9.FGet -> FTP下载 用法: Aio.exe -FGet FTP地址 端口 用户名 密码 要下载文件名 例子: Aio.exe -FGet 12.12.12.12 21 test test a.exe 例子: Aio.exe -FGet 12.12.12.12 21 test test *.exe (下载所有exe文件) 帮助: Aio.exe -FGet 10.FindPassword -> 得到NT/2K所有登陆系统用户密码 用法: Aio.exe -FindPassword 11.InstallService -> 安装服务 用法: Aio.exe -InstallService 服务名 文件名 例子: Aio.exe -InstallService test test.exe 帮助: Aio.exe -InstallService 11.InstallService -> 安装驱动 用法: Aio.exe -InstallDrver 服务名 驱动文件名 例子: Aio.exe -InstallDriver test test.sys 帮助: Aio.exe -InstallDriver 12.KillTCP -> 杀掉一个TCP连接 用法: Aio.exe -KillTCP 本地IP 本地端口 远程地址 远程端口 例子: Aio.exe -KillTCP 192.168.1.1 80 61.61.61.61 7890 帮助: Aio.exe -KillTCP (参数可以通过netstat -an得到) 13.LogOff -> 注销系统 用法: Aio.exe -LogOff 14.MGet -> HTTP下载文件 用法: Aio.exe -MGet URL 例子: Aio.exe -MGet http://www.abc.com/test.exe abc.exe 帮助: Aio.exe -MGet 15.MPort -> 端口和程序关连映射 用法: Aio.exe -Mport 16.Never -> 将系统帐户登陆次数重置为0 用法: Aio.exe -Never 帐户 例子: Aio.exe -Never Guest 帮助: Aio.exe -Never 17.PowerOff -> 关机,关电源 用法: Aio.exe -PowerOff 18.Pslist -> 列进程 用法: Aio.exe -Pslist 19.Pskill -> 杀进程 用法: Aio.exe -Pskill PID|进程名 例子: Aio.exe -Pskill 3465 例子: Aio.exe -Pskill Iexplore 20.PortScan -> 端口扫描(Syn和TCP扫描) 用法: Aio.exe -PortScan Syn|TCP -S 起始地址 -E 终止地址 -P 端口列表 -T 线程数 例子: Aio.exe -PortScan Syn -S 61.129.1.1 -E 61.129.1.255 -P 3389 -T 512 /TS -> 扫描61.129.1.1到61.129.1.255的主机的3389端口,检查是否打开的是终端 例子: Aio.exe -PortScan Syn -S 61.129.12.12 -P 1-65535 -T 512 /TS -> 扫描61.129.12.12主机65535个端口,检查哪个端口打开的终端服务 例子: Aio.exe -PortScan Syn -S 61.129.12.12 -P 1-65535 -T 512 /S5 -> 扫描61.129.12.12主机65535个端口,检查哪个端口打开的Socks5服务 帮助: Aio.exe -PortScan (更多用法,请参考我发布的SynScan) 这个功能的用法是最多的,而且也是很强大的.(Syn扫描只适用于2K或以上系统) 21.PortRelay -> TCP数据转发 用法: Aio.exe -PortRelay 本地绑定端口 转发至的IP 转发至端口 例子: Aio.exe -PortRelay 3389 211.12.12.12 3389 帮助: Aio.exe -PortRelay 22.Reboot -> 重启系统 用法: Aio.exe -Reboot 23.RemoveService -> 删除服务 用法: Aio.exe -RemoveService 要删除的服务 例子: Aio.exe -RemoveService test 帮助: Aio.exe -RemoveService 24.StartService -> 启动服务 用法: Aio.exe -StartService 要启动的服务 例子: Aio.exe -StartService test 帮助: Aio.exe -StartService 25.StopService -> 停止服务 用法: Aio.exe -StopService 要停止的服务 例子: Aio.exe -StopService Test 帮助: Aio.exe -StopService 26.Sysinfo -> 查看系统信息 用法: Aio.exe -Sysinfo 27.ShutDown -> 关机 用法: Aio.exe -ShutDown 28.Terminal -> 安装终端服务(2K/XP/2003中都适用) 用法: Aio.exe -Terminal 端口 例子: Aio.exe -Terminal 3389 帮助: Aio.exe -Terminal 29.Unhide -> 查看星号密码(NT系统有效) 用法: Aio.exe -Unhide 30.WinInfo -> 查看帐户信息等 用法: Aio.exe -WinInfo 例子: Aio.exe -WinInfo 例子: Aio.exe -WinInfo Guest 如果发现什么bug,请到论坛中发贴或发信到WinEggDrop@hotmail.com build 04/01/2006这版本因为编译时参数问题,syn扫描什么都扫不到,但build 06/10/2006版本已修正.
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值