如何在 terraform - aks 中创建 nginx ingress
How to create nginx ingress in terraform - aks
我如何使用 terraform
在 azure kubernetes
中创建一个 nginx ingress
,在这个 link , i remember seeing some steps as a mandatory installation for all setups, right now it seems to be removed and there is a specific way of installing for aks
in this link 的前面,我是否应该重写所有这些以适应 terraform
或者有没有其他聪明的方法可以通过 terraform
为 aks
安装 nginx ingress
有一个很好的教程Create an Application Gateway ingress controller in Azure Kubernetes Service. And you can check GitHub for Application Gateway Ingress Controller。
如果您使用的是 Terraform 版本 0.12 或更高版本,您可以使用 terraform provider kubernetes example.
关于 Terraform 文档,您应该查看 Data source kubernetes_ingress and Resource kubernetes_ingress。
如果您提供更多详细信息,我会更新答案。
您可以尝试使用 Terraform 的 helm 提供程序。
provider "helm" {
kubernetes {
host = azurerm_kubernetes_cluster.your_cluster.kube_config.0.host
client_key = base64decode(azurerm_kubernetes_cluster.your_cluster.kube_config.0.client_key)
client_certificate = base64decode(azurerm_kubernetes_cluster.your_cluster.kube_config.0.client_certificate)
cluster_ca_certificate = base64decode(azurerm_kubernetes_cluster.your_cluster.kube_config.0.cluster_ca_certificate)
}
}
data "helm_repository" "stable" {
name = "stable"
url = "https://kubernetes-charts.storage.googleapis.com"
}
resource "helm_release" "nginix_ingress" {
name = "nginix_ingress"
repository = data.helm_repository.stable.metadata.0.name
chart = "stable/nginx-ingress"
namespace = "kube-system"
}
如果您的集群已经创建,您还必须使用数据源导入它。 helm_release
也支持自定义值。 Here 是 link 如果您需要更多信息。
更新答案
resource "helm_release" "nginix-ingress" {
name = "nginix-ingress"
repository = "https://charts.bitnami.com/bitnami"
chart = "nginx"
namespace = "kube-system"
}
我如何使用 terraform
在 azure kubernetes
中创建一个 nginx ingress
,在这个 link , i remember seeing some steps as a mandatory installation for all setups, right now it seems to be removed and there is a specific way of installing for aks
in this link 的前面,我是否应该重写所有这些以适应 terraform
或者有没有其他聪明的方法可以通过 terraform
aks
安装 nginx ingress
有一个很好的教程Create an Application Gateway ingress controller in Azure Kubernetes Service. And you can check GitHub for Application Gateway Ingress Controller。
如果您使用的是 Terraform 版本 0.12 或更高版本,您可以使用 terraform provider kubernetes example.
关于 Terraform 文档,您应该查看 Data source kubernetes_ingress and Resource kubernetes_ingress。
如果您提供更多详细信息,我会更新答案。
您可以尝试使用 Terraform 的 helm 提供程序。
provider "helm" {
kubernetes {
host = azurerm_kubernetes_cluster.your_cluster.kube_config.0.host
client_key = base64decode(azurerm_kubernetes_cluster.your_cluster.kube_config.0.client_key)
client_certificate = base64decode(azurerm_kubernetes_cluster.your_cluster.kube_config.0.client_certificate)
cluster_ca_certificate = base64decode(azurerm_kubernetes_cluster.your_cluster.kube_config.0.cluster_ca_certificate)
}
}
data "helm_repository" "stable" {
name = "stable"
url = "https://kubernetes-charts.storage.googleapis.com"
}
resource "helm_release" "nginix_ingress" {
name = "nginix_ingress"
repository = data.helm_repository.stable.metadata.0.name
chart = "stable/nginx-ingress"
namespace = "kube-system"
}
如果您的集群已经创建,您还必须使用数据源导入它。 helm_release
也支持自定义值。 Here 是 link 如果您需要更多信息。
更新答案
resource "helm_release" "nginix-ingress" {
name = "nginix-ingress"
repository = "https://charts.bitnami.com/bitnami"
chart = "nginx"
namespace = "kube-system"
}