我的想法是什么

最近在学习Docker技术,相信Docker技术大家都有所了解,Docker类似于虚拟机(但与虚拟机又有本质不同),提供进程级别的隔离。我们可以利用Docker来方便地来做很多事情,比如搭建一个VPN、搞一个爬虫、弄一个私人博客,部署一个裸机上比较难以安装的环境等等……可以说几乎没有什么目的办不到,这简直是宅男老铁们的福利啊!

但话又说回来,单个Docker所能发挥的作用毕竟有限,也不便于批量管理,更满足不了各种量比较大的业务场景所需的高可用、弹性伸缩等特性,所以Docker得组集群来并赋予各种完善的调度机制才能发挥强大的技术优势。既然要组集群那就涉及诸如Docker的资源调度、管理等等一系列问题。Docker集群技术发展得很火热, 目前涉及Docker集群的三个主要的技术无外乎Docker Swarm、Kubernetes、Mesos三种主流方案。

Docker Swarm是Docker提供的原生集群技术,我只做过一些初步实践(Docker Swarm集群初探),发现还比较容易上手,大家也可以自行去深入学习一下,我就不多说了。

Kubernetes(以下简称K8S)源自于Google,是一个为容器化应用提供自动部署、扩容和管理的开源项目,社区非常活跃,也是用得更加广泛的Docker集群技术。我最近也是花了一些时间在这上面进行学习,但由于缺少实际实践经验,总有点不痛不痒的感觉,所以没办法只能自己来创造一些实践,就想着用它来做出点什么出来。

好,背景介绍完了。那我到底想用我刚自学的Docker和Kubernetes来做一件什么事情呢?听我慢慢道来...


当下云主机可以说非常火热了,不知道大家是否用过BAT等一系列厂商旗下XX云所提供的云主机服务。我们只需要买一个云主机,然后就可以尽情地去上面干各种事情了,常见的比如建站、搭博客、部署服务甚至直接买一个windows云主机直接用于办公。

以某个云服务为例,来张图看看:

然后我们就可以进去付费创建一个云主机自己使用,就像下面这样:

这种服务如今如此地火热,我想这背后肯定少不了的就是容器技术和集群技术的加持,想到这里我想大家应该明白我这篇文章的主题了。是的,本篇文章及接下来的连载系列文章将详细讲述如何用k8s技术栈打造一个属于自己的私有云服务(取名为 SheepCloud,怎么样是不是很时髦...)。这样的话,我自己在家就可以申请创建很多云主机节点,然后自己想做啥就做啥,什么云计算、分布式实验统统不都可以免费进行了!

嗯,理想是好的,接下来还有一大堆事情要做呢...


我准备打造什么样形式的个人私有云

其实上面已经说过了,准备模仿那些云服务提供商的云主机功能,先在网页上申请创建云主机,创建成功后分配 IP地址/子网号 + 用户名 + 密码 给用户,这样用户就可以用用ssh方式连入分配到的具有独立IP的云主机中进行工作,这样就和那些服务商提供的云主机服务没有什么不同了。

所以首先得有前端页面,我自己用Vue.js写了一个Demo(目前还未跟后端联调),让大家有个感性的认识:

我准备如何来入手这个小项目

本来我的初衷就是想深入实践一下Docker和Kubernetes(以下简称K8S)是怎么玩的,但东西还真不少,总结了一下涉及的技术,可能还不止这些:

  • Docker:不用多说,毕竟负责容器的落地,云主机本质上就是一个win或linux容器
  • Kubernetes:管理Docker的集群技术,这里面是有很多kube的组件
  • flannel:负责节点中容器间的通信以及私有云各个实例的IP地址规划
  • etcd:分布式数据库,kubernetes和flannel都需要它
  • SpringBt:驱动后端服务
  • Vue.js:编写私有云前端WEB页面

我自己规划了一个基本路线来入手:

  • 熟悉Docker
  • 熟悉Kubernetes基本概念并搭建K8S集群
  • K8S集群理解与练手实验
  • 基础镜像制作与实验,能完成单个操作系统容器的手动管理
  • K8S资源控制代码编写,能实现集群对容器资源的自动控制
  • 私有云客户端WEB前端页面编写
  • 前后端联调
  • 总结输出

我准备输出哪些东西

准备输出连载文章 + 源码,这篇文章是连载系列的第一篇

  • 利用K8S技术栈打造个人私有云(连载之:初章) (已完成)
  • 利用K8S技术栈打造个人私有云(连载之:K8S集群搭建)(已完成)
  • 利用K8S技术栈打造个人私有云(连载之:K8S环境理解和练手)(Coming Soon...)
  • 利用K8S技术栈打造个人私有云(连载之:基础镜像制作与实验)(Coming Soon...)
  • 利用K8S技术栈打造个人私有云(连载之:资源控制研究)(Coming Soon...)
  • 利用K8S技术栈打造个人私有云(连载之:私有云客户端打造)(Coming Soon...)
  • 利用K8S技术栈打造个人私有云(连载之:总结与升华)(Coming Soon...)

总结

学以致用这个词我近来感触颇深,学一门技术,如果不辅之以实践,真的很难深入其中。浮在表面不痛不痒地学习真心很不爽,没有实践,自己制造实践也要上!大家共勉

利用K8S技术栈打造个人私有云(连载之:初章)相关推荐

  1. 利用K8S技术栈打造个人私有云(连载之:K8S资源控制)

    [利用K8S技术栈打造个人私有云系列文章目录] 利用K8S技术栈打造个人私有云(连载之:初章) 利用K8S技术栈打造个人私有云(连载之:K8S集群搭建) 利用K8S技术栈打造个人私有云(连载之:K8S ...

  2. 利用Bdrive打造个人私有云存储解决方案

    Bdrive 一款私有云储存软件,可以自己方便的在 Mac/Windows 下架设服务器,并可以通过 PC.Mac.iOS.Android 跨平台使用.以下简单介绍一下利用Bdrive来完成个人私有云 ...

  3. 从微服务应用于技术栈,了解华为云微服务应用

    摘要:一个成熟的微服务解决方案产品需要经历足够大的业务量侵袭,才能变得更加成熟和可靠. 云原生时代,随着容器技术.微服务架构思想.产品研发运营模式不断地推陈出新和迅速发展,应用的设计和开发落地门槛已经 ...

  4. 【Microsoft Azure 的1024种玩法】四. 利用Azure Virtual machines 打造个人专属云盘,速度吊打某云盘...

    [简介] 1.Azure Virtual machines是Azure 提供的多种可缩放按需分配计算资源之一,Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或 ...

  5. (转)iOS Wow体验 - 第五章 - 利用iOS技术特性打造最佳体验

    本文是<iOS Wow Factor:Apps and UX Design Techniques for iPhone and iPad>第五章译文精选,其余章节将陆续放出.上一篇:Wow ...

  6. 《深入react技术栈》学习笔记(一)初入React世界

    前言 以<深入学习react技术栈>为线索,记录下学习React的重要知识内容.本系列文章没有涵盖全部的react知识内容,只是记录下了学习之路上的重要知识点,一方面是自己的总结,同时拿出 ...

  7. CSDN专访云信阙杭宁:以16年技术积累打造稳定IM云服务

    网易在9月21日发布了网易云计算战略,以数十亿人民币的首批投入来"解放全国千千万万的程序员".而在2015年年底,网易云信IM开发服务平台就作为先锋军的一员,杀进了开发服务市场. ...

  8. 程序员疯狂记事:如何利用众多技术栈构建一个 Web 应用程序?!

    [CSDN 编者按]"Elixir.Phoenix.Absinthe.GraphQL.React和Apollo"--在这几个关键词中,有几个是身为开发者的你一直想玩但还没来得及玩的 ...

  9. 利用ELK技术栈收集nginx日志

    之前的一篇文章已经介绍如何使用nginx写入post的数据入日志,详细见链接: nginx的post命令记录body到日志中 接下来使用filebeat.logstash.elasticsearch把 ...

最新文章

  1. 如何预测未来房价的发展
  2. ionic2.0关于表单的验证
  3. python现在的时间是几点_Python 的日期和时间处理
  4. 晚上无聊象征性收取了网友100元辛苦费,实现支持多语言功能的XML语言包版的C#的ASP.NET多语言支持例子程序...
  5. maya python api_[转载]maya python api 学习笔记
  6. Unity WIndows语音识别(一)关键字识别
  7. 在线格式化mysql_SQL在线美化 | SQL格式化 | SQL压缩 —在线工具
  8. ESXi主机 TPM 证明警报
  9. 网络资源下载操作及其原理学习: 如迅雷与百度网盘
  10. linux磁盘写保护怎么修改_linux
  11. 谷物大脑(来自樊登读书会)
  12. 关于物联网,互联网我们用到的通信
  13. resulful规范_resultful风格简介
  14. unity3D游戏开发十二之疯狂的小球
  15. Flash activex控件版本信息
  16. 推荐3个游戏小程序,让你整个暑假都充实!
  17. 米家扫地机器人是石头代工_科沃斯投资研究报告 - 大湾区小家电分享
  18. APP瘦身大法--AndResGuard的使用
  19. 原生APP集成身份证扫描拍照识别SDK
  20. c语言怎样统计数组的长度,C语言指针难吗?纸老虎而已,纯干货讲解

热门文章

  1. c++类的成员函数作回调函数为啥要声明为static的
  2. Python3下载图像小工具
  3. 数据库设计三范式(3NF)
  4. 记一次Vue全页面SSR深坑之旅 - 微弱的内存/CPU泄漏
  5. 《Spring5官方文档》新功能(4,3)
  6. python的一些函数
  7. Python 技巧总结
  8. LAMP组合之服务分离部署
  9. Intellij IDEA 14.x 菜单项中Compile、Make和Build的区别
  10. 疯狂连连看之开发界面布局