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

С чего начать


Что такое 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    --namespace in-cloud-web   --install   --set incloud-web-resources.enabled=false   --set fullnameOverride=in-cloud-web   --set externalDomain=127.0.0.1   --set externalDomainPort=8081   --set-json 'service.ports=[{"name":"web-http","port":8080,"targetPort":8080,"protocol":"TCP"},{"name":"nginx-http","port":8081,"targetPort":8081,"protocol":"TCP"},{"name":"bff-http","port":8082,"targetPort":8082,"protocol":"TCP"}]'   --create-namespace

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

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

helm upgrade in-cloud-web-resources oci://registry-1.docker.io/prorobotech/incloud-web-resources \
--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