Exastro on Kubernetes - Online

目的

本書では、Exastro IT Automation を利用する際に必要となる、Exastro Platform および Exastro IT Automation を Kubernetes 上に導入する手順について説明します。

特徴

高い可用性やサービスレベルを必要とされる際の、Exastro IT Automation の導入方法となります。
評価や一時的な利用など、簡単に利用を開始したい場合には、Docker Compose 版 の利用を推奨します。

前提条件

  • クライアント要件

    動作確認が取れているクライアントアプリケーションのバージョンは下記のとおりです。
    表 1 クライアント要件

    アプリケーション

    バージョン

    Helm

    v3.9.x

    kubectl

    1.23

  • デプロイ環境

    動作確認が取れているコンテナ環境の最小要求リソースとバージョンは下記のとおりです。
    表 2 ハードウェア要件(最小構成)

    リソース種別

    要求リソース

    CPU

    2 Cores (3.0 GHz, x86_64)

    Memory

    4GB

    Storage (Container image size)

    10GB

    Kubernetes (Container image size)

    1.23 以上

    表 3 ハードウェア要件(推奨構成)

    リソース種別

    要求リソース

    CPU

    4 Cores (3.0 GHz, x86_64)

    Memory

    16GB

    Storage (Container image size)

    120GB

    Kubernetes (Container image size)

    1.23 以上

    警告

    要求リソースは Exastro IT Automation のコア機能に対する値です。同一クラスタ上に Keycloak や MariaDB などの外部ツールをデプロイする場合は、その分のリソースが別途必要となります。
    データベースおよびファイルの永続化のために、別途ストレージ領域を用意する必要があります。
    Storage サイズには、Exastro IT Automation が使用する入出力データのファイルは含まれていないため、利用状況に応じて容量を見積もる必要があります。
  • 通信要件

    • クライアントからデプロイ先のコンテナ環境にアクセスできる必要があります。
    • Platform 管理者用と一般ユーザー用の2つ通信ポートが使用となります。
    • コンテナ環境からコンテナイメージの取得のために、Docker Hub に接続できる必要があります。
  • 外部コンポーネント

    • MariaDB、もしくは、MySQL サーバ
    • GitLab リポジトリ、および、アカウントの払い出しが可能なこと

    警告

    GitLab 環境を同一クラスタに構築する場合は、GitLab のシステム要件に対応する最小要件を追加で容易する必要があります。
    Database 環境を同一クラスタに構築する場合は、使用する Database のシステム要件に対応する最小要件を定義する必要があります

インストールの準備

Helm リポジトリの登録

Exastro システムは、以下の2つのアプリケーションから構成されています。
Exastro の全ツールは同一の Helm リポジトリ上に存在しています。
  • 共通基盤 (Exastro Platform)

  • Exastro IT Automation

リポジトリ

https://exastro-suite.github.io/exastro-helm/

リスト 1 コマンド
1# Exastro システムの Helm リポジトリを登録
2helm repo add exastro https://exastro-suite.github.io/exastro-helm/ --namespace exastro
3# リポジトリ情報の更新
4helm repo update

デフォルト設定値の取得

投入するパラメータを管理しやすくするために、下記のコマンドから共通基盤 values.yaml のデフォルト値を出力します。
リスト 2 コマンド
helm show values exastro/exastro > exastro.yaml
exastro.yaml
リスト 3 exastro.yaml
  1# Default values for Exastro.
  2# This is a YAML-formatted file.
  3# Declare variables to be passed into your templates.
  4global:
  5  itaGlobalDefinition:
  6    config:
  7      DEFAULT_LANGUAGE: "ja"
  8      LANGUAGE: "en"
  9      TZ: "Asia/Tokyo"
 10    secret:
 11      ENCRYPT_KEY: ""
 12    persistence:
 13      enabled: true
 14      accessMode: ReadWriteMany
 15      size: 10Gi
 16      volumeType: hostPath # e.g.) hostPath or AKS
 17      storageClass: "-" # e.g.) azurefile or - (None)
 18      # matchLabels:
 19      #   release: "stable"
 20      # matchExpressions:
 21      #   - {key: environment, operator: In, values: [dev]}
 22  itaDatabaseDefinition:
 23    config:
 24      DB_VENDOR: "mariadb"
 25      DB_HOST: "mariadb"
 26      DB_PORT: "3306"
 27      DB_DATABASE: "ITA_DB"
 28    secret:
 29      DB_ADMIN_USER: "root"
 30      DB_ADMIN_PASSWORD: "Ch@ngeMeDBAdm"
 31      DB_USER: "ITA_USER"
 32      DB_PASSWORD: "Ch@ngeMeITADB"
 33  pfGlobalDefinition:
 34    config:
 35      DEFAULT_LANGUAGE: "ja"
 36      LANGUAGE: "en"
 37      TZ: "Asia/Tokyo"
 38    secret:
 39      ENCRYPT_KEY: ""
 40  pfAuditLogDefinition:
 41    name: pf-auditlog
 42    persistence:
 43      enabled: false
 44      reinstall: false
 45      accessMode: ReadWriteMany
 46      size: 10Gi
 47      volumeType: hostPath # e.g.) hostPath or AKS
 48      storageClass: "-" # e.g.) azurefile or - (None)
 49      # matchLabels: 
 50      #   release: "stable"
 51      # matchExpressions:
 52      #   - {key: environment, operator: In, values: [dev]}
 53  pfDatabaseDefinition:
 54    config:
 55      DB_VENDOR: "mariadb"
 56      DB_HOST: "mariadb"
 57      DB_PORT: "3306"
 58      DB_DATABASE: "platform"
 59    secret:
 60      DB_ADMIN_USER: "root"
 61      DB_ADMIN_PASSWORD: "Ch@ngeMeDBAdm"
 62      DB_USER: "pf-user"
 63      DB_PASSWORD: "Ch@ngeMePFDB"
 64  keycloakDefinition:
 65    secret:
 66      SYSTEM_ADMIN: "admin"
 67      SYSTEM_ADMIN_PASSWORD: "Ch@ngeMeKCAdm"
 68      KEYCLOAK_DB_USER: "keycloak"
 69      KEYCLOAK_DB_PASSWORD: "Ch@ngeMeKCADB"
 70  gitlabDefinition:
 71    config:
 72      GITLAB_PROTOCOL: "http"
 73      GITLAB_HOST: "" # "gitlab" if use container.
 74      GITLAB_PORT: "8080"
 75    secret:
 76      GITLAB_ROOT_PASSWORD: "Ch@ngeMeGL"
 77      GITLAB_ROOT_TOKEN: "change-this-token"
 78  mongoDefinition:
 79    config:
 80      MONGO_PROTOCOL: "http"
 81      MONGO_HOST: "mongo" # "mongo" if use container.
 82      MONGO_PORT: "27017"
 83    secret:
 84      MONGO_ADMIN_USER: "admin"
 85      MONGO_ADMIN_PASSWORD: "Ch@ngeMeMGAdm"
 86
 87exastro-it-automation:
 88  ita-api-admin:
 89    replicaCount: 1
 90    image:
 91      repository: "docker.io/exastro/exastro-it-automation-api-admin"
 92      tag: ""
 93      pullPolicy: IfNotPresent
 94    extraEnv:
 95      PLATFORM_API_HOST: "platform-api"
 96      PLATFORM_API_PORT: "8000"
 97
 98  ita-api-organization:
 99    replicaCount: 1
100    image:
101      repository: "docker.io/exastro/exastro-it-automation-api-organization"
102      tag: ""
103      pullPolicy: IfNotPresent
104    extraEnv:
105      PLATFORM_API_HOST: "platform-api"
106      PLATFORM_API_PORT: "8000"
107
108  ita-api-oase-receiver:
109    replicaCount: 1
110    image:
111      repository: "docker.io/exastro/exastro-it-automation-api-oase-receiver"
112      tag: ""
113      pullPolicy: IfNotPresent
114    extraEnv:
115      LISTEN_PORT: "8000"
116      PLATFORM_API_HOST: "platform-api"
117      PLATFORM_API_PORT: "8000"
118
119  ita-by-ansible-execute:
120    replicaCount: 1
121    image:
122      repository: "docker.io/exastro/exastro-it-automation-by-ansible-execute"
123      tag: ""
124      pullPolicy: IfNotPresent
125    extraEnv:
126      EXECUTE_INTERVAL: "3"
127      ANSIBLE_AGENT_IMAGE: "docker.io/exastro/exastro-it-automation-by-ansible-agent"
128      ANSIBLE_AGENT_IMAGE_TAG: ""
129      PLATFORM_API_HOST: "platform-api"
130      PLATFORM_API_PORT: "8000"
131    serviceAccount:
132      create: false
133      name: "ita-by-ansible-execute-sa"
134
135  ita-by-ansible-legacy-role-vars-listup:
136    replicaCount: 1
137    extraEnv:
138      EXECUTE_INTERVAL: "10"
139      PLATFORM_API_HOST: "platform-api"
140      PLATFORM_API_PORT: "8000"
141    image:
142      repository: "docker.io/exastro/exastro-it-automation-by-ansible-legacy-role-vars-listup"
143      tag: ""
144      pullPolicy: IfNotPresent
145
146  ita-by-ansible-legacy-vars-listup:
147    replicaCount: 1
148    extraEnv:
149      EXECUTE_INTERVAL: "10"
150      PLATFORM_API_HOST: "platform-api"
151      PLATFORM_API_PORT: "8000"
152    image:
153      repository: "docker.io/exastro/exastro-it-automation-by-ansible-legacy-vars-listup"
154      tag: ""
155      pullPolicy: IfNotPresent
156
157  ita-by-ansible-pioneer-vars-listup:
158    replicaCount: 1
159    extraEnv:
160      EXECUTE_INTERVAL: "10"
161      PLATFORM_API_HOST: "platform-api"
162      PLATFORM_API_PORT: "8000"
163    image:
164      repository: "docker.io/exastro/exastro-it-automation-by-ansible-pioneer-vars-listup"
165      tag: ""
166      pullPolicy: IfNotPresent
167
168  ita-by-ansible-towermaster-sync:
169    replicaCount: 1
170    extraEnv:
171      EXECUTE_INTERVAL: "10"
172      PLATFORM_API_HOST: "platform-api"
173      PLATFORM_API_PORT: "8000"
174    image:
175      repository: "docker.io/exastro/exastro-it-automation-by-ansible-towermaster-sync"
176      tag: ""
177      pullPolicy: IfNotPresent
178
179  ita-by-cicd-for-iac:
180    replicaCount: 1
181    extraEnv:
182      EXECUTE_INTERVAL: "10"
183      PLATFORM_API_HOST: "platform-api"
184      PLATFORM_API_PORT: "8000"
185    image:
186      repository: "docker.io/exastro/exastro-it-automation-by-cicd-for-iac"
187      tag: ""
188      pullPolicy: IfNotPresent
189
190  ita-by-collector:
191    replicaCount: 1
192    extraEnv:
193      EXECUTE_INTERVAL: "10"
194      PLATFORM_API_HOST: "platform-api"
195      PLATFORM_API_PORT: "8000"
196    image:
197      repository: "docker.io/exastro/exastro-it-automation-by-collector"
198      tag: ""
199      pullPolicy: IfNotPresent
200
201  ita-by-conductor-regularly:
202    replicaCount: 1
203    extraEnv:
204      EXECUTE_INTERVAL: "10"
205      PLATFORM_API_HOST: "platform-api"
206      PLATFORM_API_PORT: "8000"
207    image:
208      repository: "docker.io/exastro/exastro-it-automation-by-conductor-regularly"
209      tag: ""
210      pullPolicy: IfNotPresent
211
212  ita-by-conductor-synchronize:
213    replicaCount: 1
214    extraEnv:
215      EXECUTE_INTERVAL: "3"
216      PLATFORM_API_HOST: "platform-api"
217      PLATFORM_API_PORT: "8000"
218    image:
219      repository: "docker.io/exastro/exastro-it-automation-by-conductor-synchronize"
220      tag: ""
221      pullPolicy: IfNotPresent
222
223  ita-by-excel-export-import:
224    replicaCount: 1
225    extraEnv:
226      EXECUTE_INTERVAL: "10"
227      PLATFORM_API_HOST: "platform-api"
228      PLATFORM_API_PORT: "8000"
229    image:
230      repository: "docker.io/exastro/exastro-it-automation-by-excel-export-import"
231      tag: ""
232      pullPolicy: IfNotPresent
233
234  ita-by-execinstance-dataautoclean:
235    replicaCount: 1
236    extraEnv:
237      EXECUTE_INTERVAL: "10"
238      PLATFORM_API_HOST: "platform-api"
239      PLATFORM_API_PORT: "8000"
240    image:
241      repository: "docker.io/exastro/exastro-it-automation-by-execinstance-dataautoclean"
242      tag: ""
243      pullPolicy: IfNotPresent
244
245  ita-by-file-autoclean:
246    replicaCount: 1
247    extraEnv:
248      EXECUTE_INTERVAL: "10"
249      PLATFORM_API_HOST: "platform-api"
250      PLATFORM_API_PORT: "8000"
251    image:
252      repository: "docker.io/exastro/exastro-it-automation-by-file-autoclean"
253      tag: ""
254      pullPolicy: IfNotPresent
255
256  ita-by-hostgroup-split:
257    replicaCount: 1
258    extraEnv:
259      EXECUTE_INTERVAL: "10"
260      PLATFORM_API_HOST: "platform-api"
261      PLATFORM_API_PORT: "8000"
262    image:
263      repository: "docker.io/exastro/exastro-it-automation-by-hostgroup-split"
264      tag: ""
265      pullPolicy: IfNotPresent
266
267  ita-by-menu-create:
268    replicaCount: 1
269    extraEnv:
270      EXECUTE_INTERVAL: "10"
271      PLATFORM_API_HOST: "platform-api"
272      PLATFORM_API_PORT: "8000"
273    image:
274      repository: "docker.io/exastro/exastro-it-automation-by-menu-create"
275      tag: ""
276      pullPolicy: IfNotPresent
277
278  ita-by-menu-export-import:
279    replicaCount: 1
280    extraEnv:
281      EXECUTE_INTERVAL: "10"
282      PLATFORM_API_HOST: "platform-api"
283      PLATFORM_API_PORT: "8000"
284    image:
285      repository: "docker.io/exastro/exastro-it-automation-by-menu-export-import"
286      tag: ""
287      pullPolicy: IfNotPresent
288
289  ita-by-oase-conclusion:
290    replicaCount: 1
291    extraEnv:
292      EXECUTE_INTERVAL: "10"
293      PLATFORM_API_HOST: "platform-api"
294      PLATFORM_API_PORT: "8000"
295    image:
296      repository: "docker.io/exastro/exastro-it-automation-by-oase-conclusion"
297      tag: ""
298      pullPolicy: IfNotPresent
299
300  ita-by-terraform-cli-execute:
301    replicaCount: 1
302    extraEnv:
303      EXECUTE_INTERVAL: "3"
304      PLATFORM_API_HOST: "platform-api"
305      PLATFORM_API_PORT: "8000"
306    image:
307      repository: "docker.io/exastro/exastro-it-automation-by-terraform-cli-execute"
308      tag: ""
309      pullPolicy: IfNotPresent
310
311  ita-by-terraform-cli-vars-listup:
312    replicaCount: 1
313    extraEnv:
314      EXECUTE_INTERVAL: "10"
315      PLATFORM_API_HOST: "platform-api"
316      PLATFORM_API_PORT: "8000"
317    image:
318      repository: "docker.io/exastro/exastro-it-automation-by-terraform-cli-vars-listup"
319      tag: ""
320      pullPolicy: IfNotPresent
321
322  ita-by-terraform-cloud-ep-execute:
323    replicaCount: 1
324    extraEnv:
325      EXECUTE_INTERVAL: "3"
326      PLATFORM_API_HOST: "platform-api"
327      PLATFORM_API_PORT: "8000"
328    image:
329      repository: "docker.io/exastro/exastro-it-automation-by-terraform-cloud-ep-execute"
330      tag: ""
331      pullPolicy: IfNotPresent
332
333  ita-by-terraform-cloud-ep-vars-listup:
334    replicaCount: 1
335    extraEnv:
336      EXECUTE_INTERVAL: "10"
337      PLATFORM_API_HOST: "platform-api"
338      PLATFORM_API_PORT: "8000"
339    image:
340      repository: "docker.io/exastro/exastro-it-automation-by-terraform-cloud-ep-vars-listup"
341      tag: ""
342      pullPolicy: IfNotPresent
343
344  ita-web-server:
345    replicaCount: 1
346    image:
347      repository: "docker.io/exastro/exastro-it-automation-web-server"
348      tag: ""
349      pullPolicy: IfNotPresent
350
351  ita-migration:
352    extraEnv:
353      PLATFORM_API_HOST: "platform-api"
354      PLATFORM_API_PORT: "8000"
355    image:
356      repository: "docker.io/exastro/exastro-it-automation-migration"
357      tag: ""
358      pullPolicy: IfNotPresent
359
360exastro-platform:
361  platform-api:
362    image:
363      repository: "docker.io/exastro/exastro-platform-api"
364      tag: ""
365
366  platform-auth:
367    extraEnv:
368      # Please set the URL to access
369      EXTERNAL_URL: ""
370      EXTERNAL_URL_MNG: ""
371    ingress:
372      enabled: true
373      hosts:
374        - host: exastro-suite.example.local
375          paths:
376            - path: /
377              pathType: Prefix
378              backend: "http"
379        - host: exastro-suite-mng.example.local
380          paths:
381            - path: /
382              pathType: Prefix
383              backend: "httpMng"
384    service:
385      type: ClusterIP
386      # http:
387      #   nodePort: 30080
388      # httpMng:
389      #   nodePort: 30081
390    image:
391      repository: "docker.io/exastro/exastro-platform-auth"
392      tag: ""
393
394  platform-job:
395    extraEnv:
396      # LOG_LEVEL: "INFO"
397      # SUB_PROCESS_TERMINATE_REQUEST_SECONDS: "1800"
398      # SUB_PROCESS_ACCEPTABLE: "2"
399      # SUB_PROCESS_MAX_JOBS: "10"
400      # SUB_PROCESS_WATCH_INTERVAL_SECONDS: "1.0"
401      # SUB_PROCESS_DB_RECONNECT_INTERVAL_SECONDS: "60"
402      # SUB_PROCESS_DB_HEALTH_CHECK_INTERVAL_SECONDS: "5"
403      # SUB_PROCESS_MAX_CANCEL_TIMEOUT: "10"
404      # JOB_STATUS_WATCH_INTERVAL_SECONDS: "1.0"
405      # JOB_CANCEL_TIMEOUT_SECONDS: "5.0"
406      # JOB_NOTIFICATION_TIMEOUT_SECONDS: "20"
407      # JOB_NOTIFICATION_TEAMS_CONNECTION_TIMEOUT: "3.0"
408      # JOB_NOTIFICATION_TEAMS_READ_TIMEOUT: "10.0"
409      # JOB_NOTIFICATION_SMTP_TIMEOUT: "10.0"
410      # JOB_NOTIFICATION_SMTPS_SSL_VERIFY_ENABLED: "TRUE"
411      # JOB_FORCE_UPDATE_STATUS_TIMEOUT_SECONDS: "60"
412      # JOB_FORCE_UPDATE_STATUS_INTERVAL_SECONDS: "180"
413      # JOB_FORCE_UPDATE_STATUS_PROGRASS_SECONDS: "600"
414    image:
415      repository: "docker.io/exastro/exastro-platform-job"
416      tag: ""
417
418  platform-migration:
419    image:
420      repository: "docker.io/exastro/exastro-platform-migration"
421      tag: ""
422
423  platform-web:
424    image:
425      repository: "docker.io/exastro/exastro-platform-web"
426      tag: ""
427
428  mariadb:
429    enabled: true
430    image:
431      repository: "docker.io/mariadb"
432      tag: "10.11"
433      pullPolicy: IfNotPresent
434    imagePullSecrets: []
435    persistence:
436      enabled: true
437      accessMode: ReadWriteOnce
438      size: 20Gi
439      storageClass: "-" # e.g.) azurefile or - (None)
440      matchLabels:
441        name: pv-database
442      matchExpressions:
443        # - {key: name, operator: In, values: [pv-database]}
444    dbSetup:
445      dbConfInfo:
446        name: mysql-server-conf-config
447        customCnf: |-
448          [mysqld]
449          character-set-server=utf8mb4
450          collation-server=utf8mb4_bin
451          secure_file_priv=/tmp
452          lower_case_table_names=1
453          [client]
454          default-character-set=utf8mb4
455    resources:
456      requests:
457        memory: "256Mi"
458        cpu: "1m"
459      limits:
460        memory: "2Gi"
461        cpu: "4"
462
463  keycloak:
464    enabled: true
465    image:
466      repository: "docker.io/exastro/keycloak"
467      tag: ""
468      pullPolicy: IfNotPresent
469    resources: {}
470      # requests:
471      #   memory: "256Mi"
472      #   cpu: "1m"
473      # limits:
474      #   memory: "2Gi"
475      #   cpu: "4"
476
477  gitlab:
478    enabled: false
479    extraEnv:
480      GITLAB_OMNIBUS_CONFIG: |
481        postgresql['shared_buffers'] = "2048MB"
482        postgresql['work_mem'] = "128MB"
483        postgresql['maintenance_work_mem'] = "128MB"
484        postgresql['effective_cache_size'] = "128MB"
485        postgresql['checkpoint_segments'] = 16
486        postgresql['checkpoint_timeout'] = "10min"
487        external_url 'http://gitlab:40080'
488        nginx['listen_port'] = 40080
489        gitlab_rails['initial_root_password'] = "${GITLAB_ROOT_PASSWORD:-}"
490        gitlab_rails['registry_enabled'] = false;
491        gitlab_rails['db_prepared_statements'] = false;
492        gitlab_rails['monitoring_whitelist'] = ['0.0.0.0/0']
493        # gitlab_rails['env'] = {'MALLOC_CONF' => 'dirty_decay_ms:1000,muzzy_decay_ms:1000'}
494        # puma['worker_processes'] = 0
495        prometheus_monitoring['enable'] = false
496        # sidekiq['max_concurrency'] = 10
497        # gitaly['env'] = {'MALLOC_CONF' => 'dirty_decay_ms:1000,muzzy_decay_ms:1000', 'GITALY_COMMAND_SPAWN_MAX_PARALLEL' => '2'}
498      GITLAB_POST_RECONFIGURE_SCRIPT: |
499        while ! curl -sfI -o /dev/null http://localhost:40080/-/readiness;
500        do
501        echo "GitLab service is not ready."
502        sleep 1
503        done
504        echo "GitLab service started normally"
505        curl -Ssf -H "PRIVATE-TOKEN: ${GITLAB_ROOT_TOKEN:-}" "http://localhost:40080/api/v4/version" || (
506          gitlab-rails runner "token = User.find_by_username('root').personal_access_tokens.create(scopes: [:api, :write_repository, :sudo], name: 'exastro system token'); token.set_token('${GITLAB_ROOT_TOKEN:-}'); token.save!"
507        )
508        echo "GitLab post reconfigure script ended."
509    image:
510      repository: "docker.io/gitlab/gitlab-ce"
511      tag: "15.11.13-ce.0"
512      pullPolicy: IfNotPresent
513      # Overrides the image tag whose default is the chart appVersion.
514    persistence:
515      enabled: true
516      volumeName: pv-gitlab
517      accessMode: ReadWriteMany
518      size: 20Gi
519      storageClass: "-" # e.g.) azurefile or - (None)
520      matchLabels:
521        name: pv-gitlab
522      matchExpressions:
523        # - {key: name, operator: In, values: [pv-gitlab]}
524    resources: {}
525      # requests:
526      #   memory: "4Gi"
527      #   cpu: "4"
528      # limits:
529      #   memory: "8Gi"
530      #   cpu: "8"
531    service:
532      type: ClusterIP
533      name: gitlab
534      port: 40080
535      # nodePort: 30082
536
537  mongo:
538    enabled: true
539    image:
540      repository: "docker.io/mongo"
541      pullPolicy: IfNotPresent
542      # Overrides the image tag whose default is the chart appVersion.
543      tag: "6.0"
544    persistence:
545      enabled: true
546      accessMode: ReadWriteOnce
547      size: 20Gi
548      storageClass: "-" # e.g.) azurefile, local-path or - (None)
549      matchLabels:
550        # release: "pv-mongo"
551      matchExpressions:
552        # - {key: name, operator: In, values: [pv-mongo]}
553    dbSetup:
554      dbConfInfo:
555        name: mongo-server-conf-config
556        customCnf: |
557          systemLog:
558            verbosity: 0
559            # destination: file
560            # path: /root/logs/mongod.log
561            timeStampFormat: iso8601-utc
562          # storage:
563          #   directoryPerDB: true
564          #   dbPath: /root/data
565          #   engine: wiredTiger
566          #   wiredTiger:
567          #     engineConfig:
568          #       cacheSizeGB: 1
569          #   journal:
570          #     enabled: true
571          # processManagement:
572          #   fork: true
573          # net:
574          #   port: 27017
575          #   bindIp: 0.0.0.0
576          # security:
577          #   authorization: enabled
578    resources: {}
579      # requests:
580      #   memory: "4Gi"
581      #   cpu: "4"
582      # limits:
583      #   memory: "8Gi"
584      #   cpu: "4"
585    affinity:
586      podAntiAffinity:
587        requiredDuringSchedulingIgnoredDuringExecution:
588        - labelSelector:
589            matchExpressions:
590            - key: name
591              operator: In
592              values:
593              - mongo
594          topologyKey: kubernetes.io/hostname
以降の手順では、この exastro.yaml に対してインストールに必要なパラメータを設定してきいます。

サービス公開の設定

Exastro サービスを公開するための代表的な3つの設定方法について紹介します。
  • Ingress

  • LoadBalancer

  • NodePort

注釈

ここで紹介する方法以外にもサービス公開方法はあります。ユーザーの環境ごとに適切な構成・設定を選択してください。

パラメータ

利用可能なパラメータについては下記を参照してください。
表 4 Exastro Platform 認証機能のオプションパラメータ

パラメータ

説明

変更

デフォルト値・選択可能な設定値

exastro-platform.platform-auth.extraEnv.EXTERNAL_URL

Exastro Platform エンドポイントの公開URL。
リバースプロキシや PAT(Port Address Transport) などにより、Exastro のエンドポイントと公開時の URL に齟齬が発生することで、サービス接続に失敗する場合に設定をする必要があります。

公開用エンドポイントのURL
(http[s]://your-exastro.domain:port)

exastro-platform.platform-auth.extraEnv.EXTERNAL_URL_MNG

Exastro Platform 管理コンソールのエンドポイントの公開URL。
リバースプロキシや PAT(Port Address Transport) などにより、Exastro のエンドポイントと公開時の URL に齟齬が発生することで、サービス接続に失敗する場合に設定をする必要があります。

公開用エンドポイントのURL
(http[s]://your-exastro.domain:port)

exastro-platform.platform-auth.extraEnv.AUDIT_LOG_ENABLED

監査ログの出力有無。

True (デフォルト): 出力する
False: 出力しない

exastro-platform.platform-auth.extraEnv.AUDIT_LOG_PATH

監査ログのファイル名(ファイルパス)。

exastro-audit.log (デフォルト)

exastro-platform.platform-auth.extraEnv.AUDIT_LOG_FILE_MAX_BYTE

監査ログファイルの最大サイズ(Byte)を指定できます。

100000000 (デフォルト)

exastro-platform.platform-auth.extraEnv.AUDIT_LOG_BACKUP_COUNT

監査ログファイルのバックアップカウント数。
監査ログファイルの最大サイズ(Byte)を超えた際、ファイル名に"."+数値で指定された値の分、バックアップされます。

30 (デフォルト)

exastro-platform.platform-auth.ingress.enabled

Exastro Platform における Ingress 利用の要否

true (デフォルト): Exastro Platform にアクセスするための Ingress Controller をデプロイします。
false : Ingress Controller をデプロイしません。

exastro-platform.platform-auth.ingress.hosts[0].host

Exastro Platform 管理コンソールエンドポイントのホスト名、もしくは、FQDN
別途、DNSへのレコード登録が必要です。

可 (Ingress利用時)

"exastro-suite.example.local"

exastro-platform.platform-auth.ingress.hosts[0].paths[0].path

Exastro Platform 管理コンソールエンドポイントのパスのルール

不可

"/"

exastro-platform.platform-auth.ingress.hosts[0].paths[0].pathType

Exastro Platform 管理コンソールエンドポイントのパスの一致条件

不可

"Prefix"

exastro-platform.platform-auth.ingress.hosts[0].paths[0].backend

Exastro Platform 管理コンソールのサービス名

不可

"http"

exastro-platform.platform-auth.ingress.hosts[1].host

Exastro Platform エンドポイントのホスト名、もしくは、FQDN
別途、DNSへのレコード登録が必要です。

可 (Ingress利用時)

"exastro-suite-mng.example.local"

exastro-platform.platform-auth.ingress.hosts[1].paths[0].path

Exastro Platform エンドポイントのパスのルール

不可

"/"

exastro-platform.platform-auth.ingress.hosts[1].paths[0].pathType

Exastro Platform エンドポイントのパスの一致条件

不可

"Prefix"

exastro-platform.platform-auth.ingress.hosts[1].paths[0].backend

Exastro Platform エンドポイントのエンドポイントのサービス名

不可

"httpMng"

exastro-platform.platform-auth.service.type

Exastro Platform のサービスタイプ

ClusterIP (デフォルト): Ingress Controller を利用する場合などに選択
LoadBalancer : LoadBalancer を利用する場合に選択
NodePort : NodePort を利用する場合に選択

exastro-platform.platform-auth.service.http.nodePort

Exastro Platform のサービス用公開ポート番号

可 (NodePort利用時)

"30080"

exastro-platform.platform-auth.service.httpMng.nodePort

Exastro Platform のシステム管理用公開ポート番号

可 (NodePort利用時)

"30081"

exastro-platform.platform-auth.image.repository

コンテナイメージのリポジトリ名

不可

"docker.io/exastro/exastro-platform-auth"

exastro-platform.platform-auth.image.tag

コンテナイメージのタグ

不可

""

設定例

各サービス公開方法の設定例を下記に記載します。

  • 特徴

    パブリッククラウドなどで Ingress Controller が利用可能な場合、Ingress を使ったサービス公開ができます。
    クラスタ内にロードバランサーを構築して、ユーザー自身が運用したい場合などにメリットがあります。
  • 設定例

    サービス公開用のドメイン情報を Ingress に登録することでDNSを使ったサービス公開を行います。
    Azure におけるドメイン名の確認方法については ../../configuration/kubernetes/aks を確認してください。
    クラウドプロバイダ毎に必要な annotations を指定してください。
    下記は、AKS の Ingress Controller を使用する際の例を記載しています。
    リスト 4 exastro.yaml
    --- /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro.yaml
    +++ /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro_ingress_setting.yaml
    @@ -366,17 +366,25 @@
       platform-auth:
         extraEnv:
           # Please set the URL to access
    -      EXTERNAL_URL: ""
    -      EXTERNAL_URL_MNG: ""
    +      EXTERNAL_URL: "http://exastro-suite.xxxxxxxxxxxxxxxxxx.japaneast.aksapp.io"
    +      EXTERNAL_URL_MNG: "http://exastro-suite-mng.xxxxxxxxxxxxxxxxxx.japaneast.aksapp.io"
         ingress:
           enabled: true
    +      annotations:
    +        kubernetes.io/ingress.class: addon-http-application-routing
    +        nginx.ingress.kubernetes.io/proxy-body-size: 100m
    +        nginx.ingress.kubernetes.io/proxy-buffer-size: 256k
    +        nginx.ingress.kubernetes.io/server-snippet: |
    +          client_header_buffer_size 100k;
    +          large_client_header_buffers 4 100k;
    +
           hosts:
    -        - host: exastro-suite.example.local
    +        - host: exastro-suite.xxxxxxxxxxxxxxxxxx.japaneast.aksapp.io
               paths:
                 - path: /
                   pathType: Prefix
                   backend: "http"
    -        - host: exastro-suite-mng.example.local
    +        - host: exastro-suite-mng.xxxxxxxxxxxxxxxxxx.japaneast.aksapp.io
               paths:
                 - path: /
                   pathType: Prefix
    @@ -593,4 +601,3 @@
                   - mongo
               topologyKey: kubernetes.io/hostname
     
    -
    

データベース連携

Exastro サービスを利用するためには、CMDB やオーガナイゼーションの管理のためのデータベースが必要となります。
データベース利用時の3つの設定方法について説明します。
  • 外部データベース

  • データベースコンテナ

外部データベースを利用する場合は、以下の内容に従ってインストールを進める必要があります。
  • 特徴
マネージドデータベースや別途用意した Kubernetes クラスタ外のデータベースを利用します。
Kubernetes クラスタ外にあるため、環境を分離して管理することが可能です。

警告

複数のITAを構築する場合はlower_case_table_namesの設定を統一してください。
※統一しないと環境間でのメニューエクスポート・インポートが正常に動作しなくなる可能性があります。
  • 設定例
外部データベースを操作するために必要な接続情報を設定します。

警告

DB_ADMIN_USERMONGO_ADMIN_USER で指定するDBの管理ユーザには、データベースとユーザを作成する権限が必要です。

警告

認証情報などはすべて平文で問題ありません。(Base64エンコードは不要)

警告

DB_ADMIN_USER で指定するDBの管理ユーザーには、データベースとユーザーを作成する権限が必要です。

警告

認証情報などはすべて平文で問題ありません。(Base64エンコードは不要)
  1. Exastro IT Automation 用データベースの設定
    データベースの接続情報を設定します。
    表 5 共通設定 (Exastro IT Automation 用データベース) のオプションパラメータ

    パラメータ

    説明

    変更

    デフォルト値・選択可能な設定値

    global.itaDatabaseDefinition.name

    Exastro IT Automation 用データベースの定義名

    不可

    "ita-database"

    global.itaDatabaseDefinition.enabled

    Exastro IT Automation 用データベースの定義の利用有無

    不可

    true

    global.itaDatabaseDefinition.config.DB_VENDOR

    Exastro IT Automation 用データベースで使用するデータベース

    可 (外部データベース利用時)

    "mariadb" (デフォルト): MariaDB を利用
    "mysql": MySQL を利用

    global.itaDatabaseDefinition.config.DB_HOST

    Exastro IT Automation 用データベース利用するDB
    デフォルト状態では、同一の Kubernetes クラスタ内にデプロイされるコンテナを指定しています。
    クラスタ外部の DB を利用する場合には設定が必要となります。

    可 (外部データベース利用時)

    "mariadb"

    global.itaDatabaseDefinition.config.DB_PORT

    Exastro IT Automation 用データベースで利用するポート番号(TCP)

    可 (外部データベース利用時)

    "3306"

    global.itaDatabaseDefinition.config.DB_DATABASE

    Exastro IT Automation 用データベースで利用するデータベース名

    可 (外部データベース利用時)

    "platform"

    global.itaDatabaseDefinition.secret.DB_ADMIN_USER

    Exastro IT Automation 用データベースで利用する管理権限を持つDBユーザ名

    必須

    管理権限を持つDBユーザ名

    global.itaDatabaseDefinition.secret.DB_ADMIN_PASSWORD

    Exastro IT Automation 用データベースで利用する管理権限を持つDBユーザのパスワード(エンコードなし)

    必須

    管理権限を持つDBユーザ名のパスワード

    global.itaDatabaseDefinition.secret.DB_USER

    Exastro IT Automation 用データベースに作成するDBユーザ名。
    指定した DB ユーザが作成される。

    必須

    任意の文字列

    global.itaDatabaseDefinition.secret.DB_PASSWORD

    Exastro IT Automation 用データベースに作成するDBユーザのパスワード(エンコードなし)

    必須

    任意の文字列

    リスト 7 exastro.yaml
    --- /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro.yaml
    +++ /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro_ita_database.yaml
    @@ -21,13 +21,13 @@
           #   - {key: environment, operator: In, values: [dev]}
       itaDatabaseDefinition:
         config:
    -      DB_VENDOR: "mariadb"
    -      DB_HOST: "mariadb"
    -      DB_PORT: "3306"
    +      DB_VENDOR: "mariadb"                # mariadb or mysql
    +      DB_HOST: "your.database.endpoint"   # データベースのエンドポイント
    +      DB_PORT: "3306"                     # データベース接続ポート
           DB_DATABASE: "ITA_DB"
         secret:
    -      DB_ADMIN_USER: "root"
    -      DB_ADMIN_PASSWORD: "Ch@ngeMeDBAdm"
    +      DB_ADMIN_USER: "your-admin-account"       # データベースの管理権限を持つユーザー
    +      DB_ADMIN_PASSWORD: "your-admin-password"  # データベースの管理権限を持つユーザーのパスワード
           DB_USER: "ITA_USER"
           DB_PASSWORD: "Ch@ngeMeITADB"
       pfGlobalDefinition:
    @@ -593,4 +593,3 @@
                   - mongo
               topologyKey: kubernetes.io/hostname
     
    -
    
  2. Exastro 共通基盤用データベースの設定
    データベースの接続情報を設定します。
    表 6 共通設定 (Exastro 共通基盤用データベース) のオプションパラメータ

    パラメータ

    説明

    変更

    デフォルト値・選択可能な設定値

    global.pfDatabaseDefinition.name

    認証機能用データベースの定義名

    不可

    "pf-database"

    global.pfDatabaseDefinition.enabled

    認証機能用データベースの定義の有効有無

    不可

    true

    global.pfDatabaseDefinition.config.DB_VENDOR

    認証機能用データベースで使用するデータベース

    可 (外部データベース利用時)

    "mariadb" (デフォルト): MariaDB を利用
    "mysql": MySQL を利用

    global.pfDatabaseDefinition.config.DB_HOST

    認証機能用データベース利用するDB
    デフォルト状態では、同一の Kubernetes クラスタ内にデプロイされるコンテナを指定しています。
    クラスタ外部の DB を利用する場合には設定が必要となります。

    可 (外部データベース利用時)

    "mariadb"

    global.pfDatabaseDefinition.config.DB_PORT

    認証機能用データベースで利用するポート番号(TCP)

    可 (外部データベース利用時)

    "3306"

    global.pfDatabaseDefinition.config.DB_DATABASE

    認証機能用データベースで利用するデータベース名

    可 (外部データベース利用時)

    "platform"

    global.pfDatabaseDefinition.secret.DB_ADMIN_USER

    認証機能用データベースで利用する管理権限を持つDBユーザ名

    必須

    管理権限を持つDBユーザ名

    global.pfDatabaseDefinition.secret.DB_ADMIN_PASSWORD

    認証機能用データベースで利用する管理権限を持つDBユーザのパスワード(エンコードなし)

    必須

    管理権限を持つDBユーザ名のパスワード

    global.pfDatabaseDefinition.secret.DB_USER

    認証機能用データベースに作成するDBユーザ名。
    指定した DB ユーザが作成される。

    必須

    任意の文字列

    global.pfDatabaseDefinition.secret.DB_PASSWORD

    認証機能用データベースに作成するDBユーザのパスワード(エンコードなし)

    必須

    任意の文字列

    リスト 8 exastro.yaml
    --- /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro.yaml
    +++ /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro_pf_database.yaml
    @@ -52,13 +52,13 @@
           #   - {key: environment, operator: In, values: [dev]}
       pfDatabaseDefinition:
         config:
    -      DB_VENDOR: "mariadb"
    -      DB_HOST: "mariadb"
    -      DB_PORT: "3306"
    +      DB_VENDOR: "mariadb"                # mariadb or mysql
    +      DB_HOST: "your.database.endpoint"   # データベースのエンドポイント
    +      DB_PORT: "3306"                     # データベース接続ポート
           DB_DATABASE: "platform"
         secret:
    -      DB_ADMIN_USER: "root"
    -      DB_ADMIN_PASSWORD: "Ch@ngeMeDBAdm"
    +      DB_ADMIN_USER: "your-admin-account"      # データベースの管理者ユーザー
    +      DB_ADMIN_PASSWORD: "your-admin-password" # データベースの管理者ユーザのパスワード
           DB_USER: "pf-user"
           DB_PASSWORD: "Ch@ngeMePFDB"
       keycloakDefinition:
    @@ -593,4 +593,3 @@
                   - mongo
               topologyKey: kubernetes.io/hostname
     
    -
    
  3. OASE用データベースの設定

    OASE用データベースの接続情報を設定します。(OASEを利用しない場合設定不要)

    警告

    MongoDBのユーザやデータベースを「自動払い出し( オーガナイゼーション作成 )」で利用する場合は、MONGO_HOST の指定が必要です。
    MONGO_ADMIN_USER がユーザやデータベースの作成・削除が可能(rootロールまたは同等の権限)である必要があります。
    上記の権限がない場合は「Python接続文字列( オーガナイゼーション作成 )」の指定が必要です。
    また、自動払い出しを利用しない場合は MONGO_HOST の指定は不要です。
    表 7 OASE設定 (Exastro OASE用データベース) のオプションパラメータ

    パラメータ

    説明

    変更

    デフォルト値・選択可能な設定値

    global.mongoDefinition.config.MONGO_PROTOCOL

    OASE用データベースで利用するDBのプロトコル

    "http"

    global.mongoDefinition.config.MONGO_HOST

    OASE用データベース利用するDB
    デフォルト状態では、同一の Kubernetes クラスタ内にデプロイされるコンテナを指定しています。
    クラスタ外部の DB を利用する場合には設定が必要となります。
    自動払い出しを利用しない場合は、""(空)を指定してください。

    可 (外部データベース利用時)

    "mongo"

    global.mongoDefinition.config.MONGO_PORT

    OASE用データベースで利用するポート番号(TCP)

    可 (外部データベース利用時)

    "27017"

    global.mongoDefinition.secret.MONGO_ADMIN_USER

    OASE用データベースで利用する管理権限を持つDBユーザ名

    必須

    管理権限を持つDBユーザ名

    global.mongoDefinition.secret.DB_ADMIN_PASSWORD

    OASE用データベースで利用する管理権限を持つDBユーザのパスワード(エンコードなし)

    必須

    管理権限を持つDBユーザ名のパスワード

    リスト 9 exastro.yaml
    --- /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro.yaml
    +++ /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro_mongo_database.yaml
    @@ -77,12 +77,12 @@
           GITLAB_ROOT_TOKEN: "change-this-token"
       mongoDefinition:
         config:
    -      MONGO_PROTOCOL: "http"
    -      MONGO_HOST: "mongo" # "mongo" if use container.
    -      MONGO_PORT: "27017"
    -    secret:
    -      MONGO_ADMIN_USER: "admin"
    -      MONGO_ADMIN_PASSWORD: "Ch@ngeMeMGAdm"
    +      MONGO_PROTOCOL: "your.protocol"        # http or https
    +      MONGO_HOST: "your.database.endpoint"   # OASE用データベースのエンドポイント
    +      MONGO_PORT: "your.port"                # OASE用データベース接続ポート
    +    secret:
    +      MONGO_ADMIN_USER: "your-admin-account"      # OASE用データベースの管理者ユーザ
    +      MONGO_ADMIN_PASSWORD: "your-admin-password" # OASE用データベースの管理者ユーザのパスワード
     
     exastro-it-automation:
       ita-api-admin:
    
  4. データベースコンテナの無効化

    データベースコンテナが起動しないように設定します。
    表 8 共通設定 (Exastro 共用データベース) のオプションパラメータ

    パラメータ

    説明

    変更

    デフォルト値・選択可能な設定値

    global.databaseDefinition.name

    Exastro 共用データベースの定義名

    不可

    "mariadb"

    global.databaseDefinition.enabled

    Exastro 共用データベースの定義の利用有無

    不可

    true

    global.databaseDefinition.secret.MARIADB_ROOT_PASSWORD

    Exastro 共用データベースの root アカウントに設定するパスワード(エンコードなし)

    必須

    任意の文字列

    global.databaseDefinition.persistence.enabled

    Exastro 共用データベースのデータ永続化の有効フラグ

    "true" (デフォルト): データを永続化する
    "false": データを永続化しない

    global.databaseDefinition.persistence.reinstall

    再インストール時にデータ領域の初期化の要否

    可 (データ永続化時)

    "true" (デフォルト): データを初期化(削除)する
    "false": データを初期化(削除)しない

    global.databaseDefinition.persistence.accessMode

    永続ボリュームのアクセスモードの指定。

    不可

    "ReadWriteOnce"

    global.databaseDefinition.persistence.size

    永続ボリュームのディスク容量

    可 (データ永続化時)

    "20Gi"

    global.databaseDefinition.persistence.volumeType

    永続ボリュームのボリュームタイプ

    可 (現在無効)

    "hostPath" (デフォルト): Kubernetes クラスタのノード上にデータを保存(非推奨)
    "AKS": AKS のストレージクラスを利用

    global.databaseDefinition.persistence.storageClass

    永続ボリュームにストレージクラスを利用する場合のクラスを指定

    可 (データ永続化時)

    "-" (デフォルト): ストレージクラスを指定しない。
    ストレージクラス名: クラウドプロバイダなどから提供されるストレージクラス名を指定。
    リスト 10 exastro.yaml
    --- /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro.yaml
    +++ /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro_database_disabled.yaml
    @@ -426,7 +426,7 @@
           tag: ""
     
       mariadb:
    -    enabled: true
    +    enabled: false
         image:
           repository: "docker.io/mariadb"
           tag: "10.11"
    @@ -593,4 +593,3 @@
                   - mongo
               topologyKey: kubernetes.io/hostname
     
    -
    
  5. MongoDBコンテナの無効化

    MongoDBコンテナが起動しないように設定します。(OASEを利用しない場合も設定必要)
    表 9 MongoDB コンテナのオプションパラメータ

    パラメータ

    説明

    変更

    デフォルト値・選択可能な設定値

    exastro-platform.mongo.enabled

    MongoDB コンテナのデプロイの有無

    true (デフォルト): MongoDB コンテナをデプロイします。
    false : MongoDB コンテナをデプロイしません。

    exastro-platform.mongo.image.repository

    コンテナイメージのリポジトリ名

    不可

    "mongo"

    exastro-platform.mongo.image.pullPolicy

    イメージプルポリシー

    IfNotPresent (デフォルト): コンテナイメージが存在しない場合のみプル
    Always: 毎回必ずプル
    None: プルしない

    exastro-platform.mongo.image.tag

    コンテナイメージのタグ

    不可

    "6.0"

    exastro-platform.mongo.persistence.enabled

    Exastro 共用データベースのデータ永続化の有効フラグ

    true (デフォルト): データを永続化する
    false: データを永続化しない

    exastro-platform.mongo.persistence.reinstall

    再インストール時にデータ領域の初期化の要否

    不可

    true : データを初期化(削除)する
    false (デフォルト): データを初期化(削除)しない

    exastro-platform.mongo.persistence.accessMode

    永続ボリュームのアクセスモードの指定。

    不可

    "ReadWriteOnce"

    exastro-platform.mongo.persistence.size

    永続ボリュームのディスク容量

    可 (データ永続化時)

    "20Gi"

    exastro-platform.mongo.persistence.storageClass

    永続ボリュームにストレージクラスを利用する場合のクラスを指定

    可 (データ永続化時)

    - (デフォルト): ストレージクラスを指定しない。
    ストレージクラス名: クラウドプロバイダなどから提供されるストレージクラス名を指定。

    exastro-platform.mongo.persistence.matchLabels.name

    利用する永続ボリューム名を指定

    不可

    "コメントアウト"

    exastro-platform.mongo.resources.requests.memory

    メモリ要求

    "256Mi"

    exastro-platform.mongo.resources.requests.cpu

    CPU要求

    "1m"

    exastro-platform.mongo.resources.limits.memory

    メモリ上限

    "2Gi"

    exastro-platform.mongo.resources.limits.cpu

    CPU上限

    "4"

    リスト 11 exastro.yaml
    --- /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro.yaml
    +++ /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro_mongodb_disabled.yaml
    @@ -535,7 +535,7 @@
           # nodePort: 30082
     
       mongo:
    -    enabled: true
    +    enabled: false
         image:
           repository: "docker.io/mongo"
           pullPolicy: IfNotPresent
    

アプリケーションの DB ユーザー設定

Exastro でアプリケーションのために作成する DB ユーザーの設定をします。

設定例

下記のアプリケーションが利用・作成する DB ユーザーをそれぞれ設定します。
  • Exastro IT Automation

  • Exastro 共通基盤

  • Keycloak

警告

認証情報などはすべて平文で問題ありません。(Base64エンコードは不要)
  1. Exastro IT Automation 用データベースの設定
    アプリケーションが利用・作成する DB ユーザーを設定します。
    表 15 共通設定 (Exastro IT Automation 用データベース) のオプションパラメータ

    パラメータ

    説明

    変更

    デフォルト値・選択可能な設定値

    global.itaDatabaseDefinition.name

    Exastro IT Automation 用データベースの定義名

    不可

    "ita-database"

    global.itaDatabaseDefinition.enabled

    Exastro IT Automation 用データベースの定義の利用有無

    不可

    true

    global.itaDatabaseDefinition.config.DB_VENDOR

    Exastro IT Automation 用データベースで使用するデータベース

    可 (外部データベース利用時)

    "mariadb" (デフォルト): MariaDB を利用
    "mysql": MySQL を利用

    global.itaDatabaseDefinition.config.DB_HOST

    Exastro IT Automation 用データベース利用するDB
    デフォルト状態では、同一の Kubernetes クラスタ内にデプロイされるコンテナを指定しています。
    クラスタ外部の DB を利用する場合には設定が必要となります。

    可 (外部データベース利用時)

    "mariadb"

    global.itaDatabaseDefinition.config.DB_PORT

    Exastro IT Automation 用データベースで利用するポート番号(TCP)

    可 (外部データベース利用時)

    "3306"

    global.itaDatabaseDefinition.config.DB_DATABASE

    Exastro IT Automation 用データベースで利用するデータベース名

    可 (外部データベース利用時)

    "platform"

    global.itaDatabaseDefinition.secret.DB_ADMIN_USER

    Exastro IT Automation 用データベースで利用する管理権限を持つDBユーザ名

    必須

    管理権限を持つDBユーザ名

    global.itaDatabaseDefinition.secret.DB_ADMIN_PASSWORD

    Exastro IT Automation 用データベースで利用する管理権限を持つDBユーザのパスワード(エンコードなし)

    必須

    管理権限を持つDBユーザ名のパスワード

    global.itaDatabaseDefinition.secret.DB_USER

    Exastro IT Automation 用データベースに作成するDBユーザ名。
    指定した DB ユーザが作成される。

    必須

    任意の文字列

    global.itaDatabaseDefinition.secret.DB_PASSWORD

    Exastro IT Automation 用データベースに作成するDBユーザのパスワード(エンコードなし)

    必須

    任意の文字列

    リスト 18 exastro.yaml
    --- /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro.yaml
    +++ /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro_db_user_ita.yaml
    @@ -28,8 +28,8 @@
         secret:
           DB_ADMIN_USER: "root"
           DB_ADMIN_PASSWORD: "Ch@ngeMeDBAdm"
    -      DB_USER: "ITA_USER"
    -      DB_PASSWORD: "Ch@ngeMeITADB"
    +      DB_USER: "ita-db-user"                # Exastro IT Automation のアプリが使うDBユーザー
    +      DB_PASSWORD: "ita-db-user-password"   # Exastro IT Automation のアプリが使うDBユーザーのパスワード
       pfGlobalDefinition:
         config:
           DEFAULT_LANGUAGE: "ja"
    @@ -593,4 +593,3 @@
                   - mongo
               topologyKey: kubernetes.io/hostname
     
    -
    
  2. Keycloak 用データベースの設定
    アプリケーションが利用・作成する DB ユーザーを設定します。
    表 16 共通設定 (Keycloak) のオプションパラメータ

    パラメータ

    説明

    変更

    デフォルト値・選択可能な設定値

    global.keycloakDefinition.name

    Keycloak の定義名

    不可

    keycloak

    global.keycloakDefinition.enabled

    Keycloak の定義の利用有無

    不可

    true

    global.keycloakDefinition.config.API_KEYCLOAK_PROTOCOL

    Keycloak API エンドポイントのプロトコル

    不可

    "http”

    global.keycloakDefinition.config.API_KEYCLOAK_HOST

    Keycloak API エンドポイントのホスト名、もしくは、FQDN

    不可

    "keycloak"

    global.keycloakDefinition.config.API_KEYCLOAK_PORT

    Keycloak API エンドポイントのポート番号

    不可

    "8080"

    global.keycloakDefinition.config.KEYCLOAK_PROTOCOL

    Keycloak エンドポイントのプロトコル

    不可

    "http"

    global.keycloakDefinition.config.KEYCLOAK_HOST

    Keycloak エンドポイントのホスト名、もしくは、FQDN

    不可

    "keycloak"

    global.keycloakDefinition.config.KEYCLOAK_PORT

    Keycloak API エンドポイントのポート番号

    不可

    "8080"

    global.keycloakDefinition.config.KEYCLOAK_MASTER_REALM

    Keycloak のマスターレルム名

    不可

    "master"

    global.keycloakDefinition.config.KEYCLOAK_DB_DATABASE

    Keycloak が利用するデータベース名

    不可

    "keycloak"

    global.keycloakDefinition.secret.SYSTEM_ADMIN

    Keycloak のマスターレルムにおける管理権限を持ったユーザ名を指定。
    指定した Keycloak ユーザが作成される。
    ※KEYCLOAK_USER→SYSTEM_ADMINに変更

    必須

    任意の文字列

    global.keycloakDefinition.secret.SYSTEM_ADMIN_PASSWORD

    Keycloak のマスターレルムにおける管理権限を持ったユーザに設定するパスワード(エンコードなし)
    ※KEYCLOAK_PASSWORD→SYSTEM_ADMIN_PASSWORDに変更

    必須

    任意の文字列

    global.keycloakDefinition.secret.KEYCLOAK_DB_USER

    Keycloak が使用するデータベースユーザ。
    指定した DB ユーザが作成される。

    必須

    任意の文字列

    global.keycloakDefinition.secret.KEYCLOAK_DB_PASSWORD

    Keycloak が使用するデータベースユーザのパスワード(エンコードなし)

    必須

    任意の文字列

    リスト 19 exastro.yaml
    --- /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro.yaml
    +++ /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro_db_user_keycloak.yaml
    @@ -65,8 +65,8 @@
         secret:
           SYSTEM_ADMIN: "admin"
           SYSTEM_ADMIN_PASSWORD: "Ch@ngeMeKCAdm"
    -      KEYCLOAK_DB_USER: "keycloak"
    -      KEYCLOAK_DB_PASSWORD: "Ch@ngeMeKCADB"
    +      KEYCLOAK_DB_USER: "keycloak-db-user"               # Keycloak が使うDBユーザー
    +      KEYCLOAK_DB_PASSWORD: "keycloak-db-user-password"  # Keycloak が使うDBユーザーのパスワード
       gitlabDefinition:
         config:
           GITLAB_PROTOCOL: "http"
    @@ -593,4 +593,3 @@
                   - mongo
               topologyKey: kubernetes.io/hostname
     
    -
    
  3. Exastro 共通基盤用データベースの設定
    アプリケーションが利用・作成する DB ユーザーを設定します。
    表 17 共通設定 (Exastro 共通基盤用データベース) のオプションパラメータ

    パラメータ

    説明

    変更

    デフォルト値・選択可能な設定値

    global.pfDatabaseDefinition.name

    認証機能用データベースの定義名

    不可

    "pf-database"

    global.pfDatabaseDefinition.enabled

    認証機能用データベースの定義の有効有無

    不可

    true

    global.pfDatabaseDefinition.config.DB_VENDOR

    認証機能用データベースで使用するデータベース

    可 (外部データベース利用時)

    "mariadb" (デフォルト): MariaDB を利用
    "mysql": MySQL を利用

    global.pfDatabaseDefinition.config.DB_HOST

    認証機能用データベース利用するDB
    デフォルト状態では、同一の Kubernetes クラスタ内にデプロイされるコンテナを指定しています。
    クラスタ外部の DB を利用する場合には設定が必要となります。

    可 (外部データベース利用時)

    "mariadb"

    global.pfDatabaseDefinition.config.DB_PORT

    認証機能用データベースで利用するポート番号(TCP)

    可 (外部データベース利用時)

    "3306"

    global.pfDatabaseDefinition.config.DB_DATABASE

    認証機能用データベースで利用するデータベース名

    可 (外部データベース利用時)

    "platform"

    global.pfDatabaseDefinition.secret.DB_ADMIN_USER

    認証機能用データベースで利用する管理権限を持つDBユーザ名

    必須

    管理権限を持つDBユーザ名

    global.pfDatabaseDefinition.secret.DB_ADMIN_PASSWORD

    認証機能用データベースで利用する管理権限を持つDBユーザのパスワード(エンコードなし)

    必須

    管理権限を持つDBユーザ名のパスワード

    global.pfDatabaseDefinition.secret.DB_USER

    認証機能用データベースに作成するDBユーザ名。
    指定した DB ユーザが作成される。

    必須

    任意の文字列

    global.pfDatabaseDefinition.secret.DB_PASSWORD

    認証機能用データベースに作成するDBユーザのパスワード(エンコードなし)

    必須

    任意の文字列

    リスト 20 exastro.yaml
    --- /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro.yaml
    +++ /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro_db_user_pf.yaml
    @@ -59,8 +59,8 @@
         secret:
           DB_ADMIN_USER: "root"
           DB_ADMIN_PASSWORD: "Ch@ngeMeDBAdm"
    -      DB_USER: "pf-user"
    -      DB_PASSWORD: "Ch@ngeMePFDB"
    +      DB_USER: "pf-db-user"           # Exastro 共通基盤が使うDBユーザー
    +      DB_PASSWORD: "pf-db-password"   # Exastro 共通基盤が使うDBユーザーのパスワード
       keycloakDefinition:
         secret:
           SYSTEM_ADMIN: "admin"
    @@ -593,4 +593,3 @@
                   - mongo
               topologyKey: kubernetes.io/hostname
     
    -
    

GitLab 連携設定

GitLab 連携のための接続情報を登録します。

警告

GitLab 連携を利用しない場合は、下記のように設定してください。
GITLAB_HOST: ""
表 18 共通設定 (GitLab) のオプションパラメータ

パラメータ

説明

変更

デフォルト値・選択可能な設定値

global.gitlabDefinition.name

GitLab の定義名

不可

gitlab

global.gitlabDefinition.enabled

GitLab の定義の利用有無

不可

true

global.gitlabDefinition.config.GITLAB_PROTOCOL

GitLab エンドポイントのプロトコル

http

global.gitlabDefinition.config.GITLAB_HOST

GitLab エンドポイントへのホスト名、もしくは、FQDN

gitlab

global.gitlabDefinition.config.GITLAB_PORT

GitLab エンドポイントのポート番号

80

global.gitlabDefinition.secret.GITLAB_ROOT_PASSWORD

GitLab の root 権限アカウントのユーザーパスワード

必須

任意の文字列(8文字以上で予測可能な単語等は利用不可)

global.gitlabDefinition.secret.GITLAB_ROOT_TOKEN

GitLab の root 権限アカウントのアクセストークン

必須

アクセエストークン(平文)

警告

GITLAB_ROOT_TOKEN は下記の権限スコープが割り当てられたトークンが必要です。
・api
・write_repository
・sudo
下記は、GitLab 連携の設定例を記載しています。
リスト 21 exastro.yaml
--- /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro.yaml
+++ /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro_gitlab_setting.yaml
@@ -69,12 +69,12 @@
       KEYCLOAK_DB_PASSWORD: "Ch@ngeMeKCADB"
   gitlabDefinition:
     config:
-      GITLAB_PROTOCOL: "http"
-      GITLAB_HOST: "" # "gitlab" if use container.
-      GITLAB_PORT: "8080"
-    secret:
-      GITLAB_ROOT_PASSWORD: "Ch@ngeMeGL"
-      GITLAB_ROOT_TOKEN: "change-this-token"
+      GITLAB_PROTOCOL: "接続プロトコル http or https"
+      GITLAB_HOST: "your.gitlab.endpoint" # 起動する Gitalb コンテナの公開時のURL。AAPから接続できる必要がある。
+      GITLAB_PORT: "30082"                # 起動する Gitalb コンテナの公開時のポート番号
+    secret:
+      GITLAB_ROOT_PASSWORD: "GitLabのRoot権限をユーザーパスワード"
+      GITLAB_ROOT_TOKEN: "GitLabのRoot権限を持ったトークン"
   mongoDefinition:
     config:
       MONGO_PROTOCOL: "http"
@@ -593,4 +593,3 @@
               - mongo
           topologyKey: kubernetes.io/hostname
 
-

Proxy設定

Proxy環境下で、Exastroシステムを利用する際の情報を設定します。

警告

Exastro IT Automation Ver.2.4以上、Exastro Platform Ver.1.8.1以上で利用可能
Proxy環境下で、IdP連携を使用する際に、必要な設定となっております。
その他の機能については、本設定は適用されません。
表 19 共通設定 (Proxy設定) のオプションパラメータ
パラメータ
説明
変更
デフォルト値・選択可能な設定値
global.proxyDefinition.name
Proxy定義名

不可

proxy-global

global.proxyDefinition.enabled
Proxy定義の利用有無

false

global.proxyDefinition.config.HTTP_PROXY
Proxy定義のHTTP_PROXY設定

""

global.proxyDefinition.config.HTTPS_PROXY
Proxy定義のHTTPS_PROXY設定

""

global.proxyDefinition.config.NO_PROXY
Proxy定義のNO_PROXY設定
追加設定がある場合のみ変更してください

"127.0.0.1,localhost,platform-auth,platform-api,ita-api-admin,ita-api-organization,ita-api-oase-receiver"

システム管理者の作成

セットアップ時に システム管理者の初期ユーザーを作成するための情報を設定します。
表 20 共通設定 (Keycloak) のオプションパラメータ

パラメータ

説明

変更

デフォルト値・選択可能な設定値

global.keycloakDefinition.name

Keycloak の定義名

不可

keycloak

global.keycloakDefinition.enabled

Keycloak の定義の利用有無

不可

true

global.keycloakDefinition.config.API_KEYCLOAK_PROTOCOL

Keycloak API エンドポイントのプロトコル

不可

"http”

global.keycloakDefinition.config.API_KEYCLOAK_HOST

Keycloak API エンドポイントのホスト名、もしくは、FQDN

不可

"keycloak"

global.keycloakDefinition.config.API_KEYCLOAK_PORT

Keycloak API エンドポイントのポート番号

不可

"8080"

global.keycloakDefinition.config.KEYCLOAK_PROTOCOL

Keycloak エンドポイントのプロトコル

不可

"http"

global.keycloakDefinition.config.KEYCLOAK_HOST

Keycloak エンドポイントのホスト名、もしくは、FQDN

不可

"keycloak"

global.keycloakDefinition.config.KEYCLOAK_PORT

Keycloak API エンドポイントのポート番号

不可

"8080"

global.keycloakDefinition.config.KEYCLOAK_MASTER_REALM

Keycloak のマスターレルム名

不可

"master"

global.keycloakDefinition.config.KEYCLOAK_DB_DATABASE

Keycloak が利用するデータベース名

不可

"keycloak"

global.keycloakDefinition.secret.SYSTEM_ADMIN

Keycloak のマスターレルムにおける管理権限を持ったユーザ名を指定。
指定した Keycloak ユーザが作成される。
※KEYCLOAK_USER→SYSTEM_ADMINに変更

必須

任意の文字列

global.keycloakDefinition.secret.SYSTEM_ADMIN_PASSWORD

Keycloak のマスターレルムにおける管理権限を持ったユーザに設定するパスワード(エンコードなし)
※KEYCLOAK_PASSWORD→SYSTEM_ADMIN_PASSWORDに変更

必須

任意の文字列

global.keycloakDefinition.secret.KEYCLOAK_DB_USER

Keycloak が使用するデータベースユーザ。
指定した DB ユーザが作成される。

必須

任意の文字列

global.keycloakDefinition.secret.KEYCLOAK_DB_PASSWORD

Keycloak が使用するデータベースユーザのパスワード(エンコードなし)

必須

任意の文字列

リスト 22 exastro.yaml
--- /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro.yaml
+++ /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro_usercreate_system_manager.yaml
@@ -63,8 +63,8 @@
       DB_PASSWORD: "Ch@ngeMePFDB"
   keycloakDefinition:
     secret:
-      SYSTEM_ADMIN: "admin"
-      SYSTEM_ADMIN_PASSWORD: "Ch@ngeMeKCAdm"
+      SYSTEM_ADMIN: "admin"                     # Exastro システムのシステム管理者のユーザー名
+      SYSTEM_ADMIN_PASSWORD: "admin-password"   # Exastro システムのシステム管理者のユーザーパスワード
       KEYCLOAK_DB_USER: "keycloak"
       KEYCLOAK_DB_PASSWORD: "Ch@ngeMeKCADB"
   gitlabDefinition:
@@ -593,4 +593,3 @@
               - mongo
           topologyKey: kubernetes.io/hostname
 
-

永続ボリュームの設定

データベースのデータ永続化 (クラスタ内コンテナがある場合)、および、ファイルの永続化のために、永続ボリュームを設定する必要があります。
永続ボリュームの詳細については、 永続ボリューム - Kubernetes を参照してください。
ストレージ利用時の2つの方法について説明します。

注釈

監査ログを永続ボリュームに出力する際は、永続ボリュームの設定が必要となります。
  • マネージドディスク

  • Kubernetes ノードのディレクトリ


  • 特徴

    パブリッククラウドで提供されるストレージサービスを利用することでストレージの構築や維持管理が不要となります。
  • 設定例

    Azure のストレージを利用する場合、下記のように StorageClass を定義することで利用が可能です。
    リスト 23 storage-class-exastro-suite.yaml
     1apiVersion: storage.k8s.io/v1
     2kind: StorageClass
     3metadata:
     4  name: exastro-suite-azurefile-csi-nfs
     5provisioner: file.csi.azure.com
     6allowVolumeExpansion: true
     7parameters:
     8  protocol: nfs
     9mountOptions:
    10  - nconnect=8
    
    リスト 24 exastro.yaml
      itaGlobalDefinition:
        persistence:
          enabled: true
          accessMode: ReadWriteMany
          size: 10Gi
          volumeType: hostPath # e.g.) hostPath or AKS
    -      storageClass: "-" # e.g.) azurefile or - (None)
    +      storageClass: "azurefile" # e.g.) azurefile or - (None)
    
    ※ 下記は、データベース連携 で設定済みです。
    リスト 25 exastro.yaml
      databaseDefinition:
        persistence:
          enabled: true
          reinstall: false
          accessMode: ReadWriteOnce
          size: 20Gi
          volumeType: hostPath # e.g.) hostPath or AKS
    -      storageClass: "-" # e.g.) azurefile or - (None)
    +      storageClass: "exastro-suite-azurefile-csi-nfs" # e.g.) azurefile or - (None)
    
    ※ 監査ログを永続ボリュームに出力する際は、以下の設定が必要となります
    リスト 26 exastro.yaml
      pfAuditLogDefinition:
        name: pf-auditlog
        persistence:
    -      enabled: false
    +      enabled: true
          reinstall: false
          accessMode: ReadWriteMany
          size: 10Gi
          volumeType: hostPath # e.g.) hostPath or AKS
    -      storageClass: "-" # e.g.) azurefile or - (None)
    +      storageClass: "exastro-suite-azurefile-csi-nfs" # e.g.) azurefile or - (None)
    

インストール

注釈

インストールに失敗した場合は、 アンインストール を実施して、再度インストールを実施してください。

永続ボリュームの作成

永続ボリュームの設定 で作成したマニフェストファイルを適用し、ボリュームを作成します。
# pv-database.yaml
kubectl apply -f pv-database.yaml

# pv-ita-common.yaml
kubectl apply -f pv-ita-common.yaml

# pv-mongo.yaml ※OASEを利用しない場合設定不要
kubectl apply -f pv-mongo.yaml

# pv-gitlab.yaml ※外部GitLabを利用する場合設定不要
kubectl apply -f pv-gitlab.yaml

# pv-pf-auditlog.yaml ※監査ログを永続ボリュームに出力しない場合は設定不要
kubectl apply -f pv-pf-auditlog.yaml
# 確認
kubectl get pv
NAME            CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM   STORAGECLASS   REASON   AGE
pv-auditlog     10Gi       RWX            Retain           Available                                   26s
pv-database     20Gi       RWO            Retain           Available                                   19s
pv-gitlab       20Gi       RWX            Retain           Available                                   5s
pv-ita-common   10Gi       RWX            Retain           Available                                   9s
pv-mongo        20Gi       RWO            Retain           Available                                   5s

インストール

Helm バージョンとアプリケーションのバージョンについては exastro-helmのサイト をご確認ください。
表 21 Helm チャートとアプリケーションのバージョン

Chart Version

Exastro Version

Exastro IT Automation

Exastro Platform

リリースシナリオ

1.0.2

2.1.0

2.0.3

1.4.0

Exastro IT Automation Version 2.0 GA リリース

...

...

...

...

...

1.1.x

2.2.x

2.1.x

1.x.0

Exastro IT Automation Version 2.1 GA リリース(予定)

インストール時にサービスの公開方法によって、アクセス方法が異なります。
Ingress, LoadBalancer, NodePort それぞれの方法について説明します。
以下の手順でインストールを行います。
  1. Helm コマンドを使い Kubernetes 環境にインストールを行います。

    リスト 33 コマンド
    helm upgrade exastro exastro/exastro --install \
      --namespace exastro --create-namespace \
      --values exastro.yaml
    
    リスト 34 出力結果
    NAME: exastro
    LAST DEPLOYED: Sat Jan 28 15:00:02 2023
    NAMESPACE: exastro
    STATUS: deployed
    REVISION: 1
    TEST SUITE: None
    NOTES:
    Exastro install completion!
    
    1. Execute the following command and wait until the pod becomes "Running" or "Completed":
    
      # NOTE: You can also append "-w" to the command or wait until the state changes with "watch command"
    
      kubectl get pods --namespace exastro
    
    2. Get the ENCRYPT_KEY by running these commands:
    
      # Exastro IT Automation ENCRYPT_KEY
      kubectl get secret ita-secret-ita-global --namespace exastro -o jsonpath='{.data.ENCRYPT_KEY}' | base64 -d
    
      # Exastro Platform ENCRYPT_KEY
      kubectl get secret platform-secret-pf-global --namespace exastro -o jsonpath='{.data.ENCRYPT_KEY}' | base64 -d
    
      !!! Please save the output ENCRYPT_KEY carefully. !!!
    
    3. Run the following command to get the application URL and go to the URL or go to the displayed URL:
      *************************
      * Service Console       *
      *************************
      http://exastro-suite.example.local/
    
      *************************
      * Administrator Console *
      *************************
      http://exastro-suite-mng.example.local/auth/
    
    
    # Note: You can display this note again by executing the following command.
    
    以下、上記の出力結果に従って操作をします。
  2. インストール状況確認
    コマンドラインから以下のコマンドを入力して、インストール(サービス起動)が完了していることを確認します。
    リスト 35 コマンド
    # Pod の一覧を取得
    kubectl get po --namespace exastro
    
    正常に起動している場合は、ita-migration-xxxplatform-migration-xxxCompleted 、その他すべてが Running となります。
    ※正常に起動するまで数分かかる場合があります。
    リスト 36 出力結果
    NAME                                                      READY   STATUS      RESTARTS   AGE
    ita-api-admin-6b8567596d-rgjms                            1/1     Running     0          7h40m
    ita-api-oase-receiver-6b74bdff6-zmcrw                     1/1     Running     0          7h40m
    ita-api-organization-559d7d8f89-ptphh                     1/1     Running     0          7h40m
    ita-by-ansible-execute-5dc444c999-w6gmr                   1/1     Running     0          7h40m
    ita-by-ansible-legacy-role-vars-listup-6d8f98895f-bvjgn   1/1     Running     0          7h40m
    ita-by-ansible-legacy-vars-listup-6ccd997cf-hvkzq         1/1     Running     0          7h40m
    ita-by-ansible-pioneer-vars-listup-6cfcfd4479-8bqst       1/1     Running     0          7h40m
    ita-by-ansible-towermaster-sync-6759486f8f-wrbbp          1/1     Running     0          7h40m
    ita-by-cicd-for-iac-7b75cc56f5-rrrvg                      1/1     Running     0          7h40m
    ita-by-collector-7748d54f59-8j5r2                         1/1     Running     0          7h40m
    ita-by-conductor-regularly-779ff79775-xnt29               1/1     Running     0          7h40m
    ita-by-conductor-synchronize-5d5485479-5df54              1/1     Running     0          7h40m
    ita-by-excel-export-import-6f84f97dcf-hlm4h               1/1     Running     0          7h40m
    ita-by-hostgroup-split-59b698f479-cxggd                   1/1     Running     0          7h40m
    ita-by-menu-create-796bdc9c75-l79zq                       1/1     Running     0          7h40m
    ita-by-menu-export-import-849d796bb5-5mpw2                1/1     Running     0          7h40m
    ita-by-oase-conclusion-b484595d7-kssv4                    1/1     Running     0          7h40m
    ita-by-terraform-cli-execute-769d874d7-sknn6              1/1     Running     0          7h40m
    ita-by-terraform-cli-vars-listup-7f589cdddc-g5xz6         1/1     Running     0          7h40m
    ita-by-terraform-cloud-ep-execute-7f8b6d87cc-kfmfv        1/1     Running     0          7h40m
    ita-by-terraform-cloud-ep-vars-listup-6cccbd4899-6frcn    1/1     Running     0          7h40m
    ita-migration-1-3-6-lydz                                  0/1     Completed   0          7h40m
    ita-web-server-b4cd4cdf8-wkx78                            1/1     Running     0          7h40m
    keycloak-0                                                1/1     Running     0          7h40m
    mariadb-778786f7d-ss4cq                                   1/1     Running     0          7h40m
    mongo-0                                                   1/1     Running     0          7h40m
    platform-api-ffb78f578-svd5t                              1/1     Running     0          7h40m
    platform-auth-75895d784-9hhxw                             1/1     Running     0          7h40m
    platform-job-864c47d4f-8vvvq                              1/1     Running     0          7h40m
    platform-migration-1-8-0-rjwr                             0/1     Completed   0          7h40m
    platform-web-6644884657-dmwp6                             1/1     Running     0          7h40m
    
  3. 暗号化キーのバックアップ

    Exastro システムのパスワードや認証情報といった機密情報はすべて暗号化されています。
    必ず、下記で取得した暗号化キーをバックアップして、適切に保管してください。

    危険

    暗号化キーを紛失した場合、バックアップデータからシステムを復旧した際にデータの復号ができなくなります。
    リスト 37 コマンド
    # Exastro IT Automation ENCRYPT_KEY
    kubectl get secret ita-secret-ita-global --namespace exastro -o jsonpath='{.data.ENCRYPT_KEY}' | base64 -d
    
    リスト 38 出力結果
    JnIoXzJtPic2MXFqRl1yI1chMj8hWzQrNypmVn41Pk8=
    
    リスト 39 コマンド
    # Exastro Platform ENCRYPT_KEY
    kubectl get secret platform-secret-pf-global --namespace exastro -o jsonpath='{.data.ENCRYPT_KEY}' | base64 -d
    
    リスト 40 出力結果
    bHFZe2VEVVM2PmFeQDMqNG4oZT4lTlglLjJJekxBTHE=
    
  4. 接続確認

    出力結果に従って、Administrator Console の URL にアクセスします。
    下記は、実行例のため サービス公開の設定 で設定したホスト名に読み替えてください。
    リスト 41 出力結果(例)
    *************************
    * Service Console       *
    *************************
    http://exastro-suite.example.local/
    
    *************************
    * Administrator Console *
    *************************
    http://exastro-suite-mng.example.local/auth/
    
    表 22 接続確認用URL

    管理コンソール

    http://exastro-suite-mng.example.local/auth/

管理コンソールへのログイン

以下の画面が表示された場合、Administration Console を選択して、ログイン画面を開きます。
administrator-console
ログイン ID とパスワードは システム管理者の作成 で登録した、KEYCLOAK_USER 及び KEYCLOAK_PASSWORD です。
login
Keycloak の管理画面が開きます。
login
ログインが確認できたら、Organization (オーガナイゼーション) の作成を行います。

アップグレード

Exastro システムのアップグレード方法について紹介します。

アップグレードの準備

警告

アップグレード実施前に データバックアップ・リストア の手順に従い、バックアップを取得しておくことを推奨します。

Helm リポジトリの更新

Exastro システムの Helm リポジトリを更新します。
更新前のバージョンを確認します。
リスト 62 コマンド
1# リポジトリ情報の確認
2helm search repo exastro
リスト 63 実行結果
1helm search repo exastro
2NAME                            CHART VERSION   APP VERSION     DESCRIPTION
3exastro/exastro                 1.0.0           2.0.3           A Helm chart for Exastro. Exastro is an Open So...
4exastro/exastro-it-automation   1.2.0           2.0.3           A Helm chart for Exastro IT Automation. Exastro...
5exastro/exastro-platform        1.5.0           1.4.0           A Helm chart for Exastro Platform. Exastro Plat...
Helm リポジトリを更新します。
リスト 64 コマンド
1# リポジトリ情報の更新
2helm repo update
更新後のバージョンを確認します。
リスト 65 コマンド
1# リポジトリ情報の確認
2helm search repo exastro
リスト 66 実行結果
1helm search repo exastro
2NAME                            CHART VERSION   APP VERSION     DESCRIPTION
3exastro/exastro                 1.0.1           2.1.0           A Helm chart for Exastro. Exastro is an Open So...
4exastro/exastro-it-automation   1.2.0           2.0.3           A Helm chart for Exastro IT Automation. Exastro...
5exastro/exastro-platform        1.5.0           1.4.0           A Helm chart for Exastro Platform. Exastro Plat...

デフォルト設定値の更新の確認

デフォルト値の更新を確認します。
インストール時に作成した設定ファイル exastro.yaml とアップグレード後の設定ファイルを比較します。
リスト 67 コマンド
diff -u exastro.yaml <(helm show values exastro/exastro)
リスト 68 実行結果
exastro-platform:
  platform-api:
    image:
      repository: "exastro/exastro-platform-api"
       tag: ""

  platform-auth:
+    extraEnv:
+      # Please set the URL to access
+      EXTERNAL_URL: ""
+      EXTERNAL_URL_MNG: ""
    ingress:
      enabled: true
      hosts:
        - host: exastro-suite.example.local
          paths:

設定値の更新

警告

ユーザ名やパスワードはバージョンアップ前のものと合わせる必要があります。
デフォルト設定値の比較結果から、項目の追加などにより設定値の追加が必要な場合は更新をしてください。
設定値の更新が不要であればこの手順はスキップしてください。
例えば下記の差分確認結果から、exastro-platform.platform-auth.extraEnv が追加されていますので、必要に応じて、exastro.yaml に項目と設定値を追加します。
リスト 69 実行結果
exastro-platform:
  platform-api:
    image:
      repository: "exastro/exastro-platform-api"
       tag: ""

  platform-auth:
+    extraEnv:
+      # Please set the URL to access
+      EXTERNAL_URL: ""
+      EXTERNAL_URL_MNG: ""
    ingress:
      enabled: true
      hosts:
        - host: exastro-suite.example.local
          paths:

暗号化キーの指定

暗号化キーのバックアップ でバックアップした暗号化キーを指定します。
リスト 70 exastro.yaml
--- /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/exastro.yaml
+++ /home/runner/work/exastro-it-automation-docs-dev/exastro-it-automation-docs-dev/workspace/src/ja/2.4/installation/literal_includes/update_exastro.yaml
@@ -8,7 +8,7 @@
       LANGUAGE: "en"
       TZ: "Asia/Tokyo"
     secret:
-      ENCRYPT_KEY: ""
+      ENCRYPT_KEY: "JnIoXzJtPic2MXFqRl1yI1chMj8hWzQrNypmVn41Pk8="
     persistence:
       enabled: true
       accessMode: ReadWriteMany
@@ -36,7 +36,7 @@
       LANGUAGE: "en"
       TZ: "Asia/Tokyo"
     secret:
-      ENCRYPT_KEY: ""
+      ENCRYPT_KEY: "bHFZe2VEVVM2PmFeQDMqNG4oZT4lTlglLjJJekxBTHE="
   pfAuditLogDefinition:
     name: pf-auditlog
     persistence:

アップグレード

警告

バージョン2.2.1以前から2.3.0以降へのアップグレードを行う場合は一度 アンインストール永続ボリュームを削除 まで行い、再度 インストール してください。

危険

永続データを削除 は行わないでください。
永続データの削除を行うとアップグレード前のデータがすべて消えてしまいます。

サービス停止

  1. Pod 起動数の確認

    作業前の Pod 起動数の確認をし、状態を記録します。
    リスト 71 コマンド
    kubectl get deploy,statefulset -o jsonpath='{range .items[*]}{@.metadata.name}:{@.spec.replicas}{"\n"}' -n exastro
    
    リスト 72 実行結果
    ita-api-admin:1
    ita-api-oase-receiver:1
    ita-api-organization:1
    ita-by-ansible-execute:1
    ita-by-ansible-legacy-role-vars-listup:1
    ita-by-ansible-legacy-vars-listup:1
    ita-by-ansible-pioneer-vars-listup:1
    ita-by-ansible-towermaster-sync:1
    ita-by-cicd-for-iac:1
    ita-by-collector:1
    ita-by-conductor-regularly:1
    ita-by-conductor-synchronize:1
    ita-by-excel-export-import:1
    ita-by-hostgroup-split:1
    ita-by-menu-create:1
    ita-by-menu-export-import:1
    ita-by-oase-conclusion:1
    ita-by-terraform-cli-execute:1
    ita-by-terraform-cli-vars-listup:1
    ita-by-terraform-cloud-ep-execute:1
    ita-by-terraform-cloud-ep-vars-listup:1
    ita-web-server:1
    mariadb:1
    platform-api:1
    platform-auth:1
    platform-job:1
    platform-web:1
    keycloak:1
    mongo:1
    :
    
    各Deployment, StatefulSetのサービス名、replicas数が表示されます。

    警告

    バージョンによって、表示されるサービスが異なります。
  2. アプリケーションの停止

    アプリケーション (platform-auth) の Pod 起動数を 0 に変更し、アクセスを制限します。
    リスト 73 コマンド
    kubectl scale deploy,statefulset -n exastro --replicas=0 --all=true
    
    リスト 74 実行結果
    deployment.apps/ita-api-admin scaled
    deployment.apps/ita-api-oase-receiver scaled
    deployment.apps/ita-api-organization scaled
    deployment.apps/ita-by-ansible-execute scaled
    deployment.apps/ita-by-ansible-legacy-role-vars-listup scaled
    deployment.apps/ita-by-ansible-legacy-vars-listup scaled
    deployment.apps/ita-by-ansible-pioneer-vars-listup scaled
    deployment.apps/ita-by-ansible-towermaster-sync scaled
    deployment.apps/ita-by-cicd-for-iac scaled
    deployment.apps/ita-by-collector scaled
    deployment.apps/ita-by-conductor-regularly scaled
    deployment.apps/ita-by-conductor-synchronize scaled
    deployment.apps/ita-by-excel-export-import scaled
    deployment.apps/ita-by-hostgroup-split scaled
    deployment.apps/ita-by-menu-create scaled
    deployment.apps/ita-by-menu-export-import scaled
    deployment.apps/ita-by-oase-conclusion scaled
    deployment.apps/ita-by-terraform-cli-execute scaled
    deployment.apps/ita-by-terraform-cli-vars-listup scaled
    deployment.apps/ita-by-terraform-cloud-ep-execute scaled
    deployment.apps/ita-by-terraform-cloud-ep-vars-listup scaled
    deployment.apps/ita-web-server scaled
    deployment.apps/mariadb scaled
    deployment.apps/platform-api scaled
    deployment.apps/platform-auth scaled
    deployment.apps/platform-job scaled
    deployment.apps/platform-web scaled
    statefulset.apps/keycloak scaled
    statefulset.apps/mongo scaled
    

    警告

    バージョンによって、表示されるサービスが異なります。
  3. Pod 起動数の確認

    上記で停止した対象の Pod 数が 0 になっていることを確認します。
    リスト 75 コマンド
    kubectl get deploy,statefulset -n exastro
    
    リスト 76 実行結果
    NAME                                                     READY   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/ita-api-admin                            0/0     0            0           26h
    deployment.apps/ita-api-oase-receiver                    0/0     0            0           26h
    deployment.apps/ita-api-organization                     0/0     0            0           26h
    deployment.apps/ita-by-ansible-execute                   0/0     0            0           26h
    deployment.apps/ita-by-ansible-legacy-role-vars-listup   0/0     0            0           26h
    deployment.apps/ita-by-ansible-legacy-vars-listup        0/0     0            0           26h
    deployment.apps/ita-by-ansible-pioneer-vars-listup       0/0     0            0           26h
    deployment.apps/ita-by-ansible-towermaster-sync          0/0     0            0           26h
    deployment.apps/ita-by-cicd-for-iac                      0/0     0            0           26h
    deployment.apps/ita-by-collector                         0/0     0            0           26h
    deployment.apps/ita-by-conductor-regularly               0/0     0            0           26h
    deployment.apps/ita-by-conductor-synchronize             0/0     0            0           26h
    deployment.apps/ita-by-excel-export-import               0/0     0            0           26h
    deployment.apps/ita-by-hostgroup-split                   0/0     0            0           26h
    deployment.apps/ita-by-menu-create                       0/0     0            0           26h
    deployment.apps/ita-by-menu-export-import                0/0     0            0           26h
    deployment.apps/ita-by-oase-conclusion                   0/0     0            0           26h
    deployment.apps/ita-by-terraform-cli-execute             0/0     0            0           26h
    deployment.apps/ita-by-terraform-cli-vars-listup         0/0     0            0           26h
    deployment.apps/ita-by-terraform-cloud-ep-execute        0/0     0            0           26h
    deployment.apps/ita-by-terraform-cloud-ep-vars-listup    0/0     0            0           26h
    deployment.apps/ita-web-server                           0/0     0            0           26h
    deployment.apps/mariadb                                  0/0     0            0           26h
    deployment.apps/platform-api                             0/0     0            0           26h
    deployment.apps/platform-auth                            0/0     0            0           26h
    deployment.apps/platform-job                             0/0     0            0           26h
    deployment.apps/platform-web                             0/0     0            0           26h
    
    NAME                        READY   AGE
    statefulset.apps/keycloak   0/0     25h
    statefulset.apps/mongo      0/0     26h
    

    警告

    バージョンによって、表示されるサービスが異なります。

アップグレード実施

アップグレードを実施します。
リスト 77 コマンド
helm upgrade exastro exastro/exastro --install \
  --namespace exastro --create-namespace \
  --values exastro.yaml
リスト 78 出力結果
NAME: exastro
LAST DEPLOYED: Sat Jan 28 15:00:02 2023
NAMESPACE: exastro
STATUS: deployed
REVISION: 2
TEST SUITE: None
NOTES:
Exastro install completion!

1. Execute the following command and wait until the pod becomes "Running" or "Completed":

  # NOTE: You can also append "-w" to the command or wait until the state changes with "watch command"

  kubectl get pods --namespace exastro

2. Get the ENCRYPT_KEY by running these commands:

  # Exastro IT Automation ENCRYPT_KEY
  kubectl get secret ita-secret-ita-global --namespace exastro -o jsonpath='{.data.ENCRYPT_KEY}' | base64 -d

  # Exastro Platform ENCRYPT_KEY
  kubectl get secret platform-secret-pf-global --namespace exastro -o jsonpath='{.data.ENCRYPT_KEY}' | base64 -d

  !!! Please save the output ENCRYPT_KEY carefully. !!!

3. Run the following command to get the application URL and go to the URL or go to the displayed URL:
  *************************
  * Service Console       *
  *************************
  http://exastro-suite.example.local/

  *************************
  * Administrator Console *
  *************************
  http://exastro-suite-mng.example.local/auth/


  # Note: You can display this note again by executing the following command.

サービス再開

exastro.yaml で指定されたreplicasで、再開されますので、基本的には再開不要です。

アップグレード状況確認 にお進みください。

  1. サービス再開

    サービス停止時に取得した各 Deployment の Pod 起動数を元に戻します。
    リスト 79 コマンド
    kubectl scale deploy,statefulset -n exastro --replicas=1 --all=true
    
    個別にreplicas数を設定する場合は以下のコマンドで再開します。
    サービス名は、停止時に確認した内容を入力してください。
    リスト 80 コマンド
    kubectl scale deployment [サービス名] -n exastro --replicas=[replicas数]
    
    Ver.2.4.0以降、サービス名:keycloak、mongodbについては以下のコマンドで再開します。
    リスト 81 コマンド
    kubectl scale statefulset [サービス名] -n exastro --replicas=[replicas数]
    

    Tip

    サービス名を複数指定する場合は、カンマ区切りで複数のサービス名を指定することができます。
  2. Pod 起動数の確認

    上記で起動した対象の Pod 数が元に戻りすべて READY になっていることを確認します。
    リスト 82 コマンド
    kubectl get deploy,statefulset -n exastro
    
    リスト 83 実行結果
    NAME                                                     READY   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/ita-api-admin                            1/1     1            1           26h
    deployment.apps/ita-api-oase-receiver                    1/1     1            1           26h
    deployment.apps/ita-api-organization                     1/1     1            1           26h
    deployment.apps/ita-by-ansible-execute                   1/1     1            1           26h
    deployment.apps/ita-by-ansible-legacy-role-vars-listup   1/1     1            1           26h
    deployment.apps/ita-by-ansible-legacy-vars-listup        1/1     1            1           26h
    deployment.apps/ita-by-ansible-pioneer-vars-listup       1/1     1            1           26h
    deployment.apps/ita-by-ansible-towermaster-sync          1/1     1            1           26h
    deployment.apps/ita-by-cicd-for-iac                      1/1     1            1           26h
    deployment.apps/ita-by-collector                         1/1     1            1           26h
    deployment.apps/ita-by-conductor-regularly               1/1     1            1           26h
    deployment.apps/ita-by-conductor-synchronize             1/1     1            1           26h
    deployment.apps/ita-by-excel-export-import               1/1     1            1           26h
    deployment.apps/ita-by-hostgroup-split                   1/1     1            1           26h
    deployment.apps/ita-by-menu-create                       1/1     1            1           26h
    deployment.apps/ita-by-menu-export-import                1/1     1            1           26h
    deployment.apps/ita-by-oase-conclusion                   1/1     1            1           26h
    deployment.apps/ita-by-terraform-cli-execute             1/1     1            1           26h
    deployment.apps/ita-by-terraform-cli-vars-listup         1/1     1            1           26h
    deployment.apps/ita-by-terraform-cloud-ep-execute        1/1     1            1           26h
    deployment.apps/ita-by-terraform-cloud-ep-vars-listup    1/1     1            1           26h
    deployment.apps/ita-web-server                           1/1     1            1           26h
    deployment.apps/mariadb                                  1/1     1            1           26h
    deployment.apps/platform-api                             1/1     1            1           26h
    deployment.apps/platform-auth                            1/1     1            1           26h
    deployment.apps/platform-job                             1/1     1            1           26h
    deployment.apps/platform-web                             1/1     1            1           26h
    
    NAME                        READY   AGE
    statefulset.apps/keycloak   1/1     26h
    statefulset.apps/mongo      1/1     26h
    

    警告

    バージョンによって、表示されるサービスが異なります。

アップグレード状況確認

コマンドラインから以下のコマンドを入力して、インストール(サービス起動)が完了していることを確認します。
リスト 84 コマンド
# Pod の一覧を取得
kubectl get po --namespace exastro
正常に起動している場合は、ita-migration-xxxplatform-migration-xxxCompleted 、その他すべてが Running となります。
※正常に起動するまで数分かかる場合があります。
リスト 85 出力結果
NAME                                                      READY   STATUS      RESTARTS   AGE
ita-api-admin-6b8567596d-rgjms                            1/1     Running     0          7h40m
ita-api-oase-receiver-6b74bdff6-zmcrw                     1/1     Running     0          7h40m
ita-api-organization-559d7d8f89-ptphh                     1/1     Running     0          7h40m
ita-by-ansible-execute-5dc444c999-w6gmr                   1/1     Running     0          7h40m
ita-by-ansible-legacy-role-vars-listup-6d8f98895f-bvjgn   1/1     Running     0          7h40m
ita-by-ansible-legacy-vars-listup-6ccd997cf-hvkzq         1/1     Running     0          7h40m
ita-by-ansible-pioneer-vars-listup-6cfcfd4479-8bqst       1/1     Running     0          7h40m
ita-by-ansible-towermaster-sync-6759486f8f-wrbbp          1/1     Running     0          7h40m
ita-by-cicd-for-iac-7b75cc56f5-rrrvg                      1/1     Running     0          7h40m
ita-by-collector-7748d54f59-8j5r2                         1/1     Running     0          7h40m
ita-by-conductor-regularly-779ff79775-xnt29               1/1     Running     0          7h40m
ita-by-conductor-synchronize-5d5485479-5df54              1/1     Running     0          7h40m
ita-by-excel-export-import-6f84f97dcf-hlm4h               1/1     Running     0          7h40m
ita-by-hostgroup-split-59b698f479-cxggd                   1/1     Running     0          7h40m
ita-by-menu-create-796bdc9c75-l79zq                       1/1     Running     0          7h40m
ita-by-menu-export-import-849d796bb5-5mpw2                1/1     Running     0          7h40m
ita-by-oase-conclusion-b484595d7-kssv4                    1/1     Running     0          7h40m
ita-by-terraform-cli-execute-769d874d7-sknn6              1/1     Running     0          7h40m
ita-by-terraform-cli-vars-listup-7f589cdddc-g5xz6         1/1     Running     0          7h40m
ita-by-terraform-cloud-ep-execute-7f8b6d87cc-kfmfv        1/1     Running     0          7h40m
ita-by-terraform-cloud-ep-vars-listup-6cccbd4899-6frcn    1/1     Running     0          7h40m
ita-migration-1-3-6-lydz                                  0/1     Completed   0          7h40m
ita-web-server-b4cd4cdf8-wkx78                            1/1     Running     0          7h40m
keycloak-0                                                1/1     Running     0          7h40m
mariadb-778786f7d-ss4cq                                   1/1     Running     0          7h40m
mongo-0                                                   1/1     Running     0          7h40m
platform-api-ffb78f578-svd5t                              1/1     Running     0          7h40m
platform-auth-75895d784-9hhxw                             1/1     Running     0          7h40m
platform-job-864c47d4f-8vvvq                              1/1     Running     0          7h40m
platform-migration-1-8-0-rjwr                             0/1     Completed   0          7h40m
platform-web-6644884657-dmwp6                             1/1     Running     0          7h40m

アンインストール

Exastro システムのアンインストール方法について紹介します。

アンインストールの準備

警告

アンインストール実施前に データバックアップ・リストア の手順に従い、バックアップを取得しておくことを推奨します。

アンインストール

アンインストール実施

アンインストールを実施します。
リスト 86 コマンド
helm uninstall exastro --namespace exastro
リスト 87 出力結果
release "exastro" uninstalled

永続ボリュームを削除

Persitent Volume(PV) を Kubernetes 上に hostPath で作成した場合の方法を記載します。
マネージドデータベースを含む外部データベースを利用している場合は、環境にあったデータ削除方法を実施してください。
データベース用
リスト 88 コマンド
kubectl delete pv pv-database
リスト 89 実行結果
persistentvolume "pv-database" deleted
ファイル用
リスト 90 コマンド
kubectl delete pv pv-ita-common
リスト 91 実行結果
persistentvolume "pv-ita-common" deleted
OASE用
リスト 92 コマンド
kubectl delete pv pv-mongo
リスト 93 実行結果
persistentvolume "pv-mongo" deleted
リスト 94 コマンド
kubectl delete pvc volume-mongo-storage-mongo-0 --namespace exastro
リスト 95 実行結果
persistentvolumeclaim "volume-mongo-storage-mongo-0" deleted
GitLab用
リスト 96 コマンド
kubectl delete pv pv-gitlab
リスト 97 実行結果
persistentvolume "pv-gitlab" deleted
監査ログファイル用
リスト 98 コマンド
kubectl delete pv pv-auditlog
リスト 99 実行結果
persistentvolume "pv-auditlog" deleted

永続データを削除

Kubernetes のコントロールノードにログインし、データを削除します。
データベース用
下記コマンドは、Persistent Volume 作成時の hostPath に /var/data/exastro-suite/exastro-platform/database を指定した場合の例です。
リスト 100 コマンド
# 永続データがあるコントロールノードにログイン
ssh user@contol.node.example

# 永続データの削除
sudo rm -rf /var/data/exastro-suite/exastro-platform/database
ファイル用
下記コマンドは、Persistent Volume 作成時の hostPath に /var/data/exastro-suite/exastro-it-automation/ita-common を指定した場合の例です。
リスト 101 コマンド
# 永続データがあるコントロールノードにログイン
ssh user@contol.node.example

# 永続データの削除
sudo rm -rf /var/data/exastro-suite/exastro-it-automation/ita-common
OASE用
下記コマンドは、Persistent Volume 作成時の hostPath に /var/data/exastro-suite/exastro-platform/mongo を指定した場合の例です。
リスト 102 コマンド
# 永続データがあるコントロールノードにログイン
ssh user@contol.node.example

# 永続データの削除
sudo rm -rf /var/data/exastro-suite/exastro-platform/mongo
GitLab用
下記コマンドは、Persistent Volume 作成時の hostPath に /var/data/exastro-suite/exastro-platform/gitlab を指定した場合の例です。
リスト 103 コマンド
# 永続データがあるコントロールノードにログイン
ssh user@contol.node.example

# 永続データの削除
sudo rm -rf /var/data/exastro-suite/exastro-platform/gitlab
監査ログファイル用
下記コマンドは、Persistent Volume 作成時の hostPath に /var/log/exastro を指定した場合の例です。
リスト 104 コマンド
# 永続データがあるコントロールノードにログイン
ssh user@contol.node.example

# 永続データの削除
sudo rm -rf /var/log/exastro