ACP云原生容器工程师 - ECI介绍
ECI概述
弹性容器实例ECI是阿里云在云原生时代为用户提供的基础计算服务,是阿里云云原生时代下的云计算基础设施。
ECI改变了以往计算服务以整台机器作为交付形态的传统,通过结合容器技术与无服务器技术为用户提供了一套安全便捷的Serverless服务。
使用ECI的过程中用户不再需要关注繁冗的底层基础设施维护工作,仅需提供打包好的容器镜像即可运行用户服务。
在颠覆传统资源交付形态的同事,用户还可以享受按实际消耗资源付费等便利,降低用户的实际使用成本。
ECI为Kubernetes提供了基础的容器Pod运行环境,但业务间的依赖、负载均衡、弹性伸缩、定期调度等能力依然需要Kubernetes来提供。
阿里云弹性容器实例ECI是面向容器的无服务器弹性计算服务;提供免运维、强隔离、快速启动的容器运行环境;使用ECI无需购买和管理底层ECS服务器,让您更加关注在容器应用而非底层基础设施的维护工作。
ECI vs ECS
对于整体的云原生基础设施来说,ECI和ECS是同级别的计算资源来产品。
ECI相比ECS的优势:
更低的计算成本:弹性成本低于ECS
更高的弹性效率:EC ...
ACP云原生容器工程师 - ACK对比ASK
前言我们都知道,ACK与ASK是阿里云两种不同的业务形态,那么它们有何异同呢?
ASK的容器是一等公民由于ACK需要先部署ECS,然后在ECS上部署应用容器,这时容器就是二等公民;
而ASK无需部署ECS,可以直接在ECI上部署应用容器,因此容器是一等公民。
ASK适用场景由于ASK的弹性伸缩能力较ACK更强更灵活,所以适用场景均为弹性相关。
应用托管
在线业务弹性
数据计算
CI/CD持续集成
定时任务
测试环境
ASK核心功能虚拟节点
ASK集群中基于虚拟节点创建Pod
虚拟节点实现了Kubernetes与弹性容器实例ECI的无缝连接,让Kubernetes集群获得极大的弹性能力,而不必关心底层计算虚拟容量。可通过客户端查看服务情况,虚拟节点不占用任何计算资源。
Pod安全隔离
ASK集群中的Pod基于阿里云弹性容器实例ECI运行在安全隔离的容器运行环境中。
每个容器实例底层通过轻量级虚拟化安全沙箱技术完全强隔离,容器实例间互不影响。
实例在调度时尽可能分布在不同的物理机上,进一步保障了高可用性。
ECI的容器实例底层运行在Allibaba ...
ACP云原生容器工程师 - ASK概述与产品介绍
基本概念Serverless基本概念对于传统云服务来说,我们需要购买的基础设施是服务器节点ECS,然后在ECS上自行部署应用或者部署其余付费应用,但是我们为了更好地适应应用的使用情况,有时并不需要ECS支持,这样可以更轻量地部署应用,成本也会更低。这就是阿里云无服务Kubernetes(ASK)的基本概念。
特点:
用户无需购买和管理服务器
直接部署容器应用
提高容器应用部署的敏捷度和弹性能力
降低用户计算成本
让用户聚焦业务应用
优势:
敏捷部署、安全隔离、生态链接、高移植性
无需节点容量规划
无需OS和系统软件维护
零基础设施运维
“无限”容量、秒级扩容、基于容器扩容
更高的资源利用率、更低计算成本
发展趋势
两种技术趋势的整合
云平台托管的后台服务BaaS
无状态计算模型:函数服务FaaS
Gartner
到2023年,70% AI任务会通过容器、Serverless等计算模型构建
AWS
在2019年 40%的ECS新客户采用Serverless Container
采纳Serverless技术的行业广泛
外包经济、 ...
ACP云原生容器工程师 - ACK应用与发布管理
概述ACK应用与发布管理包括4种方式:
灰度发布
手动发布
自动发布
Helm发布
灰度发布(又名金丝雀发布)灰度发布概念
灰度发布是将应用的旧版本A与新版本B同时部署在环境中,业务请求可能会被路由到版本A或者版本B的后端上,您可以自定义灰度发布策略,快速调整版本A和版本B的流量占比。
灰度发布可以再发布新版本应用时:
自定义控制新版本应用流量比重
渐进式完成新版本应用的全量上线
最大限度地控制新版本发布带来的业务风险,降低故障带来的影响
同时支持快速回滚
灰度发布实现灰度发布是可以帮助您渐进式更新Deployment的工具
他能结合路由控制器Ingress Controller实现多版本并存,发布暂停、流量百分比切换、健康检查等功能
极大解放灰度发布过程中的手动操作,全自动化实现线上灰度流量切换
安装灰度发布组件
手动发布
在使用灰度发布的手动发布方式的时候,您需要创建一个Ingress、Service和Deployment结构的应用。
目前灰度发布只支持基于Deployment和Ingress的灰度发布流程。
手动发布流程
创建测试应用 ...
ACP云原生容器工程师 - 安全管理
阿里云容器服务ACK安全体系
阿里云容器服务Kubernetes版安全体系
提供从基础设施到上层用户业务应用全链条安全体系支撑
支持运行时刻的安全策略管理,应用安全配置巡检和运行时刻的安全监控和告警
提升容器安全整体纵深防御能力
主要分为3个层级:运行时安全、可信软件供应链、基础架构安全
基础架构安全
从公有云、专有云、混合云等多角度覆盖
通过集群安全加固、身份验证管理、细粒度安全访问控制、集群日志审计、敏感数据加密等多个环节保障集群基础设施安全稳定高效运行
与ACK/SLS深度绑定,可查询多维度的日志信息,以进行审计
KMS保证敏感数据安全加密
可信软件供应链
安全是企业在应用容器技术时最大的顾虑之一
为了系统化提升容器平台的安全性,就需要全方位进行安全防护
阿里云的做法是:
将DevOps升级为DevSecOps
将安全概念融入整个软件生命周期之中
将安全防护能力转移到开发和交互阶段
安全措施包括:镜像扫描、镜像签名、云原生应用交付链
运行时安全
安全巡检:ACK集群提供了应用运行时刻的安全配置巡检能力,帮您实时了解当前转 ...
ACP云原生容器工程师 - 集群管理
集群升级
可以通过容器服务控制台,可视化升级集群的Kubernetes版本
可以在kuberenetes集群列表页面查看集群的Kubernetes版本,以及当前是否有新的版本可供升级。升级集群的过程包含前置检查、升级Master、升级Node
集群升级策略:
定义了您将使用怎样的策略对集群进行升级
默认策略为分批升级
升级Node阶段对集群内的节点进行分批升级,具体策略为:
第一批升级的节点数为1,后续的批次为2的幂数进行增长。暂停后重新恢复升级的第一批次为1,后续也是以2的幂数进行增长。
每一批节点的最大数量不会超过节点总数的10%
集群升级前置检查在您开始集群升级之后,ACK会为您自动启动集群升级前置检查
该检查会对集群进行多项健康检查,以确保您的集群可以顺利的完成此次升级
如果您的集群存在不合理配置或潜在风险,将无法通过前置检查。
集群可以升级暂停或者升级停止,已完成的节点就升级完毕了,未升级的节点不升级。
管理维护组件步骤
登录容器管理控制台
在控制台左侧导航栏中,单击集群
在集群列表页面,选择目标肌群,并在目标集群右侧操作列下,选择更多- ...
ACP云原生容器工程师 - ACK自动伸缩
概述弹性伸缩是ACK特点功能之一,典型的场景包括:
在线业务弹性
大规模计算训练
定时周期性负载变化等
弹性伸缩分为两个维度:
弹性调度层:主要负责修改负载的调度容量变化,在已有资源条件下进行pod调度
资源弹性层:主要负责扩充资源的方式调度容量的补充,对资源本社进行调度
资源层阶段弹性提供
阿里云Kubernetes集群的一个重要特性,是集群的节点可以动态的增加或减少
有了这个特性,集群才能在计算资源不足的情况下扩充新的节点
同时,也可以在资源利用率降低的时候,释放节点以节省费用
资源层扩缩容可以分为:手动扩缩容、自动扩缩容
资源层弹性插件
Cluster-autoscaler: Kubernetes社区开源组件,节点水平伸缩软件,阿里云提供了独有的调度、弹性优化、成本优化的功能。
Virtual-node: ACK开源插件,提供无服务器运行时环境,开发者无需挂心节点资源,只需针对Pod按量付费即可。
Virtual-kubelet-autoscaler: ACK服务组件,提供无服务弹性伸缩能力
节点自动伸缩节点自动伸缩机制定期检测集群中应用pod ...
hexo博客迁移 from mac to mac
前提前段时间我的MBP15留在家里给老妈做视频播放器了,这段时间重新收了一台Mac mini来使用。由于前一台电脑大部分内容均已备份,剩余的东西也就是此博客,所以我就把它放在iCloud里边,一并同步过来了。
但是我发现这个迁移也会遇到些蛋疼的问题,我们一个一个来说。
问题1. node_modules依赖太多我们都知道,对于hexo来说,它是用nodejs来搭建的,所以会有超多的小文件在node_modules下面。而我遇到的第一个问题则是,iCloud同步小文件时非常、非常、非常慢。
这个问题也好解决,把博客打个包然后拷贝出来就行了。可以直接使用Mac的实用工具进行打包,做完以后是一个zip文件,然后将其拷贝出来即可。
2. node没安装由于我只是备份了文档,应用并未安装,所以需要重新安装nodejs。
这里可以移步官网,自行下载相应版本并进行安装,安装之后在terminal输入node -v进行验证。
3. hexo组件未安装在解压并进入博客目录后,会发现大部分的内容是在的,只是hexo相关组件还未安装。
可以删除掉node_modules文件夹和package-lock.js ...
ACP云原生容器工程师 - 日志与监控
概述阿里云的可观测性体系: 日志管理、监控管理
日志管理Kubernetes可观测性体系概述
可观测性指如何从外部输出推测及衡量体系内部状态
Kubernetes可观测性体系包括:监控和日志,是大型分布式系统的重要基础设施
监控可以帮助开发者插卡系统的运行状态
日志可以协助问题的排查和诊断
在Kubernetes中,监控和日志属于生态的一部分,他并不是核心组件,因此大部分的能力依赖上层的云厂商的适配。
Kubernetes定义了介入的接口标准和规范,任何符合接口的组件都可以快速集成。
Logging-日志
基于阿里云日志服务SLS提供了完整的日志方案,可以对应用日志进行收集、处理,并提供了操作审计,kubernetes事件中心等能力。
Metrics-监控指标
对基础设施服务(比如ECS、存储、网络),云监控提供了全面的监控。
对于业务应用的性能指标,ARMS无需修改业务代码即可对Java和PHP应用提供全方位的性能监控。
Tracing-全链路追踪
Tracing Analysis为开发者提供了完整的分布式应用调用链路统计、拓扑分析等工具。
能够帮助开发者快速发 ...
ACP云原生容器工程师-ACK存储
概述
在Kubernetes里最小的管理单元是Pod
Pod中产生的数据都是临时的,Pod销毁后默认不保存
对于有状态的服务,需要数据持久化
所以Kubernetes给定了一些数据持久化的方案
Kubernetes存储应用场景
服务的基本配置文件读取、密码密钥管理等
服务的存储状态、数据存储等
不同服务或应用程序间共享数据
Kubernetes存储系统核心概念Volumn
Pod可以同时使用任意数目的卷类型
临时卷类型的生命周期与Pod相同,但持久化卷可以比Pod的存活时间长
卷的存在时间会超出Pod中所有容器,且在Pod重启时会重新加载
持久卷(PV)
是集群中管理员集中配置的一块存储
它是集群中的资源,就和节点是集群资源一样,包含存储的类型、大小和访问模式等
PV是卷插件比如Volumes等。但是它的生命周期独立于使用PV的任何Pod个体。比如,Pod销毁时,PV会得以保留。
持久卷声明(PVC)
是用户关于存储的请求
描述对PV的一个请求,请求信息包含PV大小、访问模式等,PVC会消耗PV资源
Kubernetes存储插件
Kubernet ...