Deckhouse Platform на OpenStack
Доступ к кластеру через Kubernetes API
Deckhouse только что завершил процесс установки вашего кластера. Теперь вы можете подключиться к master-узлу, используя ssh. Для этого необходимо получить IP-адрес master-узла либо из логов dhctl, либо из web интерфейса/cli утилиты облачного провайдера.
Вы можете запускать kubectl на master-узле от пользователя root. Это не безопасный способ, и мы рекомендуем настроить внешний доступ к Kubernetes API позже.
Доступ к кластеру через NGINX Ingress
IngressNginxController был создан во время процесса установки кластера. Теперь осталось настроить доступ к веб-интерфейсам компонентов, которые уже установлены в кластере, таким как Grafana, Prometheus, Dashboard и так далее.
LoadBalancer уже создан и вам остаётся только направить DNS-домен на него. В первую очередь необходимо подключиться к master-узлу, как это описано выше.
Получите IP адрес балансировщика. Для этого, на master-узле от пользователя root
выполните команду:
BALANCER_IP=$(kubectl -n d8-ingress-nginx get svc nginx-load-balancer -o json | jq -r '.status.loadBalancer.ingress[0].ip')
echo "$BALANCER_IP"
Настройте домен для сервисов Deckhouse, который вы указали на шаге «Установка кластера», одним из следующих способов:
- Если у вас есть возможность добавить DNS-запись используя DNS-сервер:
- Если ваш шаблон DNS-имен кластера является wildcard
DNS-шаблоном (например,
%s.kube.my
), то добавьте соответствующую wildcard A-запись со значением IP-адреса балансировщика (BALANCER_IP
), который вы получили выше. -
Если ваш шаблон DNS-имен кластера НЕ является wildcard DNS-шаблоном (например,
%s-kube.company.my
), то добавьте А или CNAME-записи со значением IP-адреса балансировщика (BALANCER_IP
), который вы получили выше, для следующих DNS-имен сервисов Deckhouse в вашем кластере:dashboard.example.com deckhouse.example.com dex.example.com grafana.example.com kubeconfig.example.com status.example.com upmeter.example.com
- Если ваш шаблон DNS-имен кластера является wildcard
DNS-шаблоном (например,
Если вы не имеете под управлением DNS-сервер, то на компьютере, с которого необходим доступ к сервисам Deckhouse, добавьте статические записи в файл
/etc/hosts
для Linux или%SystemRoot%\system32\drivers\etc\hosts
для Windows.Для добавления записей в файл
/etc/hosts
на Linux-компьютере, с которого необходим доступ к сервисам Deckhouse, выполните следующие шаги:Экспортируйте переменную
BALANCER_IP
, указав полученный IP-адрес балансировщика:export BALANCER_IP="<PUT_BALANCER_IP_HERE>"
export BALANCER_IP="<PUT_BALANCER_IP_HERE>"Добавьте DNS-записи для веб-интерфейсов Deckhouse:
sudo -E bash -c "cat <<EOF >> /etc/hosts $BALANCER_IP dashboard.example.com $BALANCER_IP deckhouse.example.com $BALANCER_IP dex.example.com $BALANCER_IP grafana.example.com $BALANCER_IP kubeconfig.example.com $BALANCER_IP status.example.com $BALANCER_IP upmeter.example.com EOF "
sudo -E bash -c "cat <<EOF >> /etc/hosts $BALANCER_IP dashboard.example.com $BALANCER_IP deckhouse.example.com $BALANCER_IP dex.example.com $BALANCER_IP grafana.example.com $BALANCER_IP kubeconfig.example.com $BALANCER_IP status.example.com $BALANCER_IP upmeter.example.com EOF "