نحوه نصب اسپلانک بر روی داکر
با توجه به مستندات سایت اسپلانک، نرم افزار اسپلانک میتواند بر روی پلتفرمهای مختلف نصب و اجرا شود. یکی از این پلتفرمها داکر میباشد. داکر یک سیستم Open Platform میباشد که طبق تعریف سیستمهای Open Platform در زمان راه اندازی برای یک بار کانتینر آن ایجاد و در هر زیرساختی قابل اجرا میباشد. این زیرساخت میتواند ویندوز، لینوکس، مک، لپ تاپ، فضای ابری یا دیتا سنتر باشد.
مزایای داکر نسبت به ماشین مجازی
هر دو راهکار داکر و ماشین مجازی، در واقع روشی برای پیاده سازی اپلیکیشنها داخل محیطی ایزوله و مستقل از سخت افزار زیرین ارائه میدهند. اصلیترین تفاوت این دو راهکار میزان ایزوله سازی آنهاست. در هنگام اجرا شدن یک اپلیکیشن داخل کانتینر، در واقع برنامه کاربردی در داخل جعبهای با ویژگیهای مشخص و ایزوله که توسط کانتینر فراهم شده است اجرا میشود. ولی همچنان از کرنل مشابه و اشتراکی با سایر کانتینرهای موجود بر روی هاست استفاده میکند.
در مقابل، یک ماشین مجازی، هر چیزی که در داخل آن وجود دارد را مستقل از سیستم عامل میزبان یا هایپروایزر اجرا میکند. بنابراین تفاوت اساسی ماشین مجازی با کانتینر در زمان شروع میباشد. زیرا در حالت VM یک هسته جدید و اختصاصی راهاندازی و مجموعهای از فرآیندهای سیستم عامل نیز داخل VM شروع میشوند. در حالی که برای کانتینر از کرنل اشتراکی استفاده میشود. بنابراین یکی از دلایل بزرگی اندازه یک VM نسبت به یک کانتینر این موضوع میباشد.
معایب داکر نسبت به ماشین مجازی
در VM با توجه به اجرا شدن هسته و سیستم عامل اختصاصی چندین مزیت ذاتی وجود دارد. یکی از این مزایا امنیت حاصل از ایزولهسازی است. به عنوان مثال، از دیدگاه سیستم میزبان، هیچ راهی برای دانستن آنچه در داخل ماشین مجازی در حال اجرا است، وجود ندارد. این موضوع سطح حمله به سخت افزار زیرین را کاهش میدهد. در مقابل در برنامههای Dockerize شده کرنل بین کانتینرهای سیستم میزبان به اشتراک گذاشته می شود. در این حالت امکان دارد یک بازیگر بد بتواند از فضای برنامه خود به میزبان اصلی دسترسی پیدا کند.
دلایل انتخاب داکر
- زمان راه اندازی پایین
- راندمان بالا
- لایسنس رایگان
- امکان استفاده مجدد از کد
- امکان پیاده سازی فرآیندها استاندارد توسعه نرمافزار مانند CICD
نصب اسپلانک بر روی داکر
برای شروع نصب اسپلانک بر روی داکر ابتدا با استفاده از دستورات زیر داکر را بر روی سرور Ubuntu نصب میکنیم.
نصب نیازمندیها
apt install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common
نصب کلید مربوط به Repository داکر
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
اضافه کرد Repository داکر به لیست Repository های سیستم
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
apt update
نصب داکر
apt install -y docker-ce=5:19.03.10~3-0~ubuntu-focal containerd.io
systmctl enable docker
systemctl start docker
تست صحت نصب داکر
docker --version
بعد از نصب داکر با استفاده از دستور زیر image مربوط به اسپلانک را از Docker hub دانلود میکنیم.
docker pull splunk/splunk
برای ایجاد یک کانتینر اسپلانک از دستور زیر استفاده میکنیم.
docker run --name splunk -d -p 8001:8000 \
--mount /data/splunk/var :/opt/splunk/var --mount /data/splunk/etc:/opt/splunk/etc \
-e SPLUNK_START_ARGS=--accept-license -e SPLUNK_PASSWORD=password splunk/splunk:latest
در راهکار داکر بعد از هر بار ریستارت یا Stop و استارت شدن کانتینر کلیه دیتای موجود در فضای Local کانتینر پاک میشود. به همین دلیل با استفاده از دستور mount فضایی خارج از کانتینر را به آن mount میکنیم تا هم دیتای مربوط به تنظیمات اسپلانک (–mount /data/splunk/etc:/opt/splunk/etc) و هم دیتای مربوط به لاگهای ارسالی (–mount /data/splunk/var:/opt/splunk/var) در این فضا ذخیره شود. در محیط عملیاتی این فضا مربوط به راهکارهای ذخیره سازی مانند SAN Storage یا NAS میباشد.
با استفاده از دستورات زیر میتوانیم از اجرای صحیح اسپلانک بر روی داکر مطمئن شویم.
در اینجا کار نصب اسپلانک بر روی داکر به اتمام رسیده و میتوانیم با استفاده از آدرس هاست و پورت ۸۰۰۱ به کنسول وب اسپلانک متصل شویم.