Chúng tôi định cấu hình các phiên bản AWS EC2 (Ubuntu 20.04) với cloud-init bằng tập lệnh dữ liệu người dùng. Chúng tôi nhận thấy rằng các tập lệnh dữ liệu người dùng không thực thi nếu chúng được chạy trên phiên bản được khởi chạy từ một AMI tùy chỉnh được tạo từ một phiên bản đã khởi chạy khác.
Chúng tôi tạo một AMI trung gian có các công cụ & khuôn khổ chung và sử dụng lại nó cho các nhu cầu cụ thể -
- Đầu tiên, chúng tôi khởi chạy một phiên bản từ AMI đã xuất bản. Tập lệnh dữ liệu người dùng được thực thi hoàn hảo ngay từ lần khởi động đầu tiên trong trường hợp này.
- Chúng tôi tạo một AMI trung gian từ phiên bản được khởi chạy ở bước đầu tiên.
- Sau đó khởi chạy một phiên bản khác từ AMI trung gian.
Chúng tôi cũng cung cấp tập lệnh dữ liệu người dùng trong phiên bản được khởi chạy từ AMI trung gian nhưng bằng cách nào đó, tập lệnh không thực thi. tôi quan sát thấy rằng khởi tạo đám mây
dịch vụ trình thu thập thông tin siêu dữ liệu của (đám mây-init.service
) không chạy ở bước 3 và do đó tập lệnh người dùng không được thực thi.
Chúng tôi đã cố gắng xóa bộ nhớ cache của cloud-init trước khi tạo AMI trung gian để cloud-init có thể chạy như lần khởi động đầu tiên trên phiên bản mới [Thẩm quyền giải quyết] -
sudo cloud-init clean --logs --seed
Và tôi cũng đã cố gắng làm sạch /etc/máy-id
như đã chia sẻ đây nhưng không có gì hoạt động.
Tôi còn thiếu điều gì cần dọn dẹp cho cloud-init để nó có thể chạy như lần khởi động đầu tiên cho các phiên bản mới không?