上云无忧 > 文档中心 > 腾讯云容器服务 TKE 标准集群 Ingress 管理 - 通过 Terraform 安装 Nginx 插件和实例
容器服务 TKE
腾讯云容器服务 TKE 标准集群 Ingress 管理 - 通过 Terraform 安装 Nginx 插件和实例

文档简介:
前言: 本文示例使用的环境信息如下: TKE 集群 Kubernetes 版本:v1.22.5 安装 Nginx 插件版本:v1.2.0 安装 Nginx 实例版本:v1.1.3 步骤1:安装 Terraform。 您可以通过以下命令下载并安装 Terraform:
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

前言

本文示例使用的环境信息如下:
TKE 集群 Kubernetes 版本:v1.22.5
安装 Nginx 插件版本:v1.2.0
安装 Nginx 实例版本:v1.1.3

步骤1:安装 Terraform

您可以通过以下命令下载并安装 Terraform:
		
wget https://releases.hashicorp.com/terraform/1.4.6/terraform_1.4.6_linux_amd64.zip
v1.4.6版本 Release 地址为 https://releases.hashicorp.com/terraform/1.4.6/,您可以根据系统选择对应安装包。

步骤2:在集群中安装 Nginx Addon

Nginx Addon 插件是一个 Nginx 的安装管理工具。首先安装 Addon 插件,然后再使用插件安装 Nginx 实例,具体操作请参见 腾讯云Terraform 应用指南
provider.tf 示例文件如下:
		
# 腾讯云 provider
terraform {
required_providers {
tencentcloud = {
source = "tencentcloudstack/tencentcloud"
version = "1.80.6"
}
}
}
# 腾讯云 相关信息(更换密钥对 "secret_id""secret_key"
provider "tencentcloud" {
secret_id = "********"
secret_key = "********"
region = "ap-shanghai"
}
# 安装Nginx插件(更换集群ID "cluster_id"
resource "tencentcloud_kubernetes_addon_attachment" "addon_ingressnginx" {
cluster_id = "cls-xxxxxxxx"
name = "ingressnginx"
request_body = "{\"kind\":\"App\",\"spec\":{\"chart\":{\"chartName\":\"ingressnginx\",\"chartVersion\":\"1.2.0\"}}}"
}

步骤3:声明式安装 Nginx 实例

有关 Kubernetes Provider 的更多配置信息,请参见 官方文档
Nginx 实例的相关配置可以根据需要进行修改。
IngressClass 配置(示例中使用的是 demo)
HPA 配置
requests/limits 配置
provider.tf 示例文件如下:

		
provider "kubernetes" {
config_path = "~/.kube/config"
}
resource "kubernetes_manifest" "nginxingress_demo" {
manifest = {
"apiVersion" = "cloud.tencent.com/v1alpha1"
"kind" = "NginxIngress"
"metadata" = {
"name" = "demo"
}
"spec" = {
"ingressClass" = "demo"
"service" = {
"annotation" = {

"service.kubernetes.io/service.extensiveParameters" = "{\"InternetAccessible\":{\"InternetC

hargeType\":\"TRAFFIC_POSTPAID_BY_HOUR\",\"InternetMaxBandwidthOut\":10}}"

}
"type" = "LoadBalancer"
}
"workLoad" = {
"hpa" = {
"enable" = true
"maxReplicas" = 2
"metrics" = [
{
"pods" = {
"metricName" = "k8s_pod_rate_cpu_core_used_limit"
"targetAverageValue" = "80"
}
"type" = "Pods"
},
]
"minReplicas" = 1
}
"template" = {
"affinity" = {}
"container" = {
"image" = "ccr.ccs.tencentyun.com/paas/nginx-ingress-controller:v1.1.3"
"resources" = {
"limits" = {
"cpu" = "0.5"
"memory" = "1024Mi"
}
"requests" = {
"cpu" = "0.25"
"memory" = "256Mi"
}
}
}
}
"type" = "deployment"
}
}
}
}

相似文档
  • 集群的存储管理是保存业务数据的重要组件。目前,腾讯云容器服务(Tencent Kubernetes Engine,TKE)支持多种类型的存储。
  • 操作场景: 腾讯云容器服务 TKE 支持通过创建 PersistentVolume(PV)和 PersistentVolumeClaim(PVC),并为工作负载挂载数据卷的方式使用腾讯云对象存储 COS。本文介绍如何在 TKE 集群中为工作负载挂载对象存储。
  • 操作场景: 腾讯云容器服务 TKE 支持通过创建 PV/PVC,并为工作负载挂载数据卷的方式使用腾讯云文件存储 CFS。本文介绍如何通过以下两种方式在集群中为工作负载挂载文件存储: 方式1:动态创建文件存储。 方式2:使用已有的文件存储。
  • 操作场景: 集群管理员可使用 StorageClass 为容器服务集群定义不同的存储类型。容器服务已默认提供块存储类型的 StorageClass,您可通过 StorageClass 配合 PersistentVolumeClaim 动态创建需要的存储资源。 本文介绍通过控制台、Kubectl 两种方式创建文件存储 CFS 类型的 StorageClass,自定义文件存储使用所需的模板。
  • 操作场景: 腾讯云容器服务支持通过创建 PV/PVC,并在创建工作负载添加数据卷时使用已有 PVC,实现通过 PV 和 PVC 管理文件系统。 注意: 不同地域所支持的文件存储能力有一定差异,请按需选择。详情请参见 文件存储类型和性能规格。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部