Devops学习记录

(https://www.bilibili.com/video/BV1A7411M76m?from=search&seid=14855796811647434253)
从开发角度讲 我写完代码就完了。剩下的都能自动执行。

概念 工具和流程的结合

主要是服务于 开发人员和测试人员之间沟通合作的解决方案。
构建、测试、发布、部署、运维监控。

工具图
在这里插入图片描述

别人家的devops workflow,并不一定合适自己
在这里插入图片描述

devops的目的

时间和质量

在这里插入图片描述

devops错误案例

在这里插入图片描述

正确案例

在这里插入图片描述

devops:传统应用交付
在这里插入图片描述
devops:标准容器交付
在这里插入图片描述
经典的容器交付流程
在这里插入图片描述

devops概念总结
在这里插入图片描述
为什么最近越来越关注devops了?
主要是因为微服务和容器。

先说微服务特性

在这里插入图片描述

微服务的优点

在这里插入图片描述
微服务从概念上完美匹配Devops
在这里插入图片描述

微服务的缺点

在这里插入图片描述

Docker和传统虚拟化,区别在于对虚拟化的损耗上。

三分钟看懂docker

在这里插入图片描述

docker如何解决微服务的缺点

在这里插入图片描述

容器交付的难点与问题

在这里插入图片描述

如何解决容器的缺点

在这里插入图片描述

微服务、容器、devops关系
三者相辅相成
在这里插入图片描述
在这里插入图片描述

减少人员介入,提高交付的质量保证
在这里插入图片描述

如何形成一个快速高质量的交付

如何快速搞质量的应用容器化迁移

容器交付流程的划分

在这里插入图片描述

首先了解容器中的dockerfile

在这里插入图片描述

dockerfile的由来,理论依据

在这里插入图片描述
在这里插入图片描述

再看dockerfile语法

在这里插入图片描述

从dockerfile如何生成image的

在这里插入图片描述

由上述分层结构,得出优化dockerfile过程

在这里插入图片描述

优化后

第一次优化将多条RUN命令合并成一条RUN命令
第二次优化
在这里插入图片描述
第三次优化
在这里插入图片描述
第四次优化
在这里插入图片描述
另外一种优化方式:多阶段构建
在这里插入图片描述

dockerfile优化总结

在这里插入图片描述

编排模板 kubernetes

在这里插入图片描述

从设计思路看kubernetes

在这里插入图片描述

k8s最重要的抽象,抽象出来了一些交付要义

这里定义的每个抽象是做什么的,待不充
在这里插入图片描述

k8s yaml文件示例

在这里插入图片描述

k8s 总结

其中kompose是用来解决从swarm迁移到k8s中

在这里插入图片描述

其他k8s迁移工具

阿里云迁移工具 Derrick

在这里插入图片描述

三、什么是CI\CD 从零开始搭建CI\CD

在这里插入图片描述

常用的jenkins架构,master slave

在这里插入图片描述

搭建jenkins系统–安装docker -ce

在这里插入图片描述

第二步
在这里插入图片描述

jenkins总结
在这里插入图片描述

阿里云的软件CodePipeline 和jenkins对比

在这里插入图片描述

四、云原生容器应用交付实践

1、如何上手使用kubernetes,
使用:minikube
https://minikube.sigs.k8s.io/docs/start/
或者访问阿里云的云上kubernetes
在这里插入图片描述

五、发布模式

首先认识网络模型
容器的网络模型一
在这里插入图片描述

Swarm中的简单路由服务

在这里插入图片描述

kubernetes中网络模型的实现(二) L3 Flat

在这里插入图片描述

kubernetes中网络模型的实现(三) ——LoadBalancer与NodePort

在这里插入图片描述
网络模型(四)——ClusterIP
在这里插入图片描述

网络模型(五) Ingress
在这里插入图片描述

service mesh

在这里插入图片描述

网络模型结束接下来看常见的发布策略

常见的发布策略

在这里插入图片描述

蓝绿发布,优点:零宕机更新,缺点:发布时资源消耗大

在这里插入图片描述

不同节点蓝绿发布区别

在这里插入图片描述

金丝雀发布,优点:用最小的代价实现功能验证,缺点:面向场景比较单一,对于开发者要求较高
和灰度发布的区别,如果对接入层流量没有区分的时候属于金丝雀发布。假如A节点流量必须走向新发布的实例,B节点必须不能访问到新实例,就属于灰度发布。

在这里插入图片描述

金丝雀发布示例

在这里插入图片描述

灰度发布,逐渐从一个版本到另一个版本的长时间平稳切换

在这里插入图片描述

A/BTest,和灰度发布非常的像,但是A/B Test是通过线上[不同版本]的反馈,来决策更倾向于哪个版本。

在这里插入图片描述

通过k8s进行这些发布

在这里插入图片描述

分批发布,和灰度发布不同,没有灰度发布的消耗资源问题。(分批发布属于一种策略)

分批发布,是将节点切分成一个个小的批次,然后发布第一个批次进行快速验证,如果验证没问题,再继续发布第二个批次,第三个批次。可以比较节省资源。

在这里插入图片描述
以上如果使用k8s来实现,会比较复杂。需要去判断是否应用还是回滚。k8s无法实现一个过程。

CRD或许是另一个答案。

CRD

https://www.kubernetes.org.cn/tags/crd
CRD拓扑关系图
在这里插入图片描述
相关资料地址(。。截图半天 最后才出来)
在这里插入图片描述

六、开源框架与容器云服务

工具链

在这里插入图片描述

Derrick 生成dockerfile,jenkins file

https://github.com/alibaba/derrick

kompose 生成kubernetes的文件

Kubernetes+Compose

https://github.com/kubernetes/kompose

helm[ kubernetes的package manager]

https://github.com/helm/helm

helm的基本架构
在这里插入图片描述

微服务介绍

不限定语言。
在这里插入图片描述
把服务想unix应用组合起来一样,高内聚低耦合。

service mesh(服务网格)

lstio
Sidecar模式(这个其实我没看懂是啥)

在这里插入图片描述
在这里插入图片描述

七、容器化应用的测试与调优

调优很难有一些标准化的模式。调优基本是针对问题分析问题。

以下是一些调优的比较有代表性的场景和问题。
c10k问题

在这里插入图片描述

性能测试方式

在这里插入图片描述
在这里插入图片描述
使用容器以后,性能会和之前的差距很大。正常情况会有5%的损耗。
在这里插入图片描述

虚拟化技术性能诧异对比

hyper方式的虚拟化,性能会有20%的损耗,而容器技术会在5%以内的损耗。
在这里插入图片描述

容器内核的理解

在这里插入图片描述

十个性能调优工具

在这里插入图片描述
压测工具
在这里插入图片描述

.

阿里云大学[https://www.bilibili.com/video/BV1A7411M76m?from=search&seid=14855796811647434253]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值