您可以通过Terraform部署一个阿里云容器服务的Kubernetes托管版集群,并在该集群上部署一个WordPress应用。
教程介绍
以下步骤及示例均已在 Alibaba Cloud Shell 中集成,您可以在 Cloud Shell 中打开,快速体验通过Terraform来自动创建、编排和管理容器服务,以及完成在容器集群上应用的自动部署。
完成本教程后,您会创建以下资源。其中,容器服务没有任何附加费用,您只需要支付所使用资源(云服务器、 负载均衡等)的费用。
- Worker 实例(ECS)
- 实例规格:ecs.n2.medium
- 实例数量:3
- 系统盘:20G 高效云盘
- 负载均衡
- 实例数量:3
- 付费模式:按量付费
- 弹性公网IP
- 实例数量:1
- 付费模式:使用流量计费
- NAT网关
- 实例数量:1
- 付费模式:按量付费
具体计费信息,参见 ECS计费概述、负载均衡按量计费、弹性公网IP按量计费、NAT网关按量计费。
使用限制
在开始使用本教程之前,确保您已经了解以下限制并满足相关要求:
- 保证您的账户有100元的余额并通过实名认证,否则无法创建按量付费的ECS实例和负载均衡。
- 随集群一同创建的负载均衡实例只支持按量付费的方式。
- Kubernetes集群仅支持专有网络VPC。
- 您的每个账号默认可以创建的云资源有一定的配额,如果超过配额,集群创建失败。如果您需要提高配额,请提交工单申请。
- 每个账号默认最多可以创建100个安全组。
- 每个账号默认最多可以创建60个按量付费的负载均衡实例。
- 每个账号默认最多可以创建20个EIP。
- 在开始之前,确保您已开通了以下云服务:
创建托管版Kubernetes集群
若您已有Kubernetes集群,需要配置集群凭证。您可以登录容器服务控制台,将您的集群凭证复制到~/.kube/config文件中。
完成以下操作,创建Kubernetes集群:
- 执行以下命令定位到用来创建Kubernetes集群的Terraform模板的目录。
cd ~/terraform-kubernetes-wordpress/kubernetes
- 执行init命令加载Alibaba Cloud Providers。
terraform init
- 执行以下命令部署集群。
terraform apply
说明 如果出现ErrManagedKuberneteRoleNotAttach
的错误,请检查所需服务是否开通,以及您的账号是否通过了实名认证同时账户余额大于100元。... Outputs: cluster_id = [ c0f2e04c77e234****** ] ... vswitch_ids = [ vsw-bp1c3hfcd6l8****** ]
Kubernetes的Kube Config文件会存储在~/.kube目录下。您可以登录容器服务控制台查看通过Terraform创建的Kubernetes集群。
您可以通过以下参数自定义您的Kubernetes集群:- worker_instance_type:Worker实例规格
- worker_disk_category:Worker实例系统盘
- worker_disk_size:Worker实例系统盘容量
- ecs_password:Worker实例登录密码
- k8s_worker_number:Worker实例数量
- k8s_name_prefix:集群名称前缀
部署WordPress应用
完成以下操作,将WordPress应用部署到之前创建的Kubernetes托管版集群中。
- 执行以下命令定位到用来部署WordPress应用的Terraform模板的目录。
cd ~/terraform-kubernetes-wordpress/wordpress
- 执行init命令加载kubernetes providers。
terraform init
- 执行以下命令部署应用。其中,需要显式指定MySQL的密码 ,也可以指定需要的WordPress和MySQL的版本。
terraform apply -var 'mysql_password=Test12345'
terraform apply -var 'mysql_version=5.6' -var 'wordpress_version=4.7.3' -var 'mysql_password=Test12345'
说明 如果出现ErrManagedKuberneteRoleNotAttach
的错误,请检查所需服务是否开通,以及您的账号是否通过了实名认证同时账户余额大于100元。... Outputs: slb_ip = 35.197.xx.xx
其中,slb_ip表示应用负载均衡的公网IP。在浏览器中访问该IP地址,可以看到您部署的WordPress应用。
销毁应用
按照以下步骤完成操作,销毁您部署的应用。
- 执行以下命令定位到用来部署WordPress应用的Terraform模板的目录。
cd ~/terraform-kubernetes-wordpress/wordpress
- 执行以下命令销毁您部署的WordPress应用。
terraform destroy -var 'mysql_password=Test12345'
- 执行以下命令定位到用来创建Kubernetes集群的Terraform模板的目录。
cd ~/terraform-kubernetes-wordpress/kubernetes
- 执行以下命令销毁您创建的Kubernetes集群。
terraform destroy