Перейти к основному содержимому

С чего начать


Что такое in-Cloud?

in-Cloud — это фреймворк для создания собственного пользовательского интерфейса к Kubernetes-API. Вы можете построить интерфейс, который соответствует вашему видению — от минималистичного дашборда до аналога OpenShift Console. Все элементы собираются из готовых компонентов, а логика описывается декларативно.


Как установить?

Установка разделена на этапы — вы выбираете нужные.

1. Установка in-Cloud Console

На этом этапе вы устанавливаете основное приложение. Возможна настройка как базового варианта, так и полноценной версии «под ключ» — с oAuth-Proxy и Dex.

helm upgrade in-cloud-web oci://registry-1.docker.io/prorobotech/incloud-web-chart  \
--version=1.1.0 \
--namespace in-cloud-web \
--install \
--set incloud-web-resources.enabled=false \
--set fullnameOverride=in-cloud-web \
--create-namespace

2. Установка визуальной конфигурации

Здесь добавляется интерфейсная надстройка — готовый пресет, с которого удобно начать знакомство с системой.

helm upgrade in-cloud-web-resources oci://registry-1.docker.io/prorobotech/incloud-web-resources \
--version=1.1.0 \
--namespace in-cloud-web \
--install

Как начать использовать?

Мы осознаем, что инфраструктура у каждого своя, включая способы заведения трафика (Ingress, VirtualService и т. п.). Поэтому оставляем это на ваше усмотрение.

По умолчанию разворачивается один Deployment с тремя контейнерами: Nginx, Web, BFF. Входной трафик следует направлять на контейнер Nginx, порт nginx-http.

Для быстрого старта можно воспользоваться port-forward:

sudo kubectl port-forward svc/in-cloud-web 80:80 -n in-cloud-web --kubeconfig ~/.kube/config

После этого в браузере откройте http://localhost:8081. Вы увидите базовый интерфейс in-Cloud Console — стартовую версию UI с преднастроенным сайдбаром и несколькими типовыми страницами (например, список Namespaces, Workloads и сервисов).

Эта конфигурация предназначена только для ознакомления и локальной отладки. В боевых сценариях трафик следует заводить через привычные механизмы (Ingress, Istio VirtualService и т. п.), а доступ — интегрировать с IDP.

RBAC

Если установка выполняется в ознакомительных целях, необходимо добавить рольбиндинг для анонимного пользователя. В Kubernetes все пользователи, которые не прошли аутентификацию, автоматически относятся к субъекту system:anonymous.

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: anonymous-clusterrolebinding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: admin-clusterrole
subjects:
- kind: User
name: system:anonymous
apiGroup: rbac.authorization.k8s.io