40 Days Of Kubernetes (27/40)

Summarize this content to 400 words in Persian Lang
روز 27/40
لینک ویدیو@piyushsachdeva مخزن گیتمن Git Repo
ما قصد داریم یک گره چندگانه را راه اندازی کنیم Kubernetes خوشه با kubeadm.راهنمای نصب
قبل از شروع، لطفاً به فلوچارت زیر نگاهی بیندازید و به چند سؤال برای شناسایی هدف نصب پاسخ دهید.
(عکس از ویدیو)
برای اینکه بدانید در این فرآیند به کدام پورت ها و پروتکل هایی نیاز داریم، لطفاً به مستندات نگاه کنید
در اینجا چیزی است که ما نیاز داریم:
پروتکل
جهت
محدوده بندر
هدف
استفاده شده توسط
TCP
ورودی
6443
سرور Kubernetes API
همه
TCP
ورودی
2379-2380
API مشتری سرور etcd
kube-apiserver، etcd
TCP
ورودی
10250
Kubelet API
خود، هواپیمای کنترلی
TCP
ورودی
10259
برنامه های مکعبی
خود
TCP
ورودی
10257
kube-controller-manager
خود
پروتکل
جهت
محدوده بندر
هدف
استفاده شده توسط
TCP
ورودی
10250
Kubelet API
خود، هواپیمای کنترلی
TCP
ورودی
10256
پروکسی باشد
خود، متعادل کننده بار
TCP
ورودی
30000-32767
خدمات NodePort†
همه
توجه داشته باشید پیش فرض NodePort محدوده 30000-32767 است.
(عکس از ویدیو)
پس از باز کردن پورت ها و پروتکل های لازم، مراحل زیر را برای ادامه داریم:
(عکس از ویدیو)
1. صفحه(های) کنترل را راه اندازی کنید
توجه داشته باشید من با دستورالعملی که در ویدیو معرفی شده است مشکلاتی داشتم و یکی دیگر را در اینجا دنبال کردم
root@hirmand:~# kubeadm init –apiserver-advertise-address=192.168.1.201 –apiserver-cert-extra-sans=192.168.1.201 –pod-network-cidr=$POD_CIDR –node-name $NODENAME –ignore-preflight-errors Swap
…
Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Alternatively, if you are the root user, you can run:
export KUBECONFIG=/etc/kubernetes/admin.conf
You should now deploy a pod network to the cluster.
Run “kubectl apply -f [podnetwork].yaml” with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/
Then you can join any number of worker nodes by running the following on each as root:
kubeadm join 192.168.1.201:6443 –token XXXX \
–discovery-token-ca-cert-hash sha256:XXXX
root@hirmand:~#
root@hirmand:~# mkdir -p $HOME/.kube
root@hirmand:~# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
cp: overwrite ‘/root/.kube/config’? y
root@hirmand:~# sudo chown $(id -u):$(id -g) $HOME/.kube/config
root@hirmand:~# kubectl get nodes
NAME STATUS ROLES AGE VERSION
hirmand Ready control-plane 6m45s v1.29.6
root@hirmand:~# kubectl get po -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-76f75df574-cpthh 1/1 Running 0 2m44s
coredns-76f75df574-jx2tr 1/1 Running 0 2m44s
etcd-hirmand 1/1 Running 0 2m58s
kube-apiserver-hirmand 1/1 Running 0 2m56s
kube-controller-manager-hirmand 1/1 Running 0 2m56s
kube-proxy-v24nc 1/1 Running 0 2m44s
kube-scheduler-hirmand 1/1 Running 0 2m56s
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
شما با استفاده از دستور زیر تمام وضعیت های سلامت جزء خوشه را تأیید می کنید.
root@hirmand:~# kubectl get –raw=’/readyz?verbose’
[+]ping ok
[+]log ok
[+]etcd ok
[+]etcd-readiness ok
[+]informer-sync ok
[+]poststarthook/start-kube-apiserver-admission-initializer ok
[+]poststarthook/generic-apiserver-start-informers ok
[+]poststarthook/priority-and-fairness-config-consumer ok
[+]poststarthook/priority-and-fairness-filter ok
[+]poststarthook/storage-object-count-tracker-hook ok
[+]poststarthook/start-apiextensions-informers ok
[+]poststarthook/start-apiextensions-controllers ok
[+]poststarthook/crd-informer-synced ok
[+]poststarthook/start-service-ip-repair-controllers ok
[+]poststarthook/rbac/bootstrap-roles ok
[+]poststarthook/scheduling/bootstrap-system-priority-classes ok
[+]poststarthook/priority-and-fairness-config-producer ok
[+]poststarthook/start-system-namespaces-controller ok
[+]poststarthook/bootstrap-controller ok
[+]poststarthook/start-cluster-authentication-info-controller ok
[+]poststarthook/start-kube-apiserver-identity-lease-controller ok
[+]poststarthook/start-kube-apiserver-identity-lease-garbage-collector ok
[+]poststarthook/start-legacy-token-tracking-controller ok
[+]poststarthook/aggregator-reload-proxy-client-cert ok
[+]poststarthook/start-kube-aggregator-informers ok
[+]poststarthook/apiservice-registration-controller ok
[+]poststarthook/apiservice-status-available-controller ok
[+]poststarthook/kube-apiserver-autoregistration ok
[+]autoregister-completion ok
[+]poststarthook/apiservice-openapi-controller ok
[+]poststarthook/apiservice-openapiv3-controller ok
[+]poststarthook/apiservice-discovery-controller ok
[+]shutdown ok
readyz check passed
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
با استفاده از دستور زیر می توانید اطلاعات کلاستر را دریافت کنید.
root@hirmand:~# kubectl cluster-info
Kubernetes control plane is running at https://192.168.1.201:6443
CoreDNS is running at https://192.168.1.201:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use ‘kubectl cluster-info dump’.
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
همچنین ما می توانیم ببینیم چه چیزی در حال اجرا است crio
root@hirmand:~# crictl ps
CONTAINER IMAGE CREATED STATE NAME ATTEMPT POD ID POD
9d2e49e04a8c6 cbb01a7bd410dc08ba382018ab909a674fb0e48687f0c00797ed5bc34fcc6bb4 27 minutes ago Running coredns 0 73c63dace340f coredns-76f75df574-jx2tr
80b28eed7a261 cbb01a7bd410dc08ba382018ab909a674fb0e48687f0c00797ed5bc34fcc6bb4 27 minutes ago Running coredns 0 17b3229fcba67 coredns-76f75df574-cpthh
43aa435ebf9b9 cc8c46cf9d741d1e8a357e5899f298d2f4ac4d890a2d248026b57e130e91cd07 28 minutes ago Running kube-proxy 0 142a0879d0aff kube-proxy-v24nc
ff08c6467722c 9cffb486021b39220589cbd71b6537e6f9cafdede1eba315b4b0dc83e2f4fc8e 28 minutes ago Running kube-scheduler 0 a3651339cefcb kube-scheduler-hirmand
aa743dad754ae 32fe966e5c2b2a05d6b6a56a63a60e09d4c227ec1742d68f921c0b72e23537f8 28 minutes ago Running kube-controller-manager 0 612119d9b2305 kube-controller-manager-hirmand
778f57020bf6a a2e0d7fa8464a06b07519d78f53fef101bb1bcf716a85f2ac8b397f1a0025bea 28 minutes ago Running kube-apiserver 0 b8239c12b0245 kube-apiserver-hirmand
47de3e407aa19 3861cfcd7c04ccac1f062788eca39487248527ef0c0cfd477a83d7691a75a899 28 minutes ago Running etcd 0 8fee4905f4136 etcd-hirmand
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
اگر دستور پیوستن به گره دیگری به عنوان گره کارگر را فراموش کردید، می توانید از دستور زیر استفاده کنید:
kubeadm token create –print-join-command
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
سرور Kubernetes Metrics را راه اندازی کنید
kubectl apply -f https://raw.githubusercontent.com/techiescamp/kubeadm-scripts/main/manifests/metrics-server.yaml
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
kubectl top nodes
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
2. کارگر(های) را راه اندازی کنید
(عکس از ویدیو)
باز هم به دستور اینجا عمل کردم
روز 27/40
لینک ویدیو
@piyushsachdeva
مخزن گیت
من Git Repo
ما قصد داریم یک گره چندگانه را راه اندازی کنیم Kubernetes
خوشه با kubeadm
.
راهنمای نصب
قبل از شروع، لطفاً به فلوچارت زیر نگاهی بیندازید و به چند سؤال برای شناسایی هدف نصب پاسخ دهید.
(عکس از ویدیو)
برای اینکه بدانید در این فرآیند به کدام پورت ها و پروتکل هایی نیاز داریم، لطفاً به مستندات نگاه کنید
در اینجا چیزی است که ما نیاز داریم:
پروتکل | جهت | محدوده بندر | هدف | استفاده شده توسط |
---|---|---|---|---|
TCP | ورودی | 6443 | سرور Kubernetes API | همه |
TCP | ورودی | 2379-2380 | API مشتری سرور etcd | kube-apiserver، etcd |
TCP | ورودی | 10250 | Kubelet API | خود، هواپیمای کنترلی |
TCP | ورودی | 10259 | برنامه های مکعبی | خود |
TCP | ورودی | 10257 | kube-controller-manager | خود |
پروتکل | جهت | محدوده بندر | هدف | استفاده شده توسط |
---|---|---|---|---|
TCP | ورودی | 10250 | Kubelet API | خود، هواپیمای کنترلی |
TCP | ورودی | 10256 | پروکسی باشد | خود، متعادل کننده بار |
TCP | ورودی | 30000-32767 | خدمات NodePort† | همه |
توجه داشته باشید پیش فرض NodePort
محدوده 30000-32767 است.
(عکس از ویدیو)
پس از باز کردن پورت ها و پروتکل های لازم، مراحل زیر را برای ادامه داریم:
(عکس از ویدیو)
1. صفحه(های) کنترل را راه اندازی کنید
توجه داشته باشید من با دستورالعملی که در ویدیو معرفی شده است مشکلاتی داشتم و یکی دیگر را در اینجا دنبال کردم
root@hirmand:~# kubeadm init --apiserver-advertise-address=192.168.1.201 --apiserver-cert-extra-sans=192.168.1.201 --pod-network-cidr=$POD_CIDR --node-name $NODENAME --ignore-preflight-errors Swap
...
Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Alternatively, if you are the root user, you can run:
export KUBECONFIG=/etc/kubernetes/admin.conf
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/
Then you can join any number of worker nodes by running the following on each as root:
kubeadm join 192.168.1.201:6443 --token XXXX \
--discovery-token-ca-cert-hash sha256:XXXX
root@hirmand:~#
root@hirmand:~# mkdir -p $HOME/.kube
root@hirmand:~# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
cp: overwrite '/root/.kube/config'? y
root@hirmand:~# sudo chown $(id -u):$(id -g) $HOME/.kube/config
root@hirmand:~# kubectl get nodes
NAME STATUS ROLES AGE VERSION
hirmand Ready control-plane 6m45s v1.29.6
root@hirmand:~# kubectl get po -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-76f75df574-cpthh 1/1 Running 0 2m44s
coredns-76f75df574-jx2tr 1/1 Running 0 2m44s
etcd-hirmand 1/1 Running 0 2m58s
kube-apiserver-hirmand 1/1 Running 0 2m56s
kube-controller-manager-hirmand 1/1 Running 0 2m56s
kube-proxy-v24nc 1/1 Running 0 2m44s
kube-scheduler-hirmand 1/1 Running 0 2m56s
شما با استفاده از دستور زیر تمام وضعیت های سلامت جزء خوشه را تأیید می کنید.
root@hirmand:~# kubectl get --raw='/readyz?verbose'
[+]ping ok
[+]log ok
[+]etcd ok
[+]etcd-readiness ok
[+]informer-sync ok
[+]poststarthook/start-kube-apiserver-admission-initializer ok
[+]poststarthook/generic-apiserver-start-informers ok
[+]poststarthook/priority-and-fairness-config-consumer ok
[+]poststarthook/priority-and-fairness-filter ok
[+]poststarthook/storage-object-count-tracker-hook ok
[+]poststarthook/start-apiextensions-informers ok
[+]poststarthook/start-apiextensions-controllers ok
[+]poststarthook/crd-informer-synced ok
[+]poststarthook/start-service-ip-repair-controllers ok
[+]poststarthook/rbac/bootstrap-roles ok
[+]poststarthook/scheduling/bootstrap-system-priority-classes ok
[+]poststarthook/priority-and-fairness-config-producer ok
[+]poststarthook/start-system-namespaces-controller ok
[+]poststarthook/bootstrap-controller ok
[+]poststarthook/start-cluster-authentication-info-controller ok
[+]poststarthook/start-kube-apiserver-identity-lease-controller ok
[+]poststarthook/start-kube-apiserver-identity-lease-garbage-collector ok
[+]poststarthook/start-legacy-token-tracking-controller ok
[+]poststarthook/aggregator-reload-proxy-client-cert ok
[+]poststarthook/start-kube-aggregator-informers ok
[+]poststarthook/apiservice-registration-controller ok
[+]poststarthook/apiservice-status-available-controller ok
[+]poststarthook/kube-apiserver-autoregistration ok
[+]autoregister-completion ok
[+]poststarthook/apiservice-openapi-controller ok
[+]poststarthook/apiservice-openapiv3-controller ok
[+]poststarthook/apiservice-discovery-controller ok
[+]shutdown ok
readyz check passed
با استفاده از دستور زیر می توانید اطلاعات کلاستر را دریافت کنید.
root@hirmand:~# kubectl cluster-info
Kubernetes control plane is running at https://192.168.1.201:6443
CoreDNS is running at https://192.168.1.201:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
همچنین ما می توانیم ببینیم چه چیزی در حال اجرا است crio
root@hirmand:~# crictl ps
CONTAINER IMAGE CREATED STATE NAME ATTEMPT POD ID POD
9d2e49e04a8c6 cbb01a7bd410dc08ba382018ab909a674fb0e48687f0c00797ed5bc34fcc6bb4 27 minutes ago Running coredns 0 73c63dace340f coredns-76f75df574-jx2tr
80b28eed7a261 cbb01a7bd410dc08ba382018ab909a674fb0e48687f0c00797ed5bc34fcc6bb4 27 minutes ago Running coredns 0 17b3229fcba67 coredns-76f75df574-cpthh
43aa435ebf9b9 cc8c46cf9d741d1e8a357e5899f298d2f4ac4d890a2d248026b57e130e91cd07 28 minutes ago Running kube-proxy 0 142a0879d0aff kube-proxy-v24nc
ff08c6467722c 9cffb486021b39220589cbd71b6537e6f9cafdede1eba315b4b0dc83e2f4fc8e 28 minutes ago Running kube-scheduler 0 a3651339cefcb kube-scheduler-hirmand
aa743dad754ae 32fe966e5c2b2a05d6b6a56a63a60e09d4c227ec1742d68f921c0b72e23537f8 28 minutes ago Running kube-controller-manager 0 612119d9b2305 kube-controller-manager-hirmand
778f57020bf6a a2e0d7fa8464a06b07519d78f53fef101bb1bcf716a85f2ac8b397f1a0025bea 28 minutes ago Running kube-apiserver 0 b8239c12b0245 kube-apiserver-hirmand
47de3e407aa19 3861cfcd7c04ccac1f062788eca39487248527ef0c0cfd477a83d7691a75a899 28 minutes ago Running etcd 0 8fee4905f4136 etcd-hirmand
اگر دستور پیوستن به گره دیگری به عنوان گره کارگر را فراموش کردید، می توانید از دستور زیر استفاده کنید:
kubeadm token create --print-join-command
سرور Kubernetes Metrics را راه اندازی کنید
kubectl apply -f https://raw.githubusercontent.com/techiescamp/kubeadm-scripts/main/manifests/metrics-server.yaml
kubectl top nodes
2. کارگر(های) را راه اندازی کنید
(عکس از ویدیو)
باز هم به دستور اینجا عمل کردم