Điểm:0

Cập nhật phiên bản Azure kubernetes qua Terraform - không có khóa công khai SSH

lá cờ ls

Tôi đang cố gắng sử dụng Terraform để cập nhật phiên bản kubernetes cho cụm Azure Kubernetes Service (AKS). Cấu hình Terraform cho cụm trông như thế này:

tài nguyên "azurerm_kubernetes_cluster" "dev-k8s" {
  tên = "cụm của tôi"
  ... vân vân

  kubernetes_version = "1.22.1"

  linux_profile {
    admin_username = var.admin_username

    ssh_key {
      key_data = tệp(var.k8s_public_key)
    }
  }

Khi tôi thử chạy kế hoạch địa hình từ thiết bị đầu cuối linux cục bộ của tôi (khi đăng nhập vào Azure qua Azure CLI), biến var.k8s_public_key giải quyết ~/.ssh/my-k8s.pubvà tôi nhận được thông báo lỗi sau:

Lỗi: Đối số hàm không hợp lệ


  trên k8s.tf dòng 22, trong tài nguyên "azurerm_kubernetes_cluster" "dev-k8s":
  22: key_data = file(var.k8s_public_key)
    |----------------
    | var.k8s_public_key là "~/.ssh/my-k8s.pub"

Giá trị không hợp lệ cho tham số "đường dẫn": không có tệp nào tồn tại tại
/home/myuser/.ssh/my-k8s.pub; chức năng này chỉ hoạt động với các tệp
được phân phối như một phần của mã nguồn cấu hình, vì vậy nếu tệp này sẽ
được tạo bởi một tài nguyên trong cấu hình này, thay vào đó bạn phải lấy cái này
kết quả từ một thuộc tính của tài nguyên đó.

tôi có một riêng khóa, nhưng không có khóa công khai. Nếu khóa công khai là bắt buộc, tôi cần tạo một khóa mới. Tuy nhiên, lỗi khiến tôi bối rối vì tôi nghĩ rằng khóa công khai cần phải ở phía máy chủ chứ không phải ở phía máy khách của tôi. Ngoài ra, các hướng dẫn mà tôi đã xem chỉ ra cách tạo cặp khóa công khai/riêng tư, sau đó tạo cụm bằng các thông tin xác thực đó. Tôi không chắc làm thế nào để cập nhật cụm không có khóa công khai. Nếu tôi tạo một khóa chung mới, thì khóa đó sẽ được liên kết với cụm như thế nào và khóa đó hoạt động như thế nào để cho phép tôi truy cập cụm? Tôi thậm chí có cần khóa chung nếu tôi chỉ cập nhật cụm không? Tôi đang tìm bất kỳ lời khuyên nào về những gì đang diễn ra hoặc cách giải quyết vấn đề này vì tôi không hiểu rõ vấn đề.

Nếu tôi loại bỏ linux_profile phần từ cấu hình Terraform, kế hoạch địa hình thành công, nhưng sau đó nó muốn tạo một cụm hoàn toàn mới có cùng tên. Tôi không chắc chuyện gì đang xảy ra hoặc tôi cần làm gì để chỉ cập nhật phiên bản kubernetes.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.