云原生学习笔记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、移植与分享方便

二十六、Kubernetes-基础概念-简介

首先理解什么是Kubernetes?它的出现是为了什么?解决什么问题?

比如应用开发完成了,我们想要部署,我们有这几种部署方式的进化

首先传统的部署方式,如果我把这些应用部署到一台服务器,由于应用之间没有隔离性,可能会因为A应用的内存泄露,炸了,把其它应用都挤下线了,所以不是怎么安全

然后就是虚拟化的部署方式,虚拟化呢就是我们以前在我们的物理机上可以通过虚拟化技术开通几个虚拟机,这样我们就把应用部署到这些虚拟机上,应用炸了只能炸了这个虚拟机内的应用,虚拟机太笨重了。

Docker开启了容器化的时代,只要我们有一个服务器装了操作系统,然后再安装docker,就相当于有了容器化的运行环境,接下来我们的应用就会以容器化的方式运行起来,容器的镜像也就几百MB,还是非常轻量级的。所以现在以容器化的方式运行也能做到资源隔离,一个炸了不影响另外一个,如果我们以容器化的方式又会给我们带来什么样的问题?(举一个例子,开发了一个抖音,它里面的服务模块众多,微服务划分开发了很多小项目,每个小项目都以容器化的方式部署,而且一台服务器还不够,甩到十几台服务器进行部署,每台服务器估计部署了50个容器,像这么多的容器管理起来就非常麻烦了,以前我们使用docker run启动一个项目,我们人肉可以运维,几百几千个容器,哪一个故障了,我们不想让人为修复,希望在别的机器拉起一份,整个我们需要对大量容器的统一管理系统,就是容器编排系统,Kubernetes就是这么回事)

我们急需一个大规模容器编排系统,能帮我们将所有跑起来的容器编排起来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值