1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/kubewharf-kubezoo

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
debug-kubezoo-locally.md 4.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 00:13 a6f5fd5

Отладка локально

В этом руководстве рассказывается, как отлаживать KubeZoo локально с кластером kind в качестве вышестоящего кластера.

Предварительные условия

Пожалуйста, установите последние версии kind, kubectl, yq, etcd и cfssl.

Создание кластера kind и настройка контекста kubectl

kind create cluster
kubectl config use-context kind-kind

Создайте секреты, содержащие необходимые сертификаты/ключи

Для работы KubeZoo нам нужны два набора сертификатов/ключей:

  1. Сертификаты/ключи, используемые для защиты связи между клиентами арендаторов и KubeZoo, которые будут созданы локально и сохранены в подкаталоге _output/kubezoo в корневом каталоге KubeZoo;
  2. Сертификаты/ключи, используемые для защиты связи между KubeZoo и вышестоящим кластером, которые необходимо получить из вышестоящего кластера и сохранить в секрете _output/kubezoo в корневом каталоге KubeZoo.
$ bash $KUBEZOO_PATH/hack/lib/gen_pki.sh gen_pki_setup_ctx_print_parameters

После успешного выполнения параметры запуска KubeZoo будут выведены на печать.

--allow-privileged=true
--apiserver-count=1
--cors-allowed-origins=.*
--delete-collection-workers=1
--etcd-prefix=/zoo
...

Этот скрипт также настроит контекст kubectl для доступа к KubeZoo.

$ kubectl config get-contexts
CURRENT   NAME        CLUSTER     AUTHINFO    NAMESPACE
*         kind-kind   kind-kind   kind-kind
          zoo         zoo         zoo-admin

Запустите etcd локально

$ etcd
{"level":"info","ts":"2021-09-17T09:19:32.783-0400","caller":"etcdmain/etcd.go:72","msg":... }

Запустите KubeZoo с выведенными параметрами

kubezoo --allow-privileged=true
--apiserver-count=1
--cors-allowed-origins=.*
--delete-collection-workers=1
--etcd-prefix=/zoo
...

Подключитесь к KubeZoo!

$ kubectl api-resources --context zoo
NAME                              SHORTNAMES   APIVERSION                        NAMESPACED   KIND
...
tenants                                        tenant.kubezoo.io/v1alpha1       false        Tenant

Создайте арендатора

$ kubectl apply -f config/setup/sample_tenant.yaml --context zoo
tenant.tenant.kubezoo.io/111111 created

Имя арендатора должно быть допустимой 6-символьной меткой DNS, соответствующей RFC 1123 (префикс [A-Za-z0-9][A-Za-z0-9\-]{5}).

Получите kubeconfigs арендатора

$ kubectl get tenant 111111 --context zoo -o jsonpath='{.metadata.annotations.kubezoo\.io\/tenant\.kubeconfig\.base64}' | base64 --decode > 111111.kubeconfig

Создайте модуль как арендатор

$ kubectl apply --kubeconfig 111111.kubeconfig -f- <<EOF
apiVersion: v1
kind: Pod
metadata:
  name: test
spec:
  containers:
  - name: test
    image: busybox
    command:
    - tail
    args:
    - -f
    - /dev/null
EOF
pod/test created

Получите модуль как арендатор.

$ kubectl get po --kubeconfig 111111.kubeconfig
NAME   READY   STATUS    RESTARTS   AGE
test   1/1     Running   0          44s

Получите модуль как администратор кластера.

$ kubectl get po -A
NAMESPACE            NAME                                         READY   STATUS    RESTARTS   AGE
111111-default       test                                         1/1     Running   0          2m28s
...

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/kubewharf-kubezoo.git
git@api.gitlife.ru:oschina-mirror/kubewharf-kubezoo.git
oschina-mirror
kubewharf-kubezoo
kubewharf-kubezoo
main