Deckhouse Platform на VMware vSphere

Доступ к кластеру через Kubernetes API

Deckhouse только что завершил процесс установки вашего кластера. Теперь вы можете подключиться к мастер-узлу, используя ssh. Для этого необходимо получить IP-адрес мастера либо из логов dhctl, либо из web интерфейса/cli утилиты облачного провайдера.

ssh ubuntu@<MASTER_IP>
ssh ubuntu@<MASTER_IP>

Вы можете запускать kubectl на мастере от пользователя root. Это не безопасный способ, и мы рекомендуем настроить внешний доступ к Kubernetes API позже.

sudo -i
kubectl get nodes
sudo -i kubectl get nodes

Доступ к кластеру через NGINX Ingress

IngressNginxController был создан во время процесса установки кластера. Теперь осталось настроить доступ к веб-интерфейсам компонентов, которые уже установлены в кластере, таким как Grafana, Prometheus, Dashboard и так далее. LoadBalancer уже создан и вам остаётся только направить DNS-домен на него. В первую очередь необходимо подключиться к мастер-узлу, как это описано выше.

Получите IP адрес балансировщика. Для этого в кластере от пользователя 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"
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-сервер, добавьте статические записи в файл /etc/hosts для Linux (%SystemRoot%\system32\drivers\etc\hosts для Windows).

    Для добавления записей в файл /etc/hosts локально, выполните например следующие шаги:

    • Экспортируйте переменную 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 "