در ادامه ی سلسه مطالب نصب و پیکربندی Cilium بر روی Kubernetes، اکنون در قسمت دوم قصد داریم تا Cilium را نصب کنیم. روش نصب Cilium بستگی به نحوه ی Deploy کردن کلاستر کوبرنتیز شما دارد که با توجه به مستندات Cilium باید روش و ابزار مناسب جهت نصب Cilium را انتخاب کنید. در این مطلب می خواهیم تا با استفاده از Minikube یک Kubernetes cluster راه اندازی کنیم و سپس Cilium را روی آن نصب کنیم. بدین منظور کافیست تا دستور زیر را اجرا کنید:
minikube start --network-plugin=cni --cni=false --memory 10240 --cpus 6
نکته: برای اطلاعات بیشتر در مورد نصب Minikube می توانید مطلب « آموزش نصب Kubernetes با Minikube» را ببینید.
یک نمونه خروجی از دستور گفته شده را در تصویر پایین مشاهده می کنید:
نصب Cilium CLI:
اکنون نیاز است تا آخرین نسخه ی Cilium CLI را نصب کنیم. با استفاده از Cilium CLI می توان Cilium را نصب کرد، وضعیت نصب Cilium را بررسی کرد و برخی ویژگی ها مانند clustermesh و Hubble را فعال و غیر فعال کرد. برای نصب Cilium CLI کافیست تا دستورهای زیر را بر روی لینوکس اجرا کنید:
CILIUM_CLI_VERSION=$(curl -s https://raw.githubusercontent.com/cilium/cilium-cli/master/stable.txt) CLI_ARCH=amd64 if [ "$(uname -m)" = "aarch64" ]; then CLI_ARCH=arm64; fi
curl -L --fail --remote-name-all https://github.com/cilium/cilium-cli/releases/download/${CILIUM_CLI_VERSION}/cilium-linux-${CLI_ARCH}.tar.gz{,.sha256sum}
sha256sum --check cilium-linux-${CLI_ARCH}.tar.gz.sha256sum sudo tar xzvfC cilium-linux-${CLI_ARCH}.tar.gz /usr/local/bin rm cilium-linux-${CLI_ARCH}.tar.gz{,.sha256sum}
نصب Cilium:
بطور کلی برای نصب Cilium بر روی Kubernetes cluster می توان از دستور زیر استفاده کرد. با اجرای دستور زیر، Cilium بر روی کوبرنتیز کلاستری که در kubectl context جاری باشد نصب خواهد شد:
cilium install
بررسی نصب Cilium:
جهت بررسی صحت نصب Cilium می توان از دستور زیر استفاده کرد:
cilium status --wait
یک نمونه خروجی از دستور گفته شده را در تصویر پایین مشاهده می کنید:
برای بررسی درستی کارکرد شبکه می توان از دستور زیر استفاده کرد:
cilium connectivity test
یک نمونه خروجی از دستور گفته شده را در تصویر پایین مشاهده می کنید:
برای لیست گرفتن از Cilium agent ها می توان از دستور زیر استفاده کرد:
kubectl -n kube-system get pods -l k8s-app=cilium
اکنون با فهمیدن نام Cilium pod (یکی از Cilium pod ها) می توان وارد آن شد و دستورهای Cilium را اجرا کرد. به عنوان نمونه برای گرفتن لیست endpoint ها می توان از دستور زیر استفاده کرد:
kubectl -n kube-system exec cilium-ff8xd -- cilium endpoint list
یک نمونه خروجی از دستور گفته شده را در تصویر پایین مشاهده می کنید:
از آنجایی که Cilium مبتنی بر eBPF است می توانیم یک لایه عمیق تر جلو برویم و به policy های مربوط به eBPF نگاه بیندازیم:
kubectl -n kube-system exec cilium-ff8xd -- cilium bpf policy get --all
یک نمونه خروجی از دستور گفته شده را در تصویر پایین مشاهده می کنید:
نکته اینکه، شماره policy با endpoint ID که بالاتر آنها را لیست کردیم مرتبط است.
ادامه دارد …