Чек-лист по настройке namespace#
Чек-лист по настройке namespace для DataSpace Core (DSPC)#
Namespace Kubernetes будет считаться готовым к развертыванию сервисов DataSpace после выполнения всех следующих требований:
В namespace Kubernetes создан secret типа Dockersecret с логином и паролем ТУЗ.
Созданный secret прописан в service accounts:
defaultиdataspace-core.Произведена настройка Ingress Gateway (опционально).
Произведена настройка Egress Gateway (опционально).
Чек-лист по настройке namespace для DS Lab (DSLB)#
Namespace Kubernetes (OpenShift) будет считаться готовым к развертыванию компонента DS Lab после выполнения всех следующих требований:
Для namespace создан secret типа Dockersecret с логином и паролем ТУЗ для image pull.
Созданный secret прописан в service accounts:
default.Для namespace, в котором разворачивается ControlPlane и клиентские сервисы, создан ServiceAccount.
Для namespace, в котором разворачивается ControlPlane, создан secret с параметрами подключения к БД.
Для namespace клиентских сервисов создан secret с settings.xml.
Создание pull image secret#
Pull image secret создается в namespace:
kubectl create secret docker-registry <secret-name> --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>
Создание ServiceAccount и выдача прав#
Необходимо выполнить следующие действия:
Создать ServiceAccount в namespace, в котором разворачивается ControlPlane и клиентские dataspace:
kubectl apply -f - <<EOF apiVersion: v1 kind: ServiceAccount metadata: name: sa-dataspace EOFДля созданных ServiceAccount сгенерировать токен:
kubectl apply -f - <<EOF apiVersion: v1 kind: Secret metadata: name: sa-dataspace-secret annotations: kubernetes.io/service-account.name: sa-dataspace type: kubernetes.io/service-account-token EOFПримечание
Если используется Kubernetes версии 1.22 и ниже, данный шаг не обязателен, токен будет сгенерирован автоматически.
Создать RoleBinding для ServiceAccount в namespace ControlPlane:
kubectl create rolebinding sa-dataspace-admin --clusterrole=admin --serviceaccount=<ns_controlPlane>:sa-dataspace --namespace=<ns_controlPlane>Создать RoleBinding для ServiceAccount в namespace клиентских dataspace:
kubectl create rolebinding sa-dataspace-admin --clusterrole=admin --serviceaccount=<ns_clients>:sa-dataspace --serviceaccount=<ns_controlPlane>:sa-dataspace --namespace=<ns_clients>Примечание
Если для ControlPlane и клиентских dataspace используется общий namespace, данный шаг можно пропустить.
Для созданных ServiceAccount привязать pull image secret, созданный ранее (Создание pull image secret):
kubectl patch serviceaccount sa-dataspace -p '{"imagePullSecrets": [{"name": "<secret-name>"}]}'При установке сервисов dataspace-core-meta и dataspace-meta в values.yaml указать имя используемого ServiceAccount:
serviceAccount: name: sa-dataspace
Создание secret для подключения к БД#
Пример команды:
kubectl create secret generic <secret-name> --from-file=<имя файла>
Пример файла:
apiVersion: v1
kind: Secret
metadata:
name: main-db-secret
stringData:
secret.properties: |-
spring.datasource.username=<имя пользователя для DML операций>
spring.datasource.password=<пароль пользователя>
spring.datasource.url=<jdbc строка для подключения к <БД>
dataspace.datasource.primary.dbschema=<имя схемы>
spring.datasource.driver-class-name=org.postgresql.Driver
spring.jpa.database-platform=sbp.com.sbt.dataspace.DataspacePostgreSQLDialect
spring.jpa.properties.hibernate.dialect=sbp.com.sbt.dataspace.DataspacePostgreSQLDialect
spring.jpa.properties.hibernate.timezone.default_storage=NORMALIZE
Создание secret с settings.xml#
Пример команды:
kubectl apply -f <имя файла>
Пример файла:
apiVersion: v1
kind: Secret
metadata:
name: maven-settings
stringData:
settings.xml: |-
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>release.repo</id>
<username></username>
<password></password>
</server>
<server>
<id>internal</id>
<username></username>
<password></password>
</server>
</servers>
<profiles>
<profile>
<id>settings</id>
<repositories>
<repository>
<id>release.repo</id>
<url></url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>release.repo</id>
<url></url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<localRepository>/tmp/m2/repository</localRepository>
<activeProfiles>
<activeProfile>settings</activeProfile>
</activeProfiles>
</settings>
Чек-лист по настройке namespace для DSAC#
Namespace Kubernetes будет считаться готовым к развертыванию сервисов DataSpace Admin Console после выполнения всех следующих требований:
Произведена настройка Ingress Gateway (опционально).