首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

AWS CDK | IaC 何必只用 Yaml

AWS CDK AWS Cloud Development Kit(AWS CDK) 是 AWS 开发的一种开源软件开发框架,可以使用 Python 或 Typescript 之类的编程语言,利用函数快速构建代码框架...支持的语言 AWS CDK 目前支持的语言有: Typescript JavaScript Python Java C# AWS CDK 还提供了十分完善的脚手架工具,以 Python 为例,只需新建目录...:path: HelloCdkStack/MyFirstBucket/Resource CDKMetadata: Type: AWS::CDK::Metadata Properties...deploy 在检查无误后,就可以进行部署了,使用 cdk deploy 命令,就会开始部署 CloudFormation,可以看到实时进度,如果遇到问题,也会进行回滚。...结语 如果你是 AWS 用户,推荐可以尝试使用 AWS CDK,无论是使用体验还是开发速度都十分突出,只需不到 100 行的代码,就可以生成 上千行 CloudFormation 配置,随着基础设施越来越复杂

2K20

基础设施即代码的历史与未来

libapache2-mod-jk state=present - name: Install Java apt: name=default-jdk state=present - name: Create...第二代:声明式,云计算 例子:CloudFormation,Terraform,Azure Resource Manager 2000 年代中期引入的云计算是软件开发历史上的一个里程碑事件。...例如,让我们来看一个与上述 CloudFormation 模板等效的 Cloud Development Kit(CDK) 程序(本例中我将使用 TypeScript ,但任何其他受 CDK 支持的语言看起来都非常相似...(); new LambdaStack(app, 'LambdaStack'); CDK 代码的第一个有趣之处在于它比等效的 CloudFormation 模板要短得多,大约只有 20 行 TypeScript...如果其他项目也可以从中受益,我可以将我的抽象封装成一个库,使用所编写的编程语言,并通过该语言的包管理器(例如 JavaScript/TypeScript 的 npmjs.com 或 Java 的 Maven

25310
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用 AWS CDK Python 从零开始构建 EKS 集群

    如果对这方面没有要求的话推荐使用 MNG。 到这里代码就写好了,只有几十行代码,下面我们就是检查和部署了。...Bootstrap 如果是第一次使用 AWS CDK 需要先执行 cdk bootstrap 命令,这个命令会在 S3 创建一个名为 cdktoolkit-XXX 的 bucket 用来存放 CDK 配置...如果部署中间出现错误, CDK 会自动进行回滚,之前创建和修改的资源都会被恢复原样,可以放心使用。 ?...AWS CDK 的核心引擎其实是使用 Typescript 编写,其他语言的版本都是采用 JSii[2] 通过 TypeScript 转化而来。...如果要深入使用,这里还是推荐使用 Typescript 的版本(其实我已经换成 Typescript 来写了),难度不是很大,值得一试。

    1.9K10

    使用 cdk8s 与 Argo CD 进行 GitOps 实践

    cdk8s 是 AWS Labs 发布的一个使用 TypeScript 编写的新框架,它允许我们使用一些面向对象的编程语言(目前支持 TypeScript 与 Python)来定义 Kubernetes...如果你不熟悉 cdk8s,可以查看前面我们的文章[使用编程语言描述 Kubernetes 应用 - cdk8s] 来了解更多信息。...在 cdk8s-guestbook 目录中通过 cdk8s init python-app 命令进行初始化: $ cdk8s-guestbook [master] cdk8s init python-app...与 Argo CD 集成 不过目前 cdk8s 还不支持 Argo CD 的开箱即用,所以我们还需要将 cdk8s 注册成一个自定义配置管理的插件。...需要注意的是 path 路径为 cdk8s-guestbook,最下面要选择我们上面创建的 cdk8s 这个插件,然后点击 CREATE 按钮,正常会出现如下所示的错误提示信息: ?

    1.4K20

    cdk8s - 使用编程语言定义 Kubernetes 应用

    cdk8s 是 AWS Labs 发布的一个使用 TypeScript 编写的新框架,它允许我们使用一些面向对象的编程语言来定义 Kubernetes 的资源清单,cdk8s 最终也是生成原生的 Kubernetes...使用 目前 cdk8s 支持使用 TypeScript 和 Python 两种编程语言来定义 Kubernetes 应用。这里我们以更熟悉的 Python 为例来说明 cdk8s 的基本使用。...我们可以先在全局中安装 cdk8s CLI,可以使用如下两种方式进行安装: 如果是 Mac 系统,可以直接使用 Homebrew 工具进行安装: $ brew install cdk8s 除此之外也可以使用...npm 工具进行安装(依赖 Node.js): $ npm install -g cdk8s-cli 安装完成后我们就可以使用 cdk8s 命令来创建一个 cdk8s 应用了: $ mkdir hello...&& cd hello # cdk8s init TYPE - TYPE 表示项目类型:python-app 或者 typescript-app $ cdk8s init python-app

    1.2K30

    Python 和 CDK的aws-route53那些事

    CDK介绍 1.什么是CDK? CDK,与使用 YAML(或 JSON)的声明式方法相比,CDK 允许您命令式声明基础设施。主要语言为 TypeScript,同时也支持另外几种语言。...如果选择使用 Route 53 来执行所有这三种功能: 1)域名注册 2)将 Internet 流量路由到您的域的资源 3)检查资源的运行状况 如何使用route53 1.安装route53 ## 方法一...(self, "TXTRecord", zone=my_zone, record_name="_foo", # 如果名称以“.”结尾,则按原样使用; # 如果它以“.”...# 如果未指定,则默认为区域根目录。 ## 值 values=["Bar!", "Baz?"]...4.将记录添加到现有托管区域 如果知道托管区域的ID和名称,可以直接导入 zone = HostedZone.from_hosted_zone_attributes(self, "MyZone",

    96530

    基础设施设施即代码(IaC)平台 Pulumi | 混合云管理利器

    前言 在之前的文章中,笔者介绍过 AWS CDK ,其是 AWS 开源的一款开发框架,使用常用的编程语言(如 TypeScript、Python 等),利用函数快速构建代码框架来配置、更新和管理云资源...而 Pulumi 可以以同样的方式在其他公有云上完成与 AWS CDK 类似的工作。 介绍 Pulumi 是一个现代的基础设施设施即代码(IaC)平台。...它利用现有的编程语言(TypeScript、JavaScript、Python、Go 和 .NET)及其原生生态系统通过 Pulumi SDK与云资源进行交互。...究其本质,就如 AWS CDK 是构建在 AWS CloudFormation 基础之上;Pulumi 的大部分能力则是构建在 Terraform 工具基础上的,其依托 Terraform 上丰富的 Provider...如果堆栈创建失败,则会进行回滚,之前创建的资源也会被销毁,这样就避免了大量无聊的,由于失误造成重复劳动和危害;同样的,如果删除堆栈,则可以一次性释放堆栈中的全部资源,大大提升了清理的准确性和效率。

    2.1K20

    蜂窝架构:一种云端高可用性架构

    图 6:用于单元注册表的 TypeScript 模型 在 Momento,我们使用 TypeScript 构建单元注册表。...单元注册表的最后一个组件是一个小型的 TypeScript 库,它知道如何从 S3 检索这些数据,并将其转换成 TypeScript 对象。...下面是这类工具的一些示例: AWS CDK(云开发工具包)——用于部署 CloudFormation 基础设施; AWS cdk8s——用于部署 Kubernetes 基础设施; CDKTF(Terraform...图 11:CloudFormation JSON 与 CDK TypeScript 使用编程语言,比如 TypeScript,来表达基础设施的另一个好处是,我们可以将 npm 库作为依赖项。...在 Momento,我们为可能需要添加到 AWS CodePipeline 中的每种类型的阶段编写了一些 TypeScript CDK 代码(例如,构建项目、推送 Docker 镜像、部署 CloudFormation

    20910

    如何通过CM升级CDK至3.1.0(Kafka-1.0.1)

    ) CDK3.1.0(社区版kafka1.0.1) 2.升级前创建一个测试的Topic,并向topic中生产数据及消费 创建topic-upgrade Topic kafka-topics --create...此时如果能看到Kafka3.0为可以“下载”状态,已有的Kafka2.2.0为可以“停用”状态,则表示配置Parcel库成功。注意此时Kafka2.2依旧为使用状态。 ?...2.激活Kafka3.1.0,点击“激活”时选择重启Kafka服务,如果未选择重启则需要在激活成功后重启Kafka服务 ? 激活成功 ?...2.创建一个mytopic的topic [root@cdh02 ~]# kafka-topics --create --zookeeper cdh01.fayson.com:2181 --replication-factor...7.总结 ---- 从CDK2.2.0(社区版0.10.2)升级至CDK3.1.0(社区版1.0.1)未出现Topic丢失或数据丢失问题。

    1.7K40

    告别配置复杂性:领域特定语言(DSL)能帮你吗?

    足够相似,与 Python 和 Typescript 等通用语言相比更容易上手。...resource "kubernetes_deployment" "deployment" { metadata { name = var.deployment_name...无论如何,没有任何配置语言能够比使用 cdk8s 或 Pulumi 等通用语言的工具更强大。配置语言在 JSON 和 YAML 等数据格式与通用语言之间是一种折衷方案。...如果您知道任何此类研究,请告诉我! 此外,虽然这些语言周围的生态系统有时优于模板语言(Pkl 更强调其集成而不是特定语言特性),但它们实际上无法与通用语言相比。...如果您觉得这篇文章有趣,您可能还会对我的基础设施即代码和声明式配置系列中的其他文章感兴趣。

    9810
    领券