در این پست به آموزش نصب وراه اندازی kubernetes در debian میپردازیم.
در این آموزش ما نیازمندی هایی داریم که در زیر به ترتیب لیست شده اند
- ۳ ماشین مجازی که یکی از آنها به عنوان master و دوتای دیگر به عنوان node
- نصب debian بر روی این ۳ ماشین مجازی ( شما میتوانید برای آموزش نصب debian به اینجا مراجعه کنید )
بعد از اینکه نیازمندی ها را فراهم کردیم نوبت به تعریف هر یک از ماشین ها برای شناسایی آنها و تنظیمات آتی میرسد. برای این منظور ما این ۳ ماشین مجازی را بصورت زیر تعریف میکنیم.
kube-master.nowlearn.ir 10.0.1.80
kube-node1.nowlearn.ir 10.0.1.81
kube-node2.nowlearn.ir 10.0.1.82
نکته: شما میتوانید از هر IP و یا اسمی برای ماشین های خود استفاده کنید.
بعد از اینکه کارهای بالا را انجام دادیم نوبت به نصب نود master میرسد. برای این منظور ما باید یکسری نرم افزارها و سرویس ها را که در زیر آنها را لیست کرده ایم و بر روی این نود نصب کنیم تا بتواند نود های زیر مجموعه خود را مدیریت کند.
- ابتدا باید ملزومات نود مستر که بتواند kubernetes را اجرا کند به ترتیب زیر نصب کنیم.
- docker
- etcd
- flanneld
- درمرحله دوم هم باید خود kubernetes را همراه با ملزوماتش بترتیب نصب کنیم .
- api-server
- controller-manager
- kublet
- proxy
- scheduler
حالا نوبت به نصب میرسد . در مرحله اول سیستم را آماده میکنیم . برای این منظور دستورات زیر را اجرا میکنیم.
نکته: با اجرای دستورات زیر بر روی ماشین ها هر کدام از آنها براحتی با استفاده از اسم همدیگر را خواهند دید.
echo ‘10.0.1.80 kube-master.nowlearn.ir kube-master’ >> /etc/hosts
echo ‘10.0.1.81 kube-node1.nowlearn.ir kube-node1’ >> /etc/hosts
echo ‘10.0.1.82 kube-node2.nowlearn.ir kube-node2’ >> /etc/hosts
سپس با استفاده از دستور زیر اقدام به نصب چند بسته نرم افزاری که در ادامه به آن نیاز خواهیم داشت میکتیم.
apt-get -fqqy install apt-transport-https ca-certificates curl
حالا باید بسته مربوط به خود kubernetes را دانلود کنیم که حجمی برای ۱٫۴ گیگ دارد. برای این منظور دستور زیر را اجرا میکنیم.
نکته: این دستور بسته را دانلود کرده سپس آن را ار حالت فشرده خارج میکند و در مسیر /usr/bin/ قرار میدهد و بعد به همان مسیر میرود و یک symlinks یا shortcut از hyperkube ایجاد میکند.
curl \
–progress-bar \
–location \
‘https://github.com/kubernetes/kubernetes/releases/download/v1.3.4/kubernetes.tar.gz’ \
| tar –to-stdout -zxf – kubernetes/server/kubernetes-server-linux-amd64.tar.gz \
| tar –to-stdout -zxf – kubernetes/server/bin/hyperkube > /usr/bin/hyperkube
chmod a+x /usr/bin/hyperkube
cd /usr/bin/
/usr/bin/hyperkube –make-symlinks
در آخر برای kubernetes یک کاربر و مسیر دایرکتوری خانگی با استفاده از دستور زیر میسازیم.
mkdir -p /var/lib/k8s
groupadd kube
useradd kube -g kube -d /var/lib/k8s/ -s /bin/false
chown kube:kube /var/lib/k8s
مرحله دوم نصب داکر هستش که شما مشتوانید برای آموزش آن به آدرس اینجا بروید.
مرحله سوم نصب etcd میباشد. برای این منظور بصورت زیر عمل میکنیم.
ابتدا گروه و کاربر مربوط به etcd را با استفاده از دستورات زیر ایجاد می کنیم.
groupadd etcd
useradd etcd -d /var/lib/k8s/etcd -s /bin/false -g etcd
mkdir -p /var/lib/k8s/etcd
chown etcd:etcd /var/lib/k8s/etcd -R
سپس به مسیر /usr/local/src میرویم و با استفاه از دستورات زیر etcd را دانلود و از حالت فشرده خارج میکنیم.
cd /usr/local/srccd /usr/local/src
curl –silent –location ‘https://github.com/coreos/etcd/releases/download/v3.0.4/etcd-v3.0.4-linux-amd64.tar.gz’ | tar -zvxf-
cd etcd-v3.0.4-linux-amd64
cp etcd /usr/bin/
cp etcdctl /usr/bin/
بعد از اینکه کارهای بالا را انجام دادیم نوبت به تعریف etcd به عنوان یک سرویس برای سیستم میرسد. برای این منظور بصورت زیر عمل میکنم.
cat << EOF > /lib/systemd/system/etcd.service
[Unit]
Description=etcd key-value store
Documentation=https://github.com/coreos/etcd
[Service]
User=etcd
Type=notify
ExecStart=/usr/bin/etcd \\
–advertise-client-urls http://10.0.1.80:4001 \\
–data-dir /var/lib/k8s/etcd \\
–listen-client-urls http://10.0.1.80:4001,http://127.0.0.1:4001
Restart=always
RestartSec=10s
LimitNOFILE=40000
[Install]
WantedBy=multi-user.target
EOF
نکته: دستور بالا یک فایل سرویس برای systemctl در مسیر /lib/systemd/system/etcd.service می سازد.
بعد از انجام دستورات بالا نوبت به اجرا کردن و بالا آوردن سرویس etcd می رسد. برای این مظور بصورت زیر عمل میکنیم.
systemctl daemon-reload
systemctl enable etcd
service etcd start
برای خواندن قسمت دوم این مقاله به اینجا مراجعه کنید.
برای خواندن قسمت سوم آموزش به اینجا مراجعه کنید.