Điểm:2

Làm cách nào để chuyển cấu hình cloud-init khi tạo vùng chứa LXD?

lá cờ ck

Tôi đã đọc qua tài liệu LXD và các blog cũng như câu trả lời của stackexchange cho biết LXD được cho là có một số loại cú pháp init cho phép bạn chuyển dữ liệu cấu hình đám mây tới các vùng chứa của mình khi chúng được tạo, nhưng không có ví dụ nào trong số nhiều ví dụ đã làm việc cho tôi.Tôi đã thử làm theo các ví dụ thiết lập hồ sơ, các ví dụ truyền dữ liệu bằng cách sử dụng --config, các ví dụ chuyển trực tiếp dữ liệu yaml vào và các ví dụ đặt dữ liệu sau init nhưng trước khi bắt đầu. Không có gì đã làm việc. Tôi đang dán vào những gì tôi hiện có... Ai đó có thể vui lòng cho tôi biết tôi đang làm gì sai và cách khắc phục không?

Ví dụ cơ bản nhất tôi có thể nghĩ ra:

xóa lxc -f x

con mèo << EOF >config.yml
#cloud-config
đầu ra: {tất cả: '| tee -a /var/log/my-cloud-init-output.log'}
gói_update: đúng
gói_upgrade: đúng
gói_reboot_if_required: đúng
gói:
  - cây
chạy cmd:
  - chạm /run/cloud-config-did-run
EOF

lxc khởi chạy ubuntu: x --config=user.user-data="$(cat config.yml)"
ngủ 5
lxc exec x -- bash -c "ls /run"
lxc exec x -- bash -c "cây/etc"

Điều này sẽ xuất ra /var/log/my-cloud-init-output.log, cài đặt cây và cũng tạo một tệp trống trong/run. đầu ra để /var/log/my-cloud-init-output.log hoạt động, nhưng không có gì khác làm. Các bản ghi không hiển thị bất cứ điều gì đặc biệt.

lá cờ ck
Có, tôi đã thử các cấu hình, nhưng cách đó cũng không hoạt động (các lệnh không bao giờ chạy). Tôi chỉ đang tìm kiếm MỘT ĐIỀU GÌ, BẤT CỨ ĐIỀU GÌ hoạt động vượt trội để tôi có cơ sở làm việc.
lá cờ ck
Blog đó thực sự là blog tôi đã theo dõi khi tôi đang cố gắng sử dụng hồ sơ.
lá cờ ck
Theo nghĩa đen, tất cả những gì tôi muốn là khởi chạy một bộ chứa Ubuntu và cài đặt một số gói bổ sung. Tôi không cần thay đổi động (thậm chí không chắc đó là gì). Tôi chỉ cần kết quả cuối cùng là một bộ chứa Ubuntu tiêu chuẩn + một số gói được cài đặt (và tôi không phải đăng nhập thủ công và cài đặt apt mọi thứ).
Điểm:2
lá cờ th

Có vẻ như bạn cần đợi lâu hơn. Vì bạn có cả hai gói_updategói_upgrade được chỉ định là đúng, về cơ bản bạn đang chạy cập nhật apt-get; nâng cấp apt-get (có thể mất hơn 5 giây) trước khi cây có thể được cài đặt hoặc runcmd thực thi.

Các lệnh chính xác của bạn hoạt động với tôi nếu tôi thay thế ngủ 5 với

lxc exec x -- bash -c "cloud-init status --wait"
ngủ 2 # vì `gói_reboot_if_required: true`
user535733 avatar
lá cờ cn
+5 nếu tôi có thể. Tôi đã gặp vấn đề *chính xác như vậy* (không đợi cloud-init hoàn tất) cách đây vài tháng, nhưng không thể nhận ra vấn đề đó trong câu hỏi. Kudos cho công việc thám tử!
lá cờ ck
Hmm thú vị... Khi tôi thay thế các lệnh đó, tôi nhận được một màn hình đầy dấu chấm vì nó chờ mãi (tôi đã bỏ cuộc sau 15 phút). Thậm chí loại bỏ mọi thứ nhưng lệnh cảm ứng không hoạt động. Và điều này không thành công trên hai hệ thống riêng biệt (NixOS chạy LXD 2.40 và Ubuntu chạy 2.41).
lá cờ th
Bạn sẽ có thể `lxc shell x` vào vùng chứa và xem điều gì đang xảy ra. `systemd-analyze critical-chain` nên khiếu nại nếu có bất kỳ thứ gì chặn khởi động. Nếu không, `/var/log/cloud-init.log` sẽ cho biết bất kỳ lỗi cụ thể nào của cloud-init.

Đă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.