Kubernetes With Kubeadm را در CentOS 7 مستقر کنید
بررسی اجمالی این مقاله به شما کمک می کند تا در هر زمان خوشه ای از Kubernetes را جمع کنید و با kubeadm در حال اجرا باشید. در این راهنما از دو سرور استفاده می شود
این راهنما نحوه ایجاد و پیکربندی swarm Docker را با استفاده از چندین سرور Alpine Linux 3.9.0 و Portainer به شما نشان می دهد. لطفاً توجه داشته باشید که Vultr یک برنامه داکر یک کلیک را ارائه می دهد که در حال حاضر از CentOS 7 x64 و Ubuntu 16.04 x64 پشتیبانی می کند.
برای شروع ، حداقل به دو سرور VC2 که Alpine Linux 3.9.0 را اجرا می کنند ، نیاز دارید. در میان Docker swarm شما ، یکی از این سرورها به عنوان یک ارتباط manager node
- با شبکه های خارجی و واگذاری شغل به گره های کارگر عمل می کند. سرور دیگر بعنوان یک worker node
وظیفه اجرایی که توسط گره مدیر به آن واگذار شده است ، عمل خواهد کرد.
توجه داشته باشید که اگر برنامه شما نیاز به افزونگی و / یا قدرت محاسبه بیشتری دارد ، می توانید بیش از دو سرور راه اندازی کنید ، و مراحل ارائه شده در این راهنما هنوز هم اعمال می شود.
از رابط استقرار سرور Vultr بازدید کنید .
اطمینان حاصل کنید که Vultr Cloud (VC2)
برگه در بالای صفحه انتخاب شده است.
شما می توانید هر مکان را از این Server Location
بخش انتخاب کنید ، با این وجود همه سرورها باید در یک مکان قرار داشته باشند ، در غیر این صورت امکان استقرار یک Docker swarm برای آنها وجود نخواهد داشت.
را انتخاب کنید ISO Library
تب از Server Type
بخش و را انتخاب کنید Alpine Linux 3.9.0 x86_64
تصویر.
از Server Size
بخش مورد نظر گزینه مناسبی را انتخاب کنید . این راهنما از اندازه سرور 25 گیگابایتی SSD استفاده خواهد کرد ، اما این ممکن است برای پاسخگویی به نیازهای منابع برنامه شما کافی نباشد. در حالی که Vultr امکان ارتقاء اندازه سرور را پس از راه اندازی آن آسان می کند ، شما هنوز هم باید با دقت در نظر بگیرید که اندازه سرور برنامه شما برای عملکرد بهینه نیاز دارد.
در Additional Features
بخش ، باید گزینه را انتخاب Enable Private Networking
کنید. در حالی که گزینه های دیگر برای پیروی از این راهنما لازم نیست ، باید در نظر بگیرید که آیا هر یک از آنها در متن برنامه خود منطقی است یا خیر.
اگر قبلاً این Multiple Private Networks
گزینه را در حساب خود فعال کرده باشید ، باید یک موجود را انتخاب کنید یا یک شبکه خصوصی جدید برای سرورهای خود ایجاد کنید. اگر آن را فعال نکرده اید ، می توانید این بخش را نادیده بگیرید. برای اطلاعات در مورد پیکربندی دستی شبکه های خصوصی ، به این راهنما مراجعه کنید .
Firewall Group
اکنون از بخش پرش کنید . فقط سروری که به عنوان گره مدیر در swam Docker فعالیت می کند ، به پورت های در معرض نیاز دارد و این باید پس از استقرار سرور تنظیم شود.
در همان پایین صفحه ، باید Server Qty
حداقل یکی دو مورد را وارد کنید . همانطور که قبلاً نیز اشاره شد ، شما ممکن است به بیش از دو سرور نیاز داشته باشید ، اما دو مورد برای پیروی از این راهنما کافی است.
سرانجام ، در این Server Hostname & Label
بخش ، نام های میزبان و برچسب های معنی دار و به یاد ماندنی را برای هر سرور وارد کنید. برای این منظور از این راهنما، نام میزبان و برچسب از سرور اول خواهد بود docker-manager
و Docker Manager
، به ترتیب و docker-worker
و Docker Worker
برای بار دوم، به ترتیب.
پس از بررسی دوبار تمام تنظیمات خود ، می توانید بر روی Deploy Now
دکمه در پایین صفحه کلیک کنید تا سرورهای خود را راه اندازی کنید.
از آنجا که شما یک سیستم عامل را از کتابخانه ISO Vultr انتخاب کرده اید ، باید Alpine Linux 3.9.0 را به صورت دستی نصب و پیکربندی کنید.
پس از اختصاص یک یا دو دقیقه به Vultr برای اختصاص سرورهای خود ، روی more options
نماد Triple dot برای Docker Manager
سرور در رابط مدیریت سرور کلیک کنید ، و سپس گزینه را انتخاب View Console
کنید.
شما باید با اعلان ورود به سیستم به کنسول هدایت شوید. اگر اینطور نیست ، لطفا یک دقیقه دیگر صبر کنید تا Vultr به کار خود پایان دهد.
در آن زمان وارد شوید ، به root
عنوان نام کاربری وارد شوید . نسخه زنده Alpine Linux 3.9.0 (همان چیزی است که سرورهای شما در حال اجرا هستند) نیازی به سرگرمی ندارد هنگام ورود به سیستم ، رمز عبور خود را وارد کند.
هنگامی که با موفقیت وارد حساب root شوید ، پیام خوش آمدید را مشاهده می کنید که یک پوسته فوری دارد که به شرح زیر است:
localhost:~#
برای شروع نصب Alpine Linux ، دستور زیر را وارد کنید:
# setup-alpine
ابتدا یک صفحه کلید مناسب را انتخاب کنید. در این راهنما از us
طرح و نوع استفاده خواهد شد .
هنگام تنظیم نام میزبان ، همان نام میزبان را که در هنگام استقرار برای این سرور تنظیم کرده اید ، انتخاب کنید. اگر دقیقاً این راهنما را دنبال کرده اید ، نام میزبان باید باشد docker-manager
.
باید دو رابط شبکه موجود باشد: eth0
و eth1
. اگر فقط می بینید eth0
، این بدان معنی است که شبکه خصوصی سرورهای خود را به درستی پیکربندی نکرده اید. در ابتدا eth0
با استفاده از dhcp
و اولیه سازی eth1
با استفاده از آدرس IP خصوصی ، netmask و دروازه این سرور در هنگام استقرار مشخص شد. از طریق رابط تنظیمات سرور خود می توانید به این جزئیات دسترسی پیدا کنید. در صورت درخواست ، هیچگونه تنظیمات شبکه دستی را انجام ندهید.
رمزعبور جدیدی را برای حساب root وارد کنید و سپس یک منطقه زمانی مناسب برای مکانی که برای استقرار این سرورها در آن انتخاب کرده اید ، انتخاب کنید.
اگر قصد استفاده از پروکسی HTTP / FTP را دارید ، URL آن را وارد کنید ، در غیر این صورت URL پروکسی تنظیم نکنید.
برای مدیریت هماهنگی ساعت سیستم ، یک سرویس گیرنده NTP را انتخاب کنید. این راهنما استفاده خواهد کرد busybox
.
وقتی از آینه مخزن بسته استفاده می شود ، یا با وارد کردن شماره آن یکی را صریحا انتخاب کنید. با وارد کردن به طور خودکار سریعترین مورد را تشخیص داده و انتخاب کنید f
. یا با وارد کردن پرونده پیکربندی مخزن را به صورت دستی ویرایش کنید e
که توصیه نمی شود مگر اینکه با Alpine Linux آشنا باشید. این راهنما از آینه اول استفاده خواهد کرد.
اگر قصد دارید از SSH برای دسترسی به سرورهای خود یا میزبانی سیستم فایل مبتنی بر SSH استفاده کنید ، یک سرور SSH را انتخاب کنید. این راهنما استفاده خواهد کرد openssh
.
وقتی از شما خواسته شد دیسک استفاده شود ، دیسک را vda
به عنوان sys
نوع انتخاب کنید .
Alpine Linux 3.9.0 اکنون باید روی سرور شما نصب شود. این روند را برای همه سرورهای دیگر که قبلاً مستقر کرده اید ، تکرار کنید ، و اطمینان حاصل کنید که مقادیر صحیح را برای نام میزبان و eth1
رابط شبکه جایگزین خواهید کرد .
در این مرحله ، سرورهای شما هنوز نسخه زنده ISO Alpine Linux 3.9.0 را اجرا می کنند. برای بوت شدن از نصب SSD ، به رابط تنظیمات سرور خود بروید ، به Custom ISO
ورودی منوی جانبی بروید و روی Remove ISO
دکمه کلیک کنید. این باید سرور را مجدداً راه اندازی کند. اگر این کار را نکند ، دوباره به صورت دستی راه اندازی مجدد شود.
پس از اتمام راه اندازی مجدد سرور ، دوباره به کنسول وب سرور بروید Docker Manager
.
با استفاده از گذرواژه ای که در مراحل نصب تنظیم کرده اید ، وارد حساب اصلی شوید.
مخزن بسته جامعه را با اظهار نکردن خط سوم /etc/apk/repositories
استفاده از آن ، فعال کنید vi
. شما می توانید لبه ها و آزمایش مخازن را به روشی مشابه فعال کنید ، اما لازم نیست آنها از این راهنما پیروی کنند.
با وارد کردن دستور پوسته زیر ، فهرست بسته محلی سرور را با مخزن راه دور که قبلاً انتخاب کرده اید همگام سازی کنید:
# apk update
سپس بسته های منسوخ را ارتقا دهید:
# apk upgrade
مانند گذشته ، این فرآیند پیکربندی را برای هر سرور که قبلاً مستقر کرده اید ، تکرار کنید.
قبل از نصب بسته Docker خود ، ممکن است بخواهید یک docker
کاربر جداگانه ایجاد کنید . می توانید این کار را با استفاده از دستور زیر انجام دهید:
# adduser docker
توجه: این کاربر جدید و هر کاربرانی که به docker
گروه جدید اضافه شده اند ، پس از نصب بسته Docker از امتیازات اصلی برخوردار خواهند بود. شماره زیر را از مخزن Moby Github ببینید:
با توجه به
--privileged
docker ، هرکسی که به گروه docker اضافه شود معادل ریشه آن است. هر کس که در گروه docker است ، حول محور کلیه سیاست های افزایش امتیاز و ممیزی در سیستم ، یک درب پشتی دارد.این متفاوت از آن است که کسی بتواند در آنجا که دارای خط مشی است ، اجرا کند.
اگر می خواهید مجوز sudo را به docker
کاربر بدهید ، ابتدا sudo
بسته را نصب کنید :
# apk add sudo
سپس یک sudo
گروه ایجاد کنید :
# addgroup sudo
در آخر docker
کاربر را به sudo
گروه اضافه کنید:
# adduser docker sudo
اکنون می توانید مرحله 4 این راهنما را دنبال کنید تا پیکربندی سودو به پایان برسد.
در این مرحله ، شما آماده نصب بسته Docker هستید. توجه داشته باشید که docker
برای نصب و پیکربندی Docker یک کاربر جداگانه و دارای قابلیت سودو کاملاً ضروری نیست ، اما این راهنما از آن کنوانسیون پیروی می کند.
بسته Docker را با دستور زیر نصب کنید:
# apk add docker
سپس اسکریپت Docker init را فعال کنید:
# rc-update add docker
در آخر ، Daemon Demoner را شروع کنید:
# rc-service docker start
می توانید تأیید کنید که داکر با این دستور در حال اجرا است:
# docker info
مانند آخرین بار ، این مراحل نصب Docker را برای هر سروری که در ابتدا مستقر کرده اید ، تکرار کنید.
با توجه به همه این تنظیمات ، شما سرانجام برای ایجاد ازدحام Docker آماده هستید.
به کنسول وب Docker Manager
سرور خود برگردید . شما این سرور را به عنوان یک گره مدیر در swarm خود پیکربندی می کنید. اگر تصمیم گرفتید docker
کاربر را زودتر ایجاد کنید ، با استفاده از آن حساب کاربری خود را وارد کنید و نه به عنوان سرگرمی.
دستور زیر را وارد کنید ، اما 192.0.2.1
آدرس IP را که به Docker Manager
سرور شما اختصاص داده شده است جایگزین خصوصی ، (نه عمومی) کنید :
$ docker swarm init --advertise-addr 192.0.2.1
Docker دستوری را که می توانید بر روی سرورهای دیگر در شبکه خصوصی اجرا کنید نمایش می دهد تا آنها را به عنوان گره های کارگر به این swarm جدید اضافه کند. این دستور را ذخیره کنید
اکنون به کنسول وب Docker Worker
سرور خود بروید و در docker
صورت ایجاد آن با کاربر وارد سیستم شوید.
برای افزودن این سرور به عنوان یک گره کارگر به swarm شما که ایجاد کرده اید ، فرمانی را که از خروجی فرمان ایجاد swarm صرفه جویی کرده اید ، اجرا کنید. شبیه به موارد زیر خواهد بود:
$ docker swarm join --token SWMTKN-1-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXX 192.0.2.1:2377
Docker نتیجه خواهد داد که آیا گره قادر به پیوستن به swarm بوده است یا خیر. اگر با مشکلات اضافه کردن گره های کارگر به swarm مواجه شدید ، پیکربندی شبکه خصوصی خود را دو برابر کنید و برای عیب یابی به این راهنما مراجعه کنید .
اگر در ابتدا بیش از دو سرور مستقر کرده اید ، می توانید با استفاده از دستور فوق ، بقیه را به عنوان گره های کارگر به swarm خود اضافه کنید و منابع موجود در برنامه خود را افزایش دهید. روش دیگر ، شما می توانید گره های مدیر اضافی اضافه کنید ، اما این فراتر از محدوده این راهنما نیست.
در این مرحله ازدحام Docker شما آماده استفاده است. اما ممکن است شما به طور اختیاری یک پشته Portainer را روی گره مدیر در swarm خود راه اندازی کنید. Portainer یک رابط وب مناسب برای مدیریت ازدحام و گره های موجود در آن ارائه می دهد.
اکنون زمان آن رسیده است که یک گروه فایروال برای swarm خود ایجاد کنید. مگر اینکه برنامه شما به طور خاص به آن نیاز داشته باشد ، فقط درگاه های مدیر خود را در معرض قرار دهید . قرار گرفتن درگاه در گره های کارگر شما بدون در نظر گرفتن دقت می تواند آسیب پذیری را ایجاد کند.
به رابط مدیریت فایروال بروید و یک گروه جدید فایروال ایجاد کنید. درخواست شما باید کدامیک از پورت ها را در معرض نمایش قرار دهد ، اما حداقل باید بندر را 9000
برای Portainer در معرض دید خود قرار دهید. این گروه فایروال را روی Docker Manager
سرور اعمال کنید.
در حالی که نیازی نیست ، ایمن سازی Portainer با SSL اکیداً توصیه می شود. به خاطر این راهنما ، شما فقط از یک گواهی OpenSSL خود امضا شده استفاده خواهید کرد ، اما باید در تولید ، از Let Encrypt استفاده کنید.
به کنسول وب Docker Manager
سرور بروید ، با استفاده از docker
کاربر وارد شوید و از دستورات زیر برای تولید گواهی OpenSSL خود امضا شده استفاده کنید:
$ mkdir ~/certs
$ openssl genrsa -out ~/certs/portainer.key 2048
$ openssl req -new -x509 -sha256 -key ~/certs/portainer.key -out ~/certs/portainer.pem -days 3650
~/portainer-agent-stack.yml
با محتوای زیر یک پرونده جدید ایجاد کنید :
version: '3.2'
services:
agent:
image: portainer/agent
environment:
AGENT_CLUSTER_ADDR: tasks.agent
CAP_HOST_MANAGEMENT: 1
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/volumes:/var/lib/docker/volumes
- /:/host
networks:
- agent_network
deploy:
mode: global
portainer:
image: portainer/portainer
command: -H tcp://tasks.agent:9001 --tlsskipverify --ssl --sslcert /certs/portainer.pem --sslkey /certs/portainer.key
ports:
- target: 9000
published: 9000
protocol: tcp
mode: host
volumes:
- portainer_data:/data
- /home/docker/certs:/certs
networks:
- agent_network
deploy:
mode: replicated
replicas: 1
placement:
constraints: [node.role == manager]
networks:
agent_network:
driver: overlay
attachable: true
volumes:
portainer_data:
پس از اصلاح این پرونده پیکربندی پشته Docker برای مطابقت با نیازهای خود ، می توانید آن را مستقر کنید:
$ docker stack deploy --compose-file ~/portainer-agent-stack.yml portainer
برای تأیید اینکه Portainer در حال کار است ، پس از دادن دو یا دو دقیقه به داکر ، دستور زیر را اجرا کنید:
$ docker ps
شما دو ظرف را با تصاویر مشاهده خواهید کرد portainer/portainer:latest
و portainer/agent:latest
تأیید می کنید که Portainer به درستی شروع شده است.
اکنون می توانید با مراجعه به آدرس IP عمومی Docker Manager
سرور خود در پورت 9000
با استفاده از HTTPS ، ازدحام Docker خود را تنظیم و مدیریت کنید .
بررسی اجمالی این مقاله به شما کمک می کند تا در هر زمان خوشه ای از Kubernetes را جمع کنید و با kubeadm در حال اجرا باشید. در این راهنما از دو سرور استفاده می شود
مقدمه Docker برنامه ای است که به ما امکان می دهد برنامه هایی را که به صورت ظروف اجرا می شوند مستقر کنیم. این متن با زبان محبوب برنامه نویسی Go نوشته شده است
با استفاده از یک سیستم متفاوت؟ Docker برنامه ای است که امکان استقرار نرم افزار در ظروف مجازی را فراهم می آورد. در برنامه نویسی Go نوشته شده است
با استفاده از یک سیستم متفاوت؟ مقدمه Rancher یک بستر منبع باز برای اجرای ظروف و ساخت سرویس کانتینر خصوصی است. رانچر پایه است
برنامه های PHP معمولاً توسط یک سرور ، یک سیستم پایگاه داده رابطه و خود مفسر زبان تشکیل می شوند. در این آموزش leveragin خواهیم بود
در این مقاله نحوه نصب docker-compose در CoreOS توضیح داده شده است. در CoreOS ، پوشه / usr / تغییر ناپذیر است بنابراین مسیر استاندارد / usr / local / bin در دسترس نیست
همه ما Docker را می شناسیم و دوست داریم ، سکویی برای ایجاد ، مدیریت و توزیع ظروف برنامه در دستگاه های مختلف. شرکت Docker یک سرویس t ارائه می دهد
با استفاده از یک سیستم متفاوت؟ مقدمه Rancher یک بستر منبع باز برای اجرای ظروف و ساخت سرویس کانتینر خصوصی است. رانچر پایه است
با استفاده از یک سیستم متفاوت؟ مقدمه Sentry یک راه حل منبع باز برای ردیابی خطا است. Sentry استثنائات و سایر پیام های مفید را از این طریق دنبال می کند
با استفاده از یک سیستم متفاوت؟ مقدمه Docker Swarm سرورهای شخصی شما را به گروهی از رایانه ها تبدیل می کند. تسهیل مقیاس پذیری ، در دسترس بودن بالا
با استفاده از یک سیستم متفاوت؟ مقدمه Docker Swarm سرورهای فردی شما را به مجموعه ای از رایانه ها تبدیل می کند و باعث می شود مقیاس پذیری و در دسترس بودن بالا را تسهیل کند
با کمک برنامه Vultr Docker ، به راحتی می توانید Docker را به عنوان نمونه سرور Vultr خود مستقر کنید. در ضمن ، می توانید وظیفه مدیریت داکر را تسهیل کنید
Harbour یک سرور رجیستری کلاس سازمانی منبع باز است که تصاویر Docker را ذخیره و توزیع می کند. بندرگاه منبع باز Docker Distribution b را گسترش می دهد
بررسی اجمالی RancherOS یک سیستم عامل فوق العاده سبک (فقط حدود 60 مگابایت) است که برای اجرای سرویس های سیستم ، یک Demoner سیستم Docker به عنوان PID 0 را اجرا می کند.
ظروف LXC (ظروف لینوکس) یک ویژگی سیستم عامل در لینوکس است که می تواند برای اجرای چندین سیستم جدا شده لینوکس روی یک هاست واحد مورد استفاده قرار گیرد. اینها
Kubernetes یک سیستم عامل منبع باز است که توسط Google برای مدیریت برنامه های کانتینر شده در سرتاسر گروههای سرور ساخته شده است. این بنا بر روی یک دهه ساخته می شود و
در این آموزش اصول اولیه کار با داکر توضیح داده شده است. فرض می کنم شما قبلاً داکر نصب کرده اید. مراحل این آموزش روی آن کار خواهد کرد
هنگام اجرای یک برنامه وب ، شما معمولاً می خواهید بدون استفاده از نرم افزار خود برای استفاده از multithreading o از منابع خود استفاده کنید.
پیش نیاز موتور داکر 1.8+. حداقل 4 گیگابایت فضای دیسک. حداقل 4 گیگابایت رم. مرحله 1. نصب Docker به منظور نصب SQL-Server ، Docker mus
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o
TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من
Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th
با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB
ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.
رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد