作者:杨良春 2021-12-07 10:04:34
云计算 我们的行业在过去十年中取得了令人难以置信的进步,这在一定程度上要归功于 Docker、Docker Compose 和 Kubernetes 等技术。然而,我们仍在研究如何在我们所处的多样化环境中进行开发。
创新互联公司主营和县网站建设的网络公司,主营网站建设方案,成都App制作,和县h5微信小程序搭建,和县网站营销推广欢迎和县等地区企业咨询
我们的行业在过去十年中取得了令人难以置信的进步,这在一定程度上要归功于 Docker、Docker Compose 和 Kubernetes 等技术。然而,我们仍在研究如何在我们所处的多样化环境中进行开发。
容器化在开发和运维掀起了一场风暴。在过去,部署是高度依赖于特定技术的,通常需要对每个项目进行大量不可重复的工程工作。
你是否部署到 vps?你是否在分发虚拟机镜像?静态可执行文件?需要特定解释器的脚本? 根据你对这些问题的回答,你可能已经使用了 Capistrano、Puppet、shell 脚本、Ansible、deb 或 rpm 包、cloud-init 脚本、专有云技术、upstart、systemd、init 等很多技术。
在部署阶段,系统管理和开发之间的界限就变得模糊了,DevOps 的原则就诞生了。随着 DevOps 开始成熟,业界发展出了应用开发的最佳实践,比如 12 因素应用程序方法论,但许多实现细节仍然是依赖于特定技术的。
回归现象看本质,随着业务复杂度的提高,单体应用越来越庞大,对资源形成挑战剧增:
挑战一、资源利用率低
烟囱系统是指一种由相互关联的元素紧密结合在一起的集合,其中单个元素无法区分、升级或重构。
很多企业的IT系统都是烟囱式,这种模式有很多弊端,如:
挑战二、应用架构扩展性差
单体架构在规模比较小的情况下工作情况良好,随着系统规模的扩大,暴露出来的问题也越来越多,主要有以下几点:
挑战三、开发周期长
庞大代码基线、组件耦合大、责任不清楚,牵一发而动全身。
部署慢、扩容慢:部署过程不可重复、出错率高;不支持自动弹性伸缩。
升级难:固定时间窗、集中大规模人力中断服务升级。
在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。
换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
为了解决传统应用升级缓慢、架构臃肿、不能快速迭代、故障不能快速定位、问题无法快速解决等问题,云原生这一概念横空出世。
云原生可以改进应用开发的效率,改变企业的组织结构,甚至会在文化层面上直接影响一个公司的决策。另外,云原生也很好地解释了云上运行的应用应该具备什么样的架构特性——敏捷、可靠、弹性、可扩展、故障可恢复。
假设你是一家新能源汽车商解决方案架构师,贵公司为全球各地的客户提供汽车跟踪解决方案。我们可以使用容器化的实例来快速部署到新的客户区域,并按需缩放资源来满足客户需求。我们希望使用容器业务流程平台,以便轻松地开发、部署和管理容器化的应用程序。
假设你是一家大型服装品牌零售担任CIO,你决定将所有服务移动到Azure Kubernetes服务中。哪些组件会对每月Azure费用产生影响?只需考虑群集使用的虚拟机实例、存储和网络资源付费。
假设你是一家大型跨国研发制造行业CTO,我们都须知智能制造行业大量调用需要持久化存储。你将使用AKS的哪些功能?对于需要持久性存储的容器,AKS支持静态和动态存储卷。
假设你就职于一家监视道路状况的交通出行公司担任研发架构师,开发人员团队需要与AKS群集中的其他组件进行端到端测试。该团队希望在不复制或模拟依赖关系的情况下进行测试。他们应该选择哪些服务?借助Azure Dev Spaces,无需复制或模拟依赖关系,即可独立开发代码并与其他组件进行端到端测试。
就拿上述新能源汽车商业务场景深入展开详述,假定业务场景解决方案包含三个主要应用程序:
通过横向扩展解决方案满足客户需求。为每个应用程序部署新的虚拟机(VM),然后将应用程序部署到 VM 中。
但这样做的话,必须确保是否已为每个应用程序安装和配置适当的操作系统 (OS) 版本和依赖项。
还必须确保安装和升级的是应用程序的适当版本。如果存在错误,则必须确保你能够以影响最小的方式回滚。
优势:
第一步:创建 AKS 群集
创建 AKS 群集时,有两个选项可供选择。
可以使用 Azure 门户或 Azure CLI。
这两个选项都必须配置有关群集的基本信息。
例如:
除非另行指定,否则创建工作流会使用默认配置创建 Kubernetes 群集,以用于缩放、身份验证、网络和监视。
创建 AKS 群集通常需要几分钟时间。完成后,可以更改任何默认 AKS 群集属性。
可通过 Azure 门户或从命令行访问和管理群集。
第二步:开发工作负载并将其部署到 AKS
AKS 支持 Docker 映像格式,使用任何开发环境来创建工作负载、将工作负载打包为容器以及将容器部署为 Kubernetes Pod。
此处使用标准 Kubernetes 命令行工具或 Azure CLI 来管理部署。
对标准Kubernetes工具的支持可确保你无需更改当前工作流,即可支持将现有Kubernetes迁移到 AKS。
AKS还支持所有常用开发和管理工具,例如Helm、Draft以及适用于Visual Studio Code 的 Kubernetes 扩展和 Visual Studio Kubernetes Tools。
Azure Monitor 是一项用于收集、分析和响应来自云和本地环境的遥测数据的服务。
IT运营、DevOps和开发人员团队使用Azure Monitor来最大限度地提高应用程序和服务的可用性和性能。
Azure Monitor 的主要特性包括:
Azure Monitor 可以从应用程序、基础结构、Azure 平台和集成的任何自定义源收集堆栈中所有层的性能和可用性遥测数据。
监视选项
指标-描述系统某些方面在特定时间点的情况的数值。
日志-收集用于分析的日志数据。
可视化效果-将不同类型的数据合并到Azure 门户的单个窗格中。用于数据分析和在门户中创建丰富的可视化报表。
关于Azure Dev Spaces
价值点:
部署中心:
可以使用配置后的此 DevOps 管道为 AKS Kubernetes 群集设置(CI)和(CD)管道。
利用 Azure DevOps Projects,便可以执行以下操作:
创建群集或进行以下部署后,都可以配置上述所有功能。
文章题目:一站式浅谈AzureKubernetes构建场景应用
文章出自:http://www.stwzsj.com/qtweb/news29/1279.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联