Docker容器启动时初始化Mysql数据库
1. 前言 Docker在开发中使用的越来越多了,最近搞了一个Spring Boot应用,为了方便部署将Mysql也放在Docker中运行。那么怎么初始化 SQL脚本以及数据呢? 我这里有两个传统方案。 第一种方案是在容器启动后手动导入,太low了不行。第二种在Spring Boot客户端连接Mysql容器时初始化数据库,你可以参考使用flyway进行数据库版本控制一文,但是这依赖客户端的能力。能不能做到Mysql容器启动时就自己初始化数据库呢?当然可以!今天就来演示一下。全部代码见文末。
[10.14 Workshop] 容器 DevSecOps 实践
DevOps的价值已经在软件开发企业间形成了共识,尤其在云原生时代,容器化架构与 DevOps 结合在一起,极大提升了企业研发效率。然而在快速迭代的背后,如果没有一个可信的软件供应链,很可能将安全风险引入生产环境,造成巨大的损失。本文将基于 ACR EE 的云原生应用交付链实践,介绍如何将安全内置在 DevOps 的流程,将流水线升级为 DevSecOps ,保障端到端的容器业务安全。
容器技术基础(3)| 学习笔记
快速学习容器技术基础,课程将从容器技术基础开始,阐述容器技术是如何基于 linux 内核当中的 Namespace、Cgroups 等技术得以实现及Docker 容器的发展背景和基础知识,并对容器运行时、OCI、CRI和 Kubernetes 之间的关系展产生新的认知。
别催更啦!手淘全链路性能优化下篇--容器极速之路
历时1年,上百万行代码!首次揭秘手淘全链路性能优化(上)我们重点介绍了手淘在性能优化中的一些实践和思路,主要集中在原生的代码的优化,这次,我们将继续分享在手淘容器化页面如 H5 及 Weex 相关的优化实践。
容器场景下云原生可观测性最佳实践
针对部署在阿里云容器服务Kubernetes的微服务应用,一键式接入覆盖用户体验层、应用层、基础组件层的云原生可观测方案,构建全面的可观测技术体系,帮助客户更好的梳理系统架构,更深入的掌握系统运行状态。在故障以及系统瓶颈场景下,对于客户排查问题效率的提升。
应用容器引擎——Docker
在计算机技术日新月异的今天, Docker 在国内发展的如火如荼。特别是在一线互联网公司 Docker 的使用是十分普遍的,甚至成为了一些企业面试的加分项,不信的话看看下面这张图。
云原生时代下,容器服务如何发展与落地 | 开发者社区精选文章合集(十七)
云原生的火热带来了企业基础设施和应用架构等技术层面的革新。大势所趋下,越来越多的企业选择拥抱云原生。但是云原生时代下,企业又将面临哪些容器安全新挑战,又该如何解决呢?
借助阿里云ECS实现传统.NET应用容器化(下)
上一篇我们自己通过编写Dockerfile来编译部署一个ASP.NET MVC应用程序到阿里云ECS中的Windows Container,这一篇我们来试着将.NET 4.x的镜像推送到Harbor私有镜像仓库 和 阿里云容器镜像仓库。
借助阿里云ECS实现传统.NET应用容器化(中)
上一篇我们基于阿里云ECS(Windwos Server 2019 with Container镜像版本)初步跑了一个ASP.NET WebForm应用程序。本篇我们来自己编译部署一个ASP.NET MVC应用程序到阿里云ECS中的Windows Container。
借助阿里云ECS实现传统.NET应用容器化(上)
我们都知道.NET Core应用可以跑在Docker上,那.NET Framework 4.x应用呢?借助阿里云ECS主机(Windows Server 2019 with Container版本),一切变得So Easy!
Fluid给数据弹性一双隐形的翅膀 (2) -- 定时弹性伸缩
Fluid提供了数据缓存的弹性伸缩能力, 甚至可将缓存能力缩减为0。而且动态调整缓存容量变得非常简单,只需要Runtime的就可以完成数据缓存的扩缩容。与开源社区的kubernetes-cronhpa-controller可以很好的解决拥有周期性资源画像的负载弹性问题,平衡资源的使用效率和避免弹性的滞后问题。
Flagger on ASM——基于Mixerless Telemetry实现渐进式灰度发布系列 3 渐进式灰度发布
作为CNCF[成员](https://landscape.cncf.io/card-mode?category=continuous-integration-delivery&grouping=category&selected=weave-flagger),[Weave Flagger](flagger.app)提供了持续集成和持续交付的各项能力。Flagger将渐进式发布总结为3类: - **灰度发布/金丝雀发布(Canary)**:用于渐进式切流到灰度版本(progressive traffic shifting) - **A/B测试(A/B Testing)**:用于根据请求信息将
Flagger on ASM——基于Mixerless Telemetry实现渐进式灰度发布系列 2 应用级扩缩容
应用级扩缩容是相对于运维级而言的。像监控CPU/内存的利用率就属于应用无关的纯运维指标,针对这种指标进行扩缩容的HPA配置就是运维级扩缩容。而像请求数量、请求延迟、P99分布等指标就属于应用相关的,或者叫业务感知的监控指标。 本篇将介绍3种应用级监控指标在HPA中的配置,以实现应用级自动扩缩容。
在阿里云容器K8S服务中使用PV为pod来Mount Volumes
容器服务可以自动将Kubernetes pods绑定到阿里云磁盘、NAS、OSS上。 下面进行OSS创建PV、PVC等操作。
云原生时代下,容器安全的“四个挑战”和“两个关键”
安全是企业上云的首要关切。随着云原生对计算基础设施和企业应用架构的重定义,容器作为云的新界面,也将紧跟云原生的发展大潮,向更加安全、可信的方向发展。
通过Kubernetes安全高效管理边缘节点,ACK@Edge年度重磅发布
拓展Kubernetes边界,ACK@Edge新增边缘节点安全互联与精细化管控。业内首发,ACK@Edge支持高质量加密网络与精细化管理。
云原生事件驱动弹性转码方案解析
弹性伸缩组件是架构师在Kubernetes中设计可伸缩架构的重要依托,传统的容器水平伸缩(HPA)是基于指标类型的,具有概念模型简洁,使用简单等特点。但是这种基于阈值的弹性伸缩方式,在面对秒级的弹性时延要求时,就显得力不心。本文会结合一个事件驱动转码业务来给大家介绍下ACK在事件驱动弹性场景下的解决方案。
使用 CoreDNS sidecar 来优化 Kubernetes Pod dns 性能
介绍一种给业务 Pod 添加 dns cache sidecar 来增强 dns 性能的方法。
如何对ACK在Terway网络下给pod指定网段加白
通常我们需要在一些类似数据库之类的服务设置白名单,以此来给服务提供更安全的访问控制能力,在容器网络下该场景同样有这个需求,那么我们在容器场景下,如何给动态变化的podip设置白名单呢?
阿里云助力图森未来提升性能、加速模型迭代
理论上来说,GPU卡越多,整体算力越大,但是随着机器数的增加,不同机器的GPU之间的配合难度会越来越大,单张GPU卡的利用率反而会下降。所以增加了几十倍的卡的成本,但是性能却很难随之线性增长。 于是,阿里云的飞天AI加速器AIACC团队,针对图森未来的场景,在底层针对通讯、计算、时延和带宽等做了深度优化,将训练性能提升了将近60%,大大缩短了图森未来的模型优化时间,加速模型迭代,提高技术门槛。
从应用开发角度认识 K8S
作者个人介绍 刘晨 Lorraine 坐标Fintech,精通持续集成与发布,曾具有全平台100+应用持续部署持续发布实战经验,现在立志于成为K8S玩家。
我对云原生软件架构的观察与思考
云原生应用架构的目标是构建松耦合、具备弹性、韧性的分布式应用软件架构,可以更好地应对业务需求的变化和发展,保障系统稳定性。本文将分享我在这个领域的观察和思考。
服务网格 ASM +容器服务 ACK 助力画雕科技构建 IoT 服务管理能力
将服务网格组件和集群拆分开,对服务网格组件进行升级不会影响到集群, 解耦网格实例和Kubernetes集群的生命周期管理;通过服务网格多入口网关, 轻松自定义实现,一个CRD就搞定了,而且可以将K8s集群利用率变得更高!
SpringCloud 应用在 Kubernetes 上的最佳实践 — 高可用(容量评估)
本篇是《SpringCloud 应用在 Kubernetes 上的最佳实践 》系列内容的第十一篇。
玩转容器持久化存储第六讲 | 实践:持续集成交付容器环境最佳实践
玩转容器持久化存储第六讲 | 实践:持续集成交付容器环境最佳实践。介绍如何在1小时内,通过阿里云容器 ACK 服务和文件存储 NAS 服务搭建一个简单弹性的持续集成交付容器环境。在所有操作后,您将获得一个基于 ACK 的完整的 gitlab 和 jenkins 平台,jenkins 环境的 worker 节点可以弹性按需生成。另外我们还基于 gitlab 和 jenkins 实现一个完整 K8S 网站应用的 pipeline,包含日常、预发、线上三个阶段,jenkins 的 workspace 基于NAS,持久存储 maven 库和 pipeline 代码,实现增量的构建,加速极速集成交付的过
玩转容器持久化存储第七讲 | 实践:Windows 容器环境最佳实践
玩转容器持久化存储第七讲 | 实践:Windows 容器环境最佳实践。操作演示 Windows 容器环境最佳实践,Windows 操作系统也可以使用容器进行快速部署和扩容缩容。NAS SMB 支持 ACK Windows 容器进行持久化共享存储,完美承载Windows 生态各类型容器应用。
玩转容器持久化存储第三讲 | 上手:手把手学会存储卷挂载
玩转容器持久化存储第三讲 | 上手:手把手学会存储卷挂载。手把手学会存储卷挂载,学习如何快速搭建一个可弹性扩展、高可用、高性能的服务,演示使用容器服务 ACK +文件存储 NAS 快速搭建 NGINX 网站。
玩转容器持久化存储第二讲 | 解惑:容器持久化存储的挑战和关键技术解析
玩转容器持久化存储第二讲 | 解惑:容器持久化存储的挑战和关键技术解析。介绍容器应用的特点和挑战,深入解析使用文件存储实现灵活敏捷、极致弹性、高性能、低成本、安全可靠的容器持久化存储的关键技术。
再次升级-Kubernetes Ingress监控进入智能时代
Ingress日志记录了Kubernetes集群所有的外部请求信息,是进行集群服务质量监控的最佳方式。目前Ingress日志分析与监控的方案已经发布2年左右,已经有上万的实例使用了该方案。为了适应新时代的DevOps节奏,我们对方案进行整体的升级,提供更加简单、更快速、更普惠、更智能的Ingress日志监控方案
服务网格GRPC协议多种编程语言实践-序言
服务网格(ServiceMesh)最有吸引力的地方是什么呢?可以通过简单的配置即时实现流量管理(包括路由、灰度、切流等功能)。然而,由于缺乏足够的文档和实践分享,导致很多同学很快就从入门到放弃了。为此,我花了3段时间准备这个系列,分别对多种编程语言的GRPC服务开发、容器化、网格化进行了实践和梳理,旨在普及基于GRPC协议ServiceMesh实践的基础知识,以指南的形式让走近服务网格的同学能一葫芦画瓢先跑起来,然后再根据自身业务进行升华,从而降低学习和使用的门槛。
阿里云EDAS 3.0,助力佐朋数科轻松驾驭容器快速上云
阿里云的EDAS 3.0是一站式企业级分布式应用服务, 接入即可获得应用生命周期的管理能力,支持各种发布方式,可以利应用的监控来快速定位分析,支持主流微服务框架以及服务治理,支持细粒度的隔离管理。
非容器应用与K8s工作负载的服务网格化实践-6 基于ASM的VM应用动态落迁实践
在完成了POD和VM之间互访验证后,本篇将进入VM中,重点关注两个常用的流量管理能力: - 应用通过标签进行分组 - 每个分组的多个副本可以动态落组和迁出
非容器应用与K8s工作负载的服务网格化实践-4 基于ASM的POD和VM互访实践-GRPC协议篇
为了实现高可用,非容器应用通常有一套服务注册和发现的机制。相对而言,kubernetes容器服务为POD提供了统一的基于dns的注册和发现机制。对于http协议的非容器应用的迁移,因为都是基于dns机制,切换成本交底。而对于使用非http协议的非容器应用,服务注册和发现这个技术点为迁移带来了额外的困难。 如何从非容器的注册和发现大脑最终迁移到kubernetes的注册和发现大脑,目前尚没有广泛认可的方案。目前常见的讨论是双脑方案,就是让非容器应用在启动时同时向两套大脑注册,并从两套中发现依赖服务,然后逐步实现向kubernetes大脑过度。这套方案的优点是可以通过随时摆动来保证可用性。