云原生学习笔记01

一、云原生实战-课程简介

云原生是最近几年非常火热的一个概念,什么是云原生?我们应该理解成两个单词,一个叫云,一个叫原生,所谓的原生指的是我们用任意编程语言,比如Java、C++、Python、Go、PHP等等,我们使用这些语言呢开发的应用,我们把这些应用统一称为原生应用。而开发完这些应用以后呢?这些应用肯定要部署到一个地方,我们可以选择部署到云上,所以呢?云原生指的呢就是一句话:原生应用上云的整个过程以及云上的一系列解决方案。

这个云原生是不是一个运维工程师应该学习的课程呢?我们愿意称云原生为架构师的第一课,因为我们来考虑,如果原生应用想要上云,我们就需要自己来分析,比如我们需要上云的整个这个应用,它的应用的架构是什么样的?应用拆分了多少的微服务,每一个微服务之间它们的访问关系又是什么样的?所以呢,这种方式就有助于我们平时养成架构师的思维习惯,我们需要来分析应用的整个架构,它们微服务之间的划分,可以帮助我们站在我们更高的维度去来分析我们的应用,而且呢?云原生也是非常深而且广的领域,特别是我们想要学好云原生,比如在云原生里面有一个核心平台Kubernetes,也就是大名鼎鼎的k8s,想要学习k8s呢?它这里面又有非常多的核心概念,第一次学习起来又晦涩难懂。

1、适合人群

开发工程师

传统运维工程师

运维开发工程师

测试工程师

传统架构师

2、课程特色

实战方式快速系统了解云原生核心

完成云上实战、消除环境差异性

资料与笔记齐全:云原生实战 · 语雀

3、前置要求

①、会基本的linux操作

②、了解常用中间件,比如Nginx、MySQL、Redis等

③、分布式经验更佳,如SpringCloud

二、云原生实战-云计算简单概念

云平台操作,理解一下云平台里面的核心流程以及它的一些基本概念。

1、什么是云平台?我们为什么要用云平台?

云平台有一个相对的概念,那就是本地。我们简单可以理解为这样,我们一个开发人员,他开发的这个应用可以在他本地电脑上运行,但是这样肯定不能是商业软件的运行方式,我们这个应用最终一定会部署到一个服务器上,那接下来这些服务器呢?我们可以有两种方式,第一种方式,我们可以买网上第三方这些服务器厂商,我们称为云厂商,给我们提供的硬件资源。我们把这种方式呢,称为公有云。还有另外一种,我们可以组建运维团队,专门去建我们的机房,我们购买一些服务器、网关、路由器等等,我们构建出自己的云平台,这种我们可以称为私有云。无论是哪种方式,反正就是一句话,我们的应用一定要放到远程的服务器上,而不是在我们开发人员的本机电脑上。

2、我们为什么要用云平台,我们用一个公有云为例,云平台会有非常多的优秀特性,比如

环境统一:我们不论买多少台服务器,我们可以给它指定统一环境,比如都来装centos7.6版本,包括网络环境也比较统一,所以呢?我们应用往上部署的时候,就能消除环境对我们的应用的整个影响

按需付费:我们的业务量有多大,我们开多少

即开即用:特别是用第三方云厂商提供的平台,我们要用多少资源,我们随时开就行了,而且开了几秒之内就可以用了,比我们自己来搞(我们自己从买服务器开始,给服务器配上环境,整好一系列的东西,可能没个10天半个月搞不来),所以我们说即开即用这个特性非常方便

稳定性强:如果我们用第三方厂商提供的这些云资源,因为它们会有专业的运维团队去来管理这些东西,所以稳定性要比我们自己整强很多。

3、国内常见云平台

阿里云、百度云、腾讯云、华为云、青云...

三、云平台-阿里云服务器开通流程

阿里云-计算,为了无法计算的价值

四、云平台-测试安装nginx并访问

1、linux服务器yun install nginx

2、service nginx start(CentOS6.8)

3、修改index.html页面的内容:echo "HelloWorld_NanJing" index.html

五、云平台-服务器的安全组设置

安全组就是控制服务器的防火墙

安全组:防火墙相关的端口设置

六、云平台-按量付费优点

可以停止实例(停机不收费)

七、云平台-私有网络VPC实战

云服务器有公网IP(别人无论在任何地方,用哪个IP来访问我们服务器里面的资源,比如nignx、mysql),而另外一个是服务器内部网卡真正用的IP,叫私有IP(一般私有IP是固定不变的,因为我们要建立集群的话,每一个服务器的私有IP一般都得固定)。如果我们在同一个集群使用私有IP的话,不会走公网的流量,也不会有流量的付费,而且私有IP的速度要比公网IP快得多,因为公网IP会有带宽的限制,比如我们开了1MB的公网IP带宽,而我们的私有IP呢?基本上走内网了。

VPC:私有网络、专有网络(划分网段)

八、容器化-Docker概念

1、统一标准

应用构建:我们以前写的这个应用可能使用不同的编程语言Java、C++、JavaScript,应用要打成一个软件包(构建),这样就会五花八门,有的会给我们一个压缩包,有的会给文件夹,有的直接给你源程序要你自己编译去。所以应用构建部分,你的语言不同,整个的构建方式不同导致的各种东西挺麻烦的。所以你能不能来一个纯粹点直接的,你看windows多爽的,你不管写的啥软件.exe双击执行就行。所以docker,你不管什么编程语言写的,你给我统一打成一个包(打成一个我规定的包)docker build ... 镜像

2、应用分享

所有软件的镜像放到一个指定地方 docker hub

3、应用运行

统一标准的 镜像

docker run

虚拟化技术:

1、基础镜像GB级别

2、创建使用稍微复杂

3、隔离性强

4、启动速度慢

5、移植与分享不方便

容器化技术:

1、基础镜像MB级别

2、创建简单

3、隔离强

4、启动速度秒级

5、移植与分享方便

猜你喜欢

转载自blog.csdn.net/xizheng2018/article/details/130592659