ওপি থেকে আমার কিছুটা সুনির্দিষ্ট প্রশ্ন ছিল তবে আমি কী ভুল করছি তা কাজে লাগাতে আমার কিছুটা সময় লেগেছিল। আমি ভেবেছিলাম যে অন্য কাউকে একইভাবে স্ট্যাম্প করতে সহায়তা করতে আমি এটি এখানে পোস্ট করব।
আমি উবুন্টু 16.04 এ হোস্ট করা একটি এলএক্সসি / এলএক্সডি উবুন্টু 16.04 ধারকটির জন্য স্থিতিশীল নেটওয়ার্কিং সেটিংস চেয়েছিলাম। স্টাফেন যা লিখেছিলেন তা চেষ্টা করেই শুরু করেছিলাম তবে তা কার্যকর হয়নি। আমার সমস্ত শেষটি আইপিভি 6 লিঙ্কের স্থানীয় ডিফল্ট ডিএইচসিপি-প্রয়াসকারী ধারক ছিল, কারণ আমার কনফিগারেশনে কোনও ডিএইচসিপি সরবরাহ করা হয়নি।
আমার প্রাথমিক YAML নীচের মতো (কিছু ক্লাউড- init ডক্স থেকে নেওয়া) দেখেছিল ।
network:
version: 1
config:
- type: physical
name: eth0
subnets:
- type: static
address: 192.168.23.14/27
gateway: 192.168.23.1
dns_nameservers:
- 192.168.23.2
- 8.8.8.8
dns_search:
- exemplary.maas
এবং আমি user.user-data
উপরে বর্ণিত হিসাবে এটি লোড করা হয়।
lxc config set CONTAINER user.user-data - < CONTAINER.cloud-init-config.yml
আমি LXC / LXD উত্সে স্টাফেনের ডকুমেন্টেশন না পাওয়া পর্যন্ত এটি ছিল না যে আমি বুঝতে পেরেছিলাম যে এই মানটি লোড করা দরকার user.network-config
।
সুতরাং আমার চূড়ান্ত ওয়াইএএমএল দেখতে (এমন কিছু) লাগছিল।
version: 1
config:
- type: physical
name: eth0
subnets:
- type: static
address: 192.168.23.14/27
gateway: 192.168.23.1
dns_nameservers:
- 192.168.23.2
- 8.8.8.8
dns_search:
- exemplary.maas
তারপরে আমি এর user.network-config
পরিবর্তে এটি লোড করেছি ।
lxc config set CONTAINER user.network-config - < CONTAINER.network-config.yaml
দেখে মনে হচ্ছে আমার ধারক প্রতি দুটি পৃথক ফাইল রাখা দরকার: নেটওয়ার্ক সেটিংসে লোড হওয়ার জন্য একটি user.network-config
; এবং অন্য কনফিগারেশনের জন্য লোড করার জন্য একটিতে user.user-data
যতক্ষণ না আমি সমস্ত কিছুর জন্য একটি একক ফাইল ব্যবহারের উপায় খুঁজে পাই।
আমি যে অন্য সমস্যাটি পেয়েছি তা আমার কাছে একেবারেই সুস্পষ্ট ছিল না তা নন-নেটওয়ার্ক উপাদানগুলি স্বয়ংক্রিয়ভাবে কনফিগার করার চেষ্টা করছিল।
lxc config set CONTAINER user.user-data - < CONTAINER.user-data.yaml
নীচের কমান্ডটি প্রয়োগ করে নীচের ওয়াইএএমএল প্রয়োগ করা হয়েছে (সঠিকভাবে সন্ধান করা সত্ত্বেও lxc config show CONTAINER
) আমার ধারকটির ভিতরে কিছু তৈরি করে নি।
write_files:
- content: |
# My new /etc/foo.bar file
Foo
Bar
path: /etc/foo.bar
ক্লুটি ব্যবহারকারী ডেটা ইনপুট ফর্ম্যাটগুলিতে সমাহিত করা হয়েছে , আইটেম 5: ক্লাউড কনফিগারেশন ডেটা পড়ে:
শুরু হয় "#cloud-config"
বা "Content-Type: text/cloud-config"
এই সামগ্রীটি "ক্লাউড-কনফিগারেশন" ডেটা। সমর্থিত কনফিগার ফর্ম্যাটগুলির একটি মন্তব্য করা উদাহরণের উদাহরণগুলি দেখুন।
আমি বিশ্বাস করি না যে এই ডকুমেন্টেশন খুব পরিষ্কার। "কন্টেন্ট-টাইপ: টেক্সট / ক্লাউড-কনফিগারেশন" ফর্মটি ব্যবহার করে আমি কাজ করার জন্য কিছুই পেতে পারি না তবে আপনি যদি #cloud-config
প্রথম লাইনে রাখেন , তবে ওয়াইএএমএল পার্স করা হয়েছে। আমি কেবল ধরে নিতে পারি যে আমার বোধগম্যতা বা কারও প্রোগ্রামিং বেশ কিছু সঠিক নয়। এটি আমার কাছে কোনও বোধগম্য নয় যে আপনি YAML স্পষ্টভাবে কীটির মান হিসাবে লোড করেছেন তা user.user-data
ক্লাউড কনফিগারেশন ডেটা ব্যতীত অন্য কোনও হিসাবে ব্যবহার করা উচিত। অন্য কেউ কেন এটি করবে যদি এটি ক্লাউড কনফিগারেশন না বোঝানো হত, এবং সুতরাং কেন একটি মন্তব্য (যা এমনকি সাধারণ শেবাং সিনট্যাক্স ব্যবহার করে না) প্রয়োজন হবে কেন?
সুতরাং, আজেবাজে কথা বাদ দিয়ে বাক্য গঠনটি user.user-data
হ'ল:
#cloud-config
write_files:
- content: |
# My new /etc/foo.bar file
Foo
Bar
path: /etc/foo.bar