Terraform 0.11

azurerm_kubernetes_cluster




terraform

azurerm_kubernetes_cluster

प्रबंधित कुबेरनेट क्लस्टर (AKS) प्रबंधित करता है

उदाहरण उपयोग

resource "azurerm_resource_group" "test" {
  name     = "acctestRG1"
  location = "East US"
}

resource "azurerm_kubernetes_cluster" "test" {
  name                = "acctestaks1"
  location            = "${azurerm_resource_group.test.location}"
  resource_group_name = "${azurerm_resource_group.test.name}"
  dns_prefix          = "acctestagent1"

  linux_profile {
    admin_username = "acctestuser1"

    ssh_key {
      key_data = "ssh-rsa ..."
    }
  }

  agent_pool_profile {
    name            = "default"
    count           = 1
    vm_size         = "Standard_D1_v2"
    os_type         = "Linux"
    os_disk_size_gb = 30
  }

  service_principal {
    client_id     = "00000000-0000-0000-0000-000000000000"
    client_secret = "00000000000000000000000000000000"
  }

  tags {
    Environment = "Production"
  }
}

output "id" {
    value = "${azurerm_kubernetes_cluster.test.id}"
}

output "kube_config" {
  value = "${azurerm_kubernetes_cluster.test.kube_config_raw}"
}

output "client_key" {
  value = "${azurerm_kubernetes_cluster.test.kube_config.0.client_key}"
}

output "client_certificate" {
  value = "${azurerm_kubernetes_cluster.test.kube_config.0.client_certificate}"
}

output "cluster_ca_certificate" {
  value = "${azurerm_kubernetes_cluster.test.kube_config.0.cluster_ca_certificate}"
}

output "host" {
  value = "${azurerm_kubernetes_cluster.test.kube_config.0.host}"
}

तर्क संदर्भ

निम्नलिखित तर्क समर्थित हैं:

  • name - (आवश्यक) AKS प्रबंधित क्लस्टर उदाहरण का नाम बनाने के लिए। इस परिवर्तन से एक नया संसाधन बनने के लिए बाध्य होता है।

  • location - (आवश्यक) वह स्थान जहाँ AKS प्रबंधित क्लस्टर आवृत्ति बनाई जानी चाहिए। इस परिवर्तन से एक नया संसाधन बनने के लिए बाध्य होता है।

  • resource_group_name - (आवश्यक) संसाधन समूह को निर्दिष्ट करता है जहाँ संसाधन मौजूद है। इस परिवर्तन से एक नया संसाधन बनने के लिए बाध्य होता है।

  • dns_prefix - (आवश्यक) DNS उपसर्ग प्रबंधित क्लस्टर बनाते समय निर्दिष्ट किया गया है।

  • kubernetes_version - (वैकल्पिक) AKS प्रबंधित क्लस्टर बनाते समय निर्दिष्ट Kubernetes का संस्करण। यदि निर्दिष्ट नहीं किया गया है, तो नवीनतम अनुशंसित संस्करण का उपयोग प्रावधान समय पर किया जाएगा (लेकिन ऑटो-अपग्रेड नहीं होगा)।

  • linux_profile - (आवश्यक) नीचे प्रलेखित के रूप में एक लिनक्स प्रोफाइल ब्लॉक।

  • agent_pool_profile - (आवश्यक) एक या अधिक एजेंट पूल प्रोफाइल के ब्लॉक को नीचे दिए गए दस्तावेज़ के रूप में।

  • service_principal - (आवश्यक) नीचे प्रलेखित एक सेवा प्रधान ब्लॉक।

  • tags - (वैकल्पिक) संसाधन को असाइन करने के लिए टैग की मैपिंग।

linux_profile निम्नलिखित का समर्थन करता है:

  • admin_username - (आवश्यक) क्लस्टर के लिए व्यवस्थापक उपयोगकर्ता नाम। इस परिवर्तन से एक नया संसाधन बनने के लिए बाध्य होता है।
  • ssh_key - (आवश्यक) एक SSH कुंजी ब्लॉक जैसा कि नीचे दिया गया है

ssh_key निम्नलिखित का समर्थन करता है:

  • key_data - (आवश्यक) सार्वजनिक SSH कुंजी क्लस्टर का उपयोग करती थी। इस परिवर्तन से एक नया संसाधन बनने के लिए बाध्य होता है।

agent_pool_profile निम्नलिखित का समर्थन करता है:

  • name - (आवश्यक) सदस्यता और संसाधन समूह के संदर्भ में एजेंट पूल प्रोफ़ाइल का अद्वितीय नाम। इस परिवर्तन से एक नया संसाधन बनने के लिए बाध्य होता है।
  • count - (आवश्यक) पूल में एजेंटों (वीएम) की संख्या। संभावित मान 1 से 50 (समावेशी) की सीमा में होना चाहिए। 1 चूक।
  • vm_size - (आवश्यक) एजेंट पूल में प्रत्येक वीएम का आकार (जैसे Standard_F1 )। इस परिवर्तन से एक नया संसाधन बनने के लिए बाध्य होता है।
  • os_disk_size_gb - (वैकल्पिक) GB में एजेंट ऑपरेटिंग सिस्टम डिस्क का आकार। इस परिवर्तन से एक नया संसाधन बनने के लिए बाध्य होता है।
  • os_type - (वैकल्पिक) एजेंटों के लिए प्रयुक्त ऑपरेटिंग सिस्टम। संभावित मूल्य Linux और Windows । इस परिवर्तन से एक नया संसाधन बनने के लिए बाध्य होता है। Linux लिए चूक।
  • vnet_subnet_id - (वैकल्पिक) सबनेट की आईडी जहां पूल में एजेंटों का प्रावधान किया जाना चाहिए। इस परिवर्तन से एक नया संसाधन बनने के लिए बाध्य होता है।

service_principal निम्नलिखित का समर्थन करता है:

  • client_id - (आवश्यक) सेवा प्रिंसिपल के लिए क्लाइंट आईडी।
  • client_secret - (आवश्यक) सेवा प्रिंसिपल के लिए क्लाइंट सीक्रेट।

संदर्भ संदर्भित करता है

निम्नलिखित विशेषताएँ निर्यात की जाती हैं:

  • id - कुबेरनेट्स प्रबंधित क्लस्टर आईडी।

  • fqdn - द fqdn ऑफ़ द एज़्योर कुबेरनेट्स प्रबंधित क्लस्टर।

  • kube_config_raw - बेस 64 ने Kubernetes कॉन्फ़िगरेशन को एन्कोड किया

  • kube_config - कुबेरनेट कॉन्फ़िगरेशन, उप-विशेषताएँ नीचे परिभाषित की गई हैं:

    • client_key - बेस client_key ग्राहकों को कुबेरनेट क्लस्टर के लिए प्रमाणित करने के लिए निजी कुंजी का उपयोग करता है।
    • client_certificate - बेस client_certificate ग्राहकों को कुबेरनेट क्लस्टर के लिए प्रमाणित करने के लिए सार्वजनिक प्रमाण पत्र का उपयोग करता है।
    • cluster_ca_certificate - बेस 64 को कुबेरनेट क्लस्टर के लिए ट्रस्ट की जड़ के रूप में इस्तेमाल किया जाने वाला सार्वजनिक सीए प्रमाण पत्र संलग्न किया गया है।
    • host - कुबेरनेट्स क्लस्टर सर्वर होस्ट।
    • username - कुबेरनेट समूह में प्रमाणित करने के लिए उपयोग किया जाने वाला उपयोगकर्ता नाम।
    • password - कुबेरनेट क्लस्टर को प्रमाणित करने के लिए उपयोग किया जाने वाला पासवर्ड या टोकन।
provider "kubernetes" {
  host                   = "${azurerm_kubernetes_cluster.main.kube_config.0.host}"
  username               = "${azurerm_kubernetes_cluster.main.kube_config.0.username}"
  password               = "${azurerm_kubernetes_cluster.main.kube_config.0.password}"
  client_certificate     = "${base64decode(azurerm_kubernetes_cluster.main.kube_config.0.client_certificate)}"
  client_key             = "${base64decode(azurerm_kubernetes_cluster.main.kube_config.0.client_key)}"
  cluster_ca_certificate = "${base64decode(azurerm_kubernetes_cluster.main.kube_config.0.cluster_ca_certificate)}"
}

आयात

कुबेरनेट्स प्रबंधित क्लस्टर resource id का उपयोग करके आयात किया जा सकता है, जैसे

terraform import azurerm_kubernetes_cluster.cluster1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.ContainerService/managedClusters/cluster1