kind

kind — це інструмент для запуску локальних кластерів Kubernetes за допомогою контейнерів Docker nodes. kind був переважно розроблений для тестування самого Kubernetes, але може використовуватися для локальної розробки або CI. Слідуйте цим інструкціям, щоб підготувати кластер kind для установки Istio.

Попередні умови

Кроки установки

  1. Створіть кластер за допомогою наступної команди:

    $ kind create cluster --name istio-testing

    --name використовується для присвоєння конкретної назви кластеру. Стандартно кластер отримає імʼя “kind”.

  2. Щоб переглянути список кластерів kind, скористайтеся наступною командою:

    $ kind get clusters
    istio-testing
  3. Щоб переглянути локальні контексти Kubernetes, скористайтеся наступною командою.

    $ kubectl config get-contexts
    CURRENT   NAME                 CLUSTER              AUTHINFO             NAMESPACE
    *         kind-istio-testing   kind-istio-testing   kind-istio-testing
              minikube             minikube             minikube
  4. Якщо ви запускаєте кілька кластерів, вам потрібно вибрати, з яким кластером буде взаємодіяти kubectl. Ви можете встановити стандартний кластер в kubectl, змінивши поточний контекст у файлі Kubernetes kubeconfig. Також ви можете виконати наступну команду, щоб встановити поточний контекст для kubectl.

    $ kubectl config use-context kind-istio-testing
    Switched to context "kind-istio-testing".

    Після налаштування кластера kind ви можете перейти до встановлення Istio на ньому.

  5. Коли ви закінчите експериментувати та захочете видалити поточний кластер, скористайтеся наступною командою:

    $ 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.

  1. Щоб розгорнути Dashboard, виконайте наступну команду:

    $ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
  2. Перевірте, що 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
  3. Створіть 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
  4. Щоб увійти в Dashboard, вам потрібен Bearer Token. Використовуйте наступну команду, щоб зберегти токен у змінній.

    $ token=$(kubectl -n kubernetes-dashboard create token admin-user)

    Виведіть токен за допомогою команди echo і скопіюйте його для входу в Dashboard.

    $ echo $token
  5. Ви можете отримати доступ до Dashboard, використовуючи командний рядок kubectl, виконавши наступну команду:

    $ kubectl proxy
    Starting to serve on 127.0.0.1:8001

    Перейдіть до Kubernetes Dashboard для перегляду ваших розгортань та сервісів.

Чи була ця інформація корисною?
Чи є у вас пропозиції щодо покращення?

Дякуємо за ваш відгук!