# 21 Cloud 学习指南 ## 前言 同学们,大家能够在百忙之中参与到云计算杯赛的学习中来,说明大家有一颗不断追求、敢于奋斗的心。既然这样我们更应该打起精神来,努力学习,用取得的成绩来回报今天我们。 学习任何一门知识都不是靠一时兴起就能成功的,不管是课程中的还是课程外的,既然选择了,就要去努力学习,不能半途而废。 云计算不是一门新兴的技术了,但是他还年轻,近两年云原生的概念非常火热,这是云计算带来的又一技术浪潮。云计算不是某一门技术,也不是哪一种语言,云计算集合了网络、虚拟化、服务于一体的集大成者。这也是说云计算大而杂,我们要同时学习多种不同的技术,只有都学会了,才能够驾驭云计算。所以前期我们一定会吃苦头,可能几天都没解决一个知识点,也可能实验怎么做都不成功。但是,我们不能气寐,要给自己打打气,告诉自己,学习就是积累,失败就是经验,要在失败中总结,在总结中突破。 综上,希望大家在学习前能给自己下定决心,勇敢的学习下去。 ## 云计算 初次接触云计算,大家都很好奇什么是云计算,计算我们都了解,用计算机去运算,那么云呢?在天上吗? 其实云计算也很简单易懂,首先计算大家都知道,用计算机去运算就是计算,我们运行程序是计算,计算机工作其实也是运算。云就是网络,计算机之间通过网络互相连接。简单地理解了云计算的概念,我们就来完善下这个概念。 ### 云 云就是网络,不论是局域网、互联网,都是网络,这意味着云可以在局域网中,也可以在互联网上。在本地局域网中的云,叫做私有云,供企业内部使用。在互联网上的云,叫公有云,一般由大型公司架设,出租或出售给企业使用。当然,一家企业也可以同时拥有私有云和公有云,如果私有云和公有云之间有数据流通,那么我们可以称其为混合云。 ### 计算 在以前,计算机是独立的,虽然网络提供了互相访问的途径,但是计算资源却是各自独立的,每台服务器只运行一套业务。这样带来的就是计算资源的浪费,大量的计算资源被闲置,无法得到高效地利用。虚拟化技术的出现带来了改变,可以在服务器上同时运行多套操作系统,多个业务可以存在于同一台服务,极大的提高了资源利用率。在虚拟化中,所有计算机将自己加入到资源池中,企业可以根据自己的业务选择使用多少资源。 ### OpenStack 早期的云计算,就是综合了虚拟化技术,目的是提高资源利用率。随着发展,云计算进入到自动化管理阶段,云管理平台取代手工管理。在这个阶段比较出名的就是OpenStack。 OpenStack是一个开源的云计算管理平台。OpenStack是一个平台,他集成了多种不同的服务来提供功能,常见服务如下表: | 服务名 | 功能 | | -------- | ------------ | | Keystone | 身份认证服务 | | Glance | 镜像管理服务 | | Nova | 计算服务 | | Neutron | 网络服务 | | Cinder | 块存储服务 | | Swift | 对象存储服务 | | Horizon | Web管理服务 | 这些不同的服务互相协同组成了OpenStack平台。 OpenStack中,我们只需根据需求来申请资源使用而不用担心底层是对资源进行调度。 ### Kubernetes 在虚拟化技术出现后,有一个叫做容器的技术也诞生了,容器与虚拟化不同之处在容器不需要独立的底层系统,多个容器之间共享底层系统,但同时又能够互相隔离。因为容器在使用中不需要配置底层系统,所以相较于虚拟机启动速度非常快,往往几秒就可以启动完成。 容器技术的大火在管理上也面临着挑战,谷歌开源了自己内部的容器管理平台,经过开发后就是Kubernetes了,我们一般也叫K8s。 K8s与OpenStack侧重点在于对容器和服务的管理。 ## 拓展内容 上面介绍的就是我们在云计算中要学习的内容。接下来我将依次介绍能够帮助我们提高效率和必备的一些知识点。 ### Git GIt是一个分布式版本控制工具,旨在对代码的文件进行追踪管理,我们可以学习使用这套工具对我们自己的文档、代码文件进行管理。 > 可以使用Github Desktop桌面端进行图形化Git管理。 ### Markdown Markdown是一种轻量级标记语言,通过简单的字符对文本进行标记来达到快速排版的目的,同时Markdown文件从采用的是二进制编码,因此也能够被Git进行追踪,所以深受开发社区的喜爱。(我们这篇文章就是使用markdown编写的)。 > 推荐使用工具Typora ### VMware Workstation VMware是一款比较简单易用的虚拟机工具,我们通过这套工具运行虚拟机来模拟服务器配置,后期我们很多实验都会在上面进行。 > 使用VMware虚拟机前要在BIOS中开启虚拟化支持一项。 ### Xshell & Xftp Xshell和Xftp是常用来对Linux服务器进行SSH连接和文件传输的一套工具。Xshell使用SSH来跟服务器建立连接,执行命令。Xftp使用sftp和服务器传输文件。 ## 总结 以上就是我们学习云计算要学习的内容,虽然内容比较多,但都是循循渐进的,在学习过程中不可避免地遇到各种问题,我们也要学会善用身边的工具去解决问题。 最后预祝大家能够在比赛中取得好的名次。