Рейтинг:0

Обновление версии Azure kubernetes через Terraform — без открытого ключа SSH

флаг ls

Я пытаюсь использовать Terraform для обновления версии kubernetes для кластера Azure Kubernetes Service (AKS). Конфигурация Terraform для кластера выглядит так:

ресурс "azurerm_kubernetes_cluster" "dev-k8s" {
  имя = "мой кластер"
  ... и т.д

  kubernetes_version = "1.22.1"

  linux_profile {
    admin_username = var.admin_username

    ssh_key {
      key_data = файл (var.k8s_public_key)
    }
  }

Когда я пытаюсь бежать план терраформирования с моего локального терминала Linux (при входе в Azure через Azure CLI) переменная var.k8s_public_key решает ~/.ssh/my-k8s.pub, и я получаю следующее сообщение об ошибке:

Ошибка: недопустимый аргумент функции


  в строке 22 k8s.tf в ресурсе "azurerm_kubernetes_cluster" "dev-k8s":
  22: key_data = файл (var.k8s_public_key)
    |----------------
    | var.k8s_public_key — это "~/.ssh/my-k8s.pub"

Недопустимое значение параметра "путь": файл не существует по адресу
/home/myuser/.ssh/my-k8s.pub; эта функция работает только с файлами,
распространяются как часть исходного кода конфигурации, поэтому, если этот файл будет
быть создан ресурсом в этой конфигурации, вы должны вместо этого получить этот
результат атрибута этого ресурса.

у меня есть частный ключ, но не открытый ключ. Если требуется открытый ключ, мне нужно создать новый. Однако эта ошибка меня смущает, так как я думал, что открытый ключ должен быть на стороне сервера, а не на стороне моего клиента. Кроме того, в руководствах, которые я рассматривал, показано, как сгенерировать пару открытого и закрытого ключей, а затем создать кластер с использованием этих учетных данных. я не знаю как Обновить кластер без открытого ключа. Если я сгенерирую новый открытый ключ, то как он будет связан с кластером и как это позволит мне получить доступ к кластеру? Нужен ли мне открытый ключ, если я только обновляю кластер? Я ищу любые советы о том, что происходит или как решить эту проблему, так как я не совсем понимаю проблему.

Если я удалю linux_profile раздел из конфигурации Terraform, план терраформирования удается, но затем он хочет создать совершенно новый кластер с тем же именем. Я не уверен, что происходит или что мне нужно сделать, чтобы просто обновить версию kubernetes.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.