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 ...
随机推荐
- Nacos 开启鉴权设置
Nacos 开启鉴权设置 # 开启鉴权 nacos.core.auth.enabled=true nacos.core.auth.system.type=nacos # 开启鉴权之后,你可以自定义用于 ...
- 腾讯自研Git客户端,助力每个人都可以轻松使用Git
工具介绍 UGit是一款腾讯自研的Git客户端,为了让每个人都可以轻松使用Git,从而提高开发效率和团队协作的流畅性.支持工蜂MR/CR,工蜂议题管理,另外对于Git的原生特性有着深度支持. 支持的系 ...
- UsbHostManager解析
UsbHostManager和UsbDeviceManager的区别在于,UsbDeviceManager是将手机作为一个设备,比如手机连上电脑,使用adb.mtp等:而UsbHostManager, ...
- USB协议详解第3讲(USB描述符-设备描述符)
我们第一个学习要点就是USB描述符,所谓描述符其实就是C语言里面的结构体或者数组,数组包含的信息说明当前的设备具有哪些特征.USB描述符有设备描述符.配置描述符.接口描述符.端点描述符.字符串描述符, ...
- .NetCore 目录浏览 和 静态文件
1. 静态文件 包:microsoft.aspdotnet.staticfiles app.UseStaticFiles() 会默认找到 wwwroot文件夹 // 匹配到指定条件然后执行中间件 ...
- 云原生周刊:Istio 1.20.0 发布 | 2023.11.20
开源项目推荐 DevPod DevPod 是一款纯客户端工具,可在任何后端基于 devcontainer.json 创建可重现的开发人员环境.每个开发者环境都在一个容器中运行,并通过 devconta ...
- 什么是WEB3.0
WEB1.0 90年代末期创建的搜狐,新浪等门户网站的特点是向用户推送信息,门户网站显示什么我们看什么,这个时代称为web1.0.WEB2.0随着技术的发展,用户可以在网上进行互动,可以在网站上发表个 ...
- redis哨兵模式下主从切换后,php实现自动切换
redis的哨兵模式,在主服务器挂掉后,会通过选举将对应的从服务器切换为主服务器,以此来达到服务的高可用性. 在业务层面如果主从做了切换可能相对应的服务器IP地址会发生改变,这样会带来程序的的正常运行 ...
- docker新建自定义网桥,实现不同主机容器互联
不同主机间的容器网络互联,网络上的所有教程都是通过open vswitch等虚拟网桥方式实现的,但是最近本人发现可以直接通过配置网桥实现网络的互联,而不用安装配置open vswitch.在这里分享一 ...
- ABP —— 权限管理
ABP入门系列目录--学习Abp框架之实操演练 源码路径:Github-LearningMpaAbp 完成了简单的增删改查和分页功能,是不是觉得少了点什么?是的,少了权限管理.既然涉及到了权限,那我们 ...