Установка и включение Deckhouse Code
-
ModuleSource. Создайте файл
code-module-source.yaml
со следующим содержимым:1apiVersion: deckhouse.io/v1alpha1 2kind: ModuleSource 3metadata: 4 name: code 5spec: 6 registry: 7 ca: "" 8 dockerCfg: REPLACE_ME 9 repo: registry.flant.com/deckhouse/code/module 10 scheme: HTTPS
dockerCfg
— это закодированная в формате base64 часть конфигурационного файла docker-клиента (секцияauths
). -
ModuleUpdatePolicy. Создайте файл
code-module-update-policy.yaml
со следующим содержимым:1apiVersion: deckhouse.io/v1alpha2 2kind: ModuleUpdatePolicy 3metadata: 4 name: code-policy 5spec: 6 releaseChannel: EarlyAccess 7 update: 8 mode: Auto
releaseChannel
определяет канал обновлений (например, EarlyAccess).update.mode
указывает режим обновления (в данном примере — Auto). -
ModuleConfig. Создайте файл
code-module-config.yaml
со следующим содержимым:1apiVersion: deckhouse.io/v1alpha1 2kind: ModuleConfig 3metadata: 4 name: code 5spec: 6 enabled: true 7 updatePolicy: code-policy 8 version: 1 9 settings: 10 instanceSpec: 11 gitData: 12 storageClass: localpath 13 storagePerReplicaGb: 1 14 network: 15 gitSsh: 16 hostname: "" 17 service: 18 type: NodePort 19 storages: 20 s3: 21 bucketNames: 22 artifacts: <REPLACE_ME>-artifacts 23 ciSecureFiles: <REPLACE_ME>-ci-secure-files 24 dependencyProxy: <REPLACE_ME>-dependency-proxy 25 externalDiffs: <REPLACE_ME>-mr-diffs 26 lfs: <REPLACE_ME>-lfs 27 packages: <REPLACE_ME>-packages 28 terraformState: <REPLACE_ME>-terraform-state 29 uploads: <REPLACE_ME>-uploads 30 external: 31 accessKey: <REPLACE_ME> 32 provider: YCloud 33 secretKey: <REPLACE_ME> 34 mode: External 35 postgres: 36 external: 37 database: app_db 38 host: <REPLACE_ME> 39 password: <REPLACE_ME> 40 praefectDatabase: praefect_db 41 praefectPassword: <REPLACE_ME> 42 praefectUsername: code_user 43 username: code_user 44 mode: External 45 redis: 46 external: 47 auth: 48 enabled: true 49 password: <REPLACE_ME> 50 host: <REPLACE_ME> 51 port: 6379 52 mode: External 53 targetUserCount: 10
REPLACE_ME
— уникальные значения, требующие подстановки, такие как адреса зависимостей, имена пользователей и пароли. -
Включение модуля. После создания всех манифестов поочерёдно примените их к целевому кластеру Kubernetes с помощью следующих команд:
1kubectl apply -f code-module-source.yaml 2kubectl apply -f code-module-update-policy.yaml 3kubectl apply -f code-module-config.yaml