草庐IT

《Terraform 101 从入门到实践》 Terraform在公有云GCP上的应用

《Terraform101从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看。Terraform支持的公有云有很多,如AWS、Azure、Google、Alibaba等。将Terraform应用于公有云,才最能发挥其强大的功能。初始化GCP项目创建一个新项目首先我们需要初始化一个GCP项目。GCP给开发者提供了免费试用的服务,我们可以在不花钱的情况下学习GCP的功能。要使用GCP,我们需要创建一个项目,它所有的资源都是在项目之下管理的:创建ServiceAccount在实际开发中,我们不能使用自己的账号在做操作,最好的

《Terraform 101 从入门到实践》 Terraform在公有云GCP上的应用

《Terraform101从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看。Terraform支持的公有云有很多,如AWS、Azure、Google、Alibaba等。将Terraform应用于公有云,才最能发挥其强大的功能。初始化GCP项目创建一个新项目首先我们需要初始化一个GCP项目。GCP给开发者提供了免费试用的服务,我们可以在不花钱的情况下学习GCP的功能。要使用GCP,我们需要创建一个项目,它所有的资源都是在项目之下管理的:创建ServiceAccount在实际开发中,我们不能使用自己的账号在做操作,最好的

《Terraform 101 从入门到实践》 第三章 Modules模块化

《Terraform101从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看。模块的概念模块化是Terraform实现代码重用的方式。模块可以理解为一个包含多个资源的容器模板。封装好之后,可以给大家使用。也可以理解为代码中的函数或方法,它接收入参,经过一些声明式的调用后,输出一些结果变量。从Terraform的代码层面来看,模块其实就是一个包含多个.tf或.tf.json文件的目录。任何一个Terraform项目,都是一个目录,所以也都是一个模块,我们把它称为根模块(RootModule)。而在它目录下的其它模块,都是

《Terraform 101 从入门到实践》 第三章 Modules模块化

《Terraform101从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看。模块的概念模块化是Terraform实现代码重用的方式。模块可以理解为一个包含多个资源的容器模板。封装好之后,可以给大家使用。也可以理解为代码中的函数或方法,它接收入参,经过一些声明式的调用后,输出一些结果变量。从Terraform的代码层面来看,模块其实就是一个包含多个.tf或.tf.json文件的目录。任何一个Terraform项目,都是一个目录,所以也都是一个模块,我们把它称为根模块(RootModule)。而在它目录下的其它模块,都是

《Terraform 101 从入门到实践》 第四章 States状态管理

《Terraform101从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看。军书十二卷,卷卷有爷名。为什么需要状态管理Terraform的主要作用是管理云平台上的资源,通过声明式的HCL配置来映射资源,如果云平台上没有资源则需要创建,如果有则不用。那Terraform要实现这个功能有多种方式。一种是每次执行apply命令时都调用API接口检查一下远程的云资源是否与配置文件一致,如果没有则创建,如果有但不同则需要修改,如果有且相同则不用变更。这种机制能保证云平台的资源与HCL配置是一致的。缺点也是非常明显的,每次都需要

《Terraform 101 从入门到实践》 第四章 States状态管理

《Terraform101从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看。军书十二卷,卷卷有爷名。为什么需要状态管理Terraform的主要作用是管理云平台上的资源,通过声明式的HCL配置来映射资源,如果云平台上没有资源则需要创建,如果有则不用。那Terraform要实现这个功能有多种方式。一种是每次执行apply命令时都调用API接口检查一下远程的云资源是否与配置文件一致,如果没有则创建,如果有但不同则需要修改,如果有且相同则不用变更。这种机制能保证云平台的资源与HCL配置是一致的。缺点也是非常明显的,每次都需要

《Terraform 101 从入门到实践》 第五章 HCL语法

《Terraform101从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看。介绍了Terraform一些比较基础的概念后,我们可以先了解一下Terraform的语法,也就是HCL的语法。变量Variables变量是实现代码复用的一种方式,同样的代码不同的变量往往会有不同的效果。而在Terraform里,有一个概念非常重要,就是变量都是从属于模块的。变量无法跨模块引用。即在模块A定义的变量X,无法在模块B中直接引用。但父模块的变量,可以作为子模块的入参;而子模块的输出变量可以被父模块获取。变量类型从语言角度跟任何编程语

《Terraform 101 从入门到实践》 第五章 HCL语法

《Terraform101从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看。介绍了Terraform一些比较基础的概念后,我们可以先了解一下Terraform的语法,也就是HCL的语法。变量Variables变量是实现代码复用的一种方式,同样的代码不同的变量往往会有不同的效果。而在Terraform里,有一个概念非常重要,就是变量都是从属于模块的。变量无法跨模块引用。即在模块A定义的变量X,无法在模块B中直接引用。但父模块的变量,可以作为子模块的入参;而子模块的输出变量可以被父模块获取。变量类型从语言角度跟任何编程语

【刷题笔记】之牛客面试必刷TOP101(1)

目录1.反转链表(双链表头插法/栈)2.链表内指定区间反转3.链表中的节点每k个一组翻转4.合并两个排序的链表5.合并k个已排序的链表 链接:牛客面试必刷TOP1011.反转链表(双链表头插法/栈)题目链接 反转链表_牛客题霸_牛客网(nowcoder.com)题目要求题目分析(新建链表头插法)publicclassSolution{publicListNodeReverseList(ListNodehead){ListNodenewHead=null;while(head!=null){ListNodetmp=head.next;//使用头插法head.next=newHead;newHea

【刷题笔记】之牛客面试必刷TOP101(1)

目录1.反转链表(双链表头插法/栈)2.链表内指定区间反转3.链表中的节点每k个一组翻转4.合并两个排序的链表5.合并k个已排序的链表 链接:牛客面试必刷TOP1011.反转链表(双链表头插法/栈)题目链接 反转链表_牛客题霸_牛客网(nowcoder.com)题目要求题目分析(新建链表头插法)publicclassSolution{publicListNodeReverseList(ListNodehead){ListNodenewHead=null;while(head!=null){ListNodetmp=head.next;//使用头插法head.next=newHead;newHea