Terraform Aliyun 创建ecs, kubernetes 实例
Terraform Aliyun 创建ecs, kubernetes 实例
terraform demo for aliyun
创建vpc, 网关, EIP, ecs, kubernetes, Serverless Kubernetes
env :
Terraform v0.12.28
provider.alicloud v1.92.0By Elvin ,2020-8-23, http://blog.elvin.vip
git source https://gitee.com/alivv/terraform-aliyun.git
#环境准备
#aliyun cli
#下载和安装 download and install
wget https://aliyuncli.alicdn.com/aliyun-cli-linux-latest-amd64.tgz
tar -zxf aliyun-cli-linux-latest-amd64.tgz -C /usr/local/bin/
#配置认证 config AccessKey,SecretKey,Region
aliyun configure --profile default
#list config 列出配置
aliyun configure list --profile default
# --profile 配置名,用于管理多配置,默认名称default
阿里云帮助文档 aliyun help doc
https://help.aliyun.com/document_detail/121541.html
https://help.aliyun.com/document_detail/121198.html
#terraform
#download and install
wget http://files.elvin.vip/cli/terraform_0.12.28_linux_amd64.zip
unzip -oq terraform_0.12.28_linux_amd64.zip -d /usr/local/bin/
#provider-alicloud
wget http://files.elvin.vip/cli/terraform-provider-alicloud_1.92.0_linux_amd64.zip
mkdir -p ~/.terraform.d/plugins
unzip -oq terraform-provider-alicloud_1.92.0_linux_amd64.zip -d ~/.terraform.d/plugins/
#provider资源下载保存到terraform相同目录,或~/.terraform.d/plugins/
#避免terraform init初始化时每个目录自动下载provider而耗时 !!!
官网 download url
https://releases.hashicorp.com/terraform/
https://releases.hashicorp.com/terraform-provider-alicloud/
#clone demo source
git clone https://gitee.com/alivv/terraform-aliyun.git /opt/
#创建OSS
cd /opt/terraform-aliyun/modules/oss/
#初始化
terraform init
#执行计划
terraform plan
#创建资源(等待输入yes)
terraform apply
#创建oss资源 实例
resource "alicloud_oss_bucket" "terraform-elvin" {
bucket = "terraform-elvin"
#bucket名称已存在会创建失败
acl = "private"
tags = {
"Terraform" = "true"
}
versioning {
status = "Enabled"
}
}
#使用oss存储Terraform Backend状态文件(不配置默认本地)
#后面实例需要修改backend.tf文件bucket对应名称
#创建VPC, vswitch, EIP, nat gateway, security_group
#网络参考于xxx生产环境简化版, 三个网段demo, prod, k8s, 六个可用区a,b,c,d,e,f
#内部服务实例不绑定公网IP,网络出口使用NAT网关
# 实例 -> vswitch -> nat gateway -> EIP(snat) -> Internet
cd /opt/terraform-aliyun/modules/network
terraform init
terraform plan
terraform apply
#销毁
#terraform destroy
#注意, 不要反复创建网络资源
#aliyun nat网关最低按12元/天,其它按小时
#创建一个ECS实例作为跳板机
#使用已有网络创建bastion(VM),并绑定EIP,作为跳板机
cd /opt/terraform-aliyun/bastion
terraform init
#根据workspace使用demo网段
terraform workspace new demo
terraform workspace select demo
terraform workspace list
terraform apply
#创建Aliyun Serverless Kubernetes
#Serverless集群不创建k8s master和node节点,按POD资源收费,和适合测试或运行小应用
cd /opt/terraform-aliyun/k8s-serverless
terraform init
terraform plan
terraform apply
#创建完成后,查看web控制台.kube/config配置,在bastion使用(没配置公网IP, 使用内网IP访问)
#创建Aliyun Kubernetes 托管版
#aliyun Kubernetes 托管版,只有work节点, master节点使用托管(共享资源,资源隔离)
cd /opt/terraform-aliyun/k8s-node
#根据需要更改实例规格和节点数量
terraform init
terraform apply
#创建Aliyun Kubernetes 标准版
#配置实例为3个master节点, 2个work节点
cd /opt/terraform-aliyun/kubernetes-cluster
terraform init
terraform plan
#master节点创建成功, work节点失败,多次创建失败 ...
更多详情,查看git仓库 https://gitee.com/alivv/terraform-aliyun.git
#创建pvc的outpouts
Terraform Aliyun 创建ecs, kubernetes 实例的更多相关文章
- 工厂模式,根据ID创建对应的实例类
工厂模式,根据ID创建对应的实例类 // // main.cpp // TestCPP1 // // Created by bianchx on 15/4/27. // Copyright (c) 2 ...
- C# 利用反射根据类名创建类的实例对象
“反射”其实就是利用程序集的元数据信息. 反射可以有很多方法,编写程序时请先导入 System.Reflection 命名空间. 1.假设你要反射一个 DLL 中的类,并且没有引用它(即未知的类型): ...
- 内部类访问外部类的变量必须是final吗,java静态方法中不能引用非静态变量,静态方法中不能创建内部类的实例
内部类访问外部类的变量必须是final吗? 如下: package com.java.concurrent; class A { int i = 3; public void shout() { cl ...
- C# WinForm 单例模式(例:同一个窗体只创建一次实例)
//C# WinForm 单例模式(例:同一个窗体只创建一次实例) //打开窗体的事件: Form3 f = Form3.InstanceObject() ; //实例化窗体 f.Focus(); / ...
- Asp.Net MVC是否针对每次请求都重新创建一个控制器实例
一.Asp.Net MVC是否针对每次请求都重新创建一个控制器实例 默认情况下,答案是确定的. ControllerBuilder类 ControllerBuilder.Current用户获取默认的控 ...
- 于快速创建 IEqualityComparer<T> 实例的类 Equality<T>
于快速创建 IEqualityComparer<T> 实例的类 Equality<T> 原文中的 Equality<T> 实现如下: 1 2 3 4 5 6 7 8 ...
- Java JVM 请别拿“String s=new String("z");创建了多少实例”来面试 [ 转载 ]
Java 请别再拿“String s = new String("xyz");创建了多少个String实例”来面试了吧 [ 转载 ] @author RednaxelaFX 原文链 ...
- 老李分享:Robotium创建Note的实例
老李分享:Robotium创建Note的实例 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq ...
- C#如何根据类的名词创建类的实例
这个大概分为两种情况:1-在同一程序集访问该类:2-在不同的程序集访问 A:同一程序集,使用微软的创建对象的类:System.Activator: 先通过类名,获取到类型,在使用用于创建本地或远程对象 ...
- Terraform:创建 Azure 虚机
笔者在前文<Terraform 简介>中简单介绍了 Terraform 相关的概念,本文让我们使用 Terraform 在 Azure 上创建一个虚机,以此来直观体验一下 Terrafor ...
随机推荐
- 一款基于Uniapp开发的开源低代码平台
rtvue-lowcode低代码开发平台 rtvue-lowcode一款基于uniapp框架和uview组件库的低代码开发平台,项目提供可视化拖拽编辑器,采用MIT开源协议,适用于app.小程序等项目 ...
- Android Qcom USB Driver学习(十一)
基于TI的Firmware Update固件升级的流程分析usb appliction layers的数据 USB Protocol Package ①/② map to check password ...
- 47.vue-router的钩子函数
钩子函数就是路由导航守卫 : 有 7 个守卫,分为 3 类 : 全局守卫:在全部的组件生效: beforeEach 全局前置守卫 afterEach 全局后置守卫 解析守卫 组件守卫:在某个组件生效 ...
- 03 什么是预训练(Transformer 前奏)
博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https:// ...
- 鲲鹏(ARM64)+麒麟(Kylin v10)离线部署 KubeSphere
作者:社区用户-天行1st 本文将详细介绍,如何基于鲲鹏 CPU(ARM64) 和操作系统 Kylin V10 SP2/SP3,利用 KubeKey 制作 KubeSphere 和 Kubernete ...
- python接口自动化框架-case依赖与SQL依赖以及SQL断言实现
框架目录: 整体思路: 采用excle数据驱动维护用例,数据依赖:两种实现方法case依赖与sql依赖,优先使用case依赖, 最终运行的用例是: 维护用例在datacase目录下: 涉及到用例信息新 ...
- SSIS连接Oracle问题汇总
一.未安装Oracle客户端 错误提示:Test connection failed because of an error in initializing provider. 未找到 Oracle ...
- CF2023C C+K+S 题解
题面 给您两个强联通的 \(^{\dagger}\) 有向图,每个图都有精确的 \(n\) 个顶点,但可能有不同数量的边.仔细观察后,您发现了一个重要特征--这些图中任何一个环的长度都能被 \(k\) ...
- AI 实战篇:Spring-AI再更新!细细讲下Advisors
在2024年10月8日,Spring AI再次进行了更新,尽管当前版本仍为非稳定版本(1.0.0-M3),但博主将持续关注这些动态,并从流行的智能体视角深入解析其技术底层.目前,Spring AI仍处 ...
- 做AI运动小程序有哪些解决方案,如何进行选型?
引言:随着深度学习技术的发展进步,已经不再依赖强大的GPU算力,便可实现AI推理了,让AI技术渗透到了电脑.手机.智能设备等各类设备.体育.健身行业也不例外,阿里体育等IT大厂,推出的乐动力.天天跳绳 ...