kind
kind — це інструмент для запуску локальних кластерів Kubernetes за допомогою контейнерів Docker nodes
. kind був переважно розроблений для тестування самого Kubernetes, але може використовуватися для локальної розробки або CI. Слідуйте цим інструкціям, щоб підготувати кластер kind для установки Istio.
Попередні умови
- Будь ласка, використовуйте останню версію Go.
- Для використання kind вам також потрібно встановити Docker.
- Встановіть останню версію kind.
- Збільшіть ліміт памʼяті Docker.
Кроки установки
Створіть кластер за допомогою наступної команди:
$ kind create cluster --name istio-testing
--name
використовується для присвоєння конкретної назви кластеру. Стандартно кластер отримає імʼя “kind”.Щоб переглянути список кластерів kind, скористайтеся наступною командою:
$ kind get clusters istio-testing
Щоб переглянути локальні контексти Kubernetes, скористайтеся наступною командою.
$ kubectl config get-contexts CURRENT NAME CLUSTER AUTHINFO NAMESPACE * kind-istio-testing kind-istio-testing kind-istio-testing minikube minikube minikube
Якщо ви запускаєте кілька кластерів, вам потрібно вибрати, з яким кластером буде взаємодіяти
kubectl
. Ви можете встановити стандартний кластер вkubectl
, змінивши поточний контекст у файлі Kubernetes kubeconfig. Також ви можете виконати наступну команду, щоб встановити поточний контекст дляkubectl
.$ kubectl config use-context kind-istio-testing Switched to context "kind-istio-testing".
Після налаштування кластера kind ви можете перейти до встановлення Istio на ньому.
Коли ви закінчите експериментувати та захочете видалити поточний кластер, скористайтеся наступною командою:
$ kind delete cluster --name istio-testing Deleting cluster "istio-testing" ...
Налаштування LoadBalancer для kind
kind не має вбудованого способу надання IP-адрес для сервісів типу Loadbalancer
. Щоб забезпечити призначення IP-адрес для сервісів Gateway
, будь ласка, ознайомтеся з цією інструкцією для отримання додаткової інформації.
Налаштування Dashboard UI для kind
kind не має вбудованого Dashboard UI, як minikube. Але ви все ще можете налаштувати Dashboard, вебінтерфейс Kubernetes, для перегляду вашого кластера. Слідуйте цим інструкціям, щоб налаштувати Dashboard для kind.
Щоб розгорнути Dashboard, виконайте наступну команду:
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
Перевірте, що Dashboard розгорнуто та працює.
$ kubectl get pod -n kubernetes-dashboard NAME READY STATUS RESTARTS AGE dashboard-metrics-scraper-76585494d8-zdb66 1/1 Running 0 39s kubernetes-dashboard-b7ffbc8cb-zl8zg 1/1 Running 0 39s
Створіть
ServiceAccount
іClusterRoleBinding
, щоб надати адміністративний доступ до новоствореного кластера.$ kubectl create serviceaccount -n kubernetes-dashboard admin-user $ kubectl create clusterrolebinding -n kubernetes-dashboard admin-user --clusterrole cluster-admin --serviceaccount=kubernetes-dashboard:admin-user
Щоб увійти в Dashboard, вам потрібен Bearer Token. Використовуйте наступну команду, щоб зберегти токен у змінній.
$ token=$(kubectl -n kubernetes-dashboard create token admin-user)
Виведіть токен за допомогою команди
echo
і скопіюйте його для входу в Dashboard.$ echo $token
Ви можете отримати доступ до Dashboard, використовуючи командний рядок kubectl, виконавши наступну команду:
$ kubectl proxy Starting to serve on 127.0.0.1:8001
Перейдіть до Kubernetes Dashboard для перегляду ваших розгортань та сервісів.