Krugle Full AiO (All‐in‐One) Server Deployment Guide - krugle-jp/Krugle-Library GitHub Wiki
バージョン:
- Krugle Enterprise Search: 6.2.11
- KrugleAI: 0.8.3
- CPU: 16コア以上 ※NVIDIA GPU搭載サーバの場合は8コア以上
- ディスク:
- / ~500GB - システムボリューム
- /data ~2TB - データボリューム
- RAM: >32 GB
- OS: Ubuntu Server 20.04/22.04/24.04 x86 64bit または RHEL 8.x/9.x x86 64bit
注記
- クローリング対象の総ボリュームの2倍の容量を
/dataディレクトリに割り当てることを推奨します。 - パフォーマンス向上のため、ディスクにはSSDドライブを推奨します。
- 各サーバーモジュールはDockerイメージとして提供されます。
- HTTPS用のサーバー証明書(.crt/.key)を準備してください。
AWS EC2利用の最小構成
GPU搭載の場合 AMI: Deep Learning OSS Nvidia Driver AMI GPU PyTorch 2.5 (Ubuntu 22.04) EC2: g4dn.2xlarge 以上
GPU非搭載の場合: AMI: ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-xxx~ EC2: c5a.8xlarge 以上
-
インストーラーはrootユーザーとして、またはsudo権限で実行する必要があります。
-
インストーラーを実行する前に、以下のツールをインストールする必要があります。
Ubuntuの場合:
- systemd
- tar
- ufw
- tee
% sudo apt update
% sudo apt install systemd tar ufw tee -yRHEL/CentOSの場合:
- systemd
- tar
- firewalld
- tee
% sudo yum update
% sudo yum install systemd tar firewalld tee -y-
設定ファイルを編集するために、
vimなどのテキストエディタをインストールする必要があるかもしれません。 -
ファイアウォールサービスが開始されていることを確認してください。
Ubuntuの場合:
% sudo systemctl enable ufw
% sudo systemctl start ufw
% sudo ufw --force enable% sudo ufw statusStatus: activeと表示される場合、ufwファイアウォールが有効になっています。
SSHでサーバーにアクセスする場合、ポート22が許可されていることを確認することが重要です。
% sudo ufw allow 22
% sudo ufw reloadRHEL/CentOSの場合:
% sudo systemctl enable firewalld
% sudo systemctl start firewalld
% sudo firewall-cmd --zone=public --add-port=22/tcp --permanent
% sudo firewall-cmd --reload-
$PATH変数に/usr/local/binが含まれていることを確認してください。
インストール開始前に以下の手順で旧バージョンのアンインストールをしてください。
-
Krugle認証サービス(KAS)が設定されている場合、管理画面の「設定」ー「認証」から認証方式を「なし(認証不要」に変更
-
管理画面のプロジェクト一覧画面から'Mass Export'でクロール設定のバックアップを取得
-
'/opt/krugle/scmi/data/’以下のファイルを一時退避 (*install.shの正常終了後に手動でのデータ回復手順がありますのでご注意ください。)
% mkdir /data/krugle-backup/
% cp -r /opt/krugle/scmi/data/ /data/krugle-backup/
% cp /opt/krugle/scmi/filesystem-scmi/ldap* /data/krugle-backup/- 旧バージョンのインストーラーを削除
% rm -rf /root/krugle-aio-installer/- Krugleサービスの停止
% sudo systemctl stop krugle
% sudo systemctl stop shasta- 旧バージョンのアンインストール
% cd /opt/krugle
% bash ./uninstall.shKrugleデータを削除するかを選択できます。(デフォルト:N = 保持)
Do you want to keep Krugle data on the server or remove it? Please make your decision carefully.
Remove Krugle data? (Y/N, default: N):
- サーバーのリスタート
% sudo reboot- インストーラーをダウンロードする
Krugle Full AiOインストーラーをKrugleダウンロードウェブサイトからダウンロードしてください(詳細についてはKrugleサポートチームにお問い合わせください)。
- インストーラーを展開する
% tar -zxf ./Krugle-AiO-installer-*.tgz- SSL設定
Krugleの使用にはHTTPSが必要です。
PEM形式の証明書ファイルkrugle-aio-installer/krugle/kng/kse/ssl/server.crtおよびキー ファイルkrugle-aio-installer/krugle/kng/kse/ssl/server.keyを編集/置換して、独自の証明書とキーにしてください。
※自己証明書を使用される場合、以下の手順を例に証明書を作成/配置してください。
% cd krugle-aio-installer/krugle/kng/kse/ssl
% openssl req -newkey rsa:4096 -nodes -sha256 -keyout server.key -x509 -days 3650 -out server.crtkrugle-aio-installer/shasta-linux/shasta.confファイルを編集
-
hf_から始まるアクセストークンを最新の内容に変更 ← お手数ですがKrugleの担当エンジニアにご確認ください
hf_xxxxxxxxxxxxxxxxxxxxxxxxx
YOUR_KE_API_URL
YOUR_KE_USERNAME
YOUR_KE_PASSWORD
- インストーラーを実行する
% cd krugle-aio-installer/
% sudo ./install.sh以下の設問について、特別なご要望がなければデフォルトのままご回答ください。
Have you read the README.md? (Y/N, default: Y):
README.md参照の確認
Enable KrugleAI Web UI? (default: Y):
AI-web導入の確認 (デフォルト:Y)
Enable KrugleAI MRE (Model Runtime Environment, formerly known as Shasta)? (default: Y):
Krugle Code LLM(Shasta)導入の確認 (デフォルト:Y)
Who should set up the firewall?
- a. Let Krugle set up the firewall rules automatically
- b. I want to set up the firewall myself
(default: a):
ufw設定の確認 (デフォルト:a)
Krugleサービスは/opt/krugleにインストールされ、Krugleデータは/data/krugleに配置されます。
Krugleの起動
% sudo systemctl start krugleinstall.shの正常終了後、以下の手順にて以前のデータを回復してください。
- アップデート作業前に一時退避したデータファイルの再配置
% cp -r /data/krugle-backup/data /opt/krugle/scmi/
% cp /data/krugle-backup/ldap* /opt/krugle/scmi/filesystem-scmi/注意)アップデートに伴い、認証サービス(KAS)の設定は無効化されています。 2. Krugleサービスの再起動
% sudo systemctl restart krugle
% sudo systemctl restart shasta- shastaへの最新15Bモデルをインストール
% sudo shasta initDo you want to perform an offline installation of LLM models?
(Offline installation requires LLM data to be pre-downloaded and extracted to the shasta installation root directory)
Enter Y for offline installation, or any other key for online installation:
デフォルトのオンラインインストールを選択:(無回答でEnter)
Please choose an LLM to install:
A) ✨🥇 [KrugleAI Code 15B + KrugleAI Text Embedding] - SIZE: 10.15 GB RAM/VRAM: 15+ GB
B) [KrugleAI Code 10B + KrugleAI Text Embedding] - SIZE: 8.85 GB RAM/VRAM: 15+ GB
C) [KrugleAI Code 35B + KrugleAI Text Embedding] - SIZE: 23.15 GB RAM/VRAM: 48+ GB
Enter your choice:
新たにインストールするLLMのモデルを選択: デフォルトのAを選択
- Krugle認証サービス(KAS)が必要な場合、KAS設定ガイドに従って管理画面からの有効化ならびにshastaの設定ファイルを更新 https://github.com/krugle-jp/Krugle-Library/wiki/Krugle-Authentication-Service-(KAS)-Configuration-Guide
※このステップは初期構築時のみ必要です。バージョンアップの際にはスキップしてください。
ライセンスをご購入いただいたお客様は、初期構築時にKrugle Enterpriseインストールウィザードに従ってカスタマー登録をしていただく必要があります。
- ブラウザにてURL
https://<AIOサーバ>/admin/install/welcome.htmlにアクセス -
Registration設定では、会社名/エイリアスと、データ暗号化に使用されるKrugleキーチェーンのパスワードを入力してください -
Admin Account設定では、管理者のメールアドレスとパスワードを入力します。このパスワードは以後adminユーザーとしてログインする際に使用します。 -
SMTP設定では、エラー発報先のメール情報を設定します。不必要であればスキップしてください。 -
Authentidation設定は、ここではスキップしてください。 補足:認証を設定される場合、AiOサーバ構築完了後に別ドキュメント「KAS Configuration Guilde」をご参照ください。`
注意)設定済みのカスタマー登録内容への上書きはDBの破損につながる可能性がございますのでご注意ください。
※このステップは初期構築時のみ必要です。バージョンアップの際にはスキップしてください。
-
ブラウザにて、URL
https://<AIOサーバ>/admin/にアクセス※ user:admin, password:(上記
Registrationステップで設定したパスワード) -
設定タブに移動し、左側のメニューからライセンスキーをクリック -
下段の
ライセンスキートークンセクションで生成ボタンをクリック -
生成されたライセンストークンを御社担当Krugleエンジニアにご送付ください
-
担当Krugleエンジニアから
KrugleライセンスキーとKrugleAIライセンスキーの2つのライセンスを受領 -
上記同ページの
更新ボタンから適用(適用)してください
- ブラウザにて、URL
https://<AIOサーバ>/admin/にアクセス
※ user:admin, password:(上記Registrationステップで設定したパスワード) -
設定タブに移動し、左側のメニューからライセンスキーをクリック - 表示されいるライセンスの内容をご確認ください
※この手順はAiOサーバ上で稼働するShastaを使用する場合には必要ありません。
AI-Webが使用するshastaをAiOサーバ以外の環境で稼働させる場合にのみ、以下の手順でshastaのURLを指定する必要があります。
% sudo cd /opt/krugle
% sudo vi .envこの.envファイル中のKrugleAI Coreに関する記載を任意の内容に変更してください。
AI_BASE_URL=http://30.20.55.1: 5668
MODEL_TYPE=krugle-code-15b-chat
変更後、Krugleのサービスを再起動してください。
% sudo systemctl restart krugle※ 以下の操作は任意であり、インストールには必須ではありません。
ヒープサイズの調整
このセクションでは、大規模なコードリポジトリやファイルを扱う際にKrugleのパフォーマンスを向上させるためのパラメーター最適化方法について説明します。
Krugle HUBサービスのデフォルトのヒープサイズは4096 MB、Krugle Solrには8192 MBが割り当てられています。インデックス作成とクエリのニーズに基づいてJavaヒープサイズを調整してください。
- Hubの設定を変更するには、以下の手順に従います。
- テキストエディタを使用して、
/opt/krugle/kng/hub-entrypoint.shファイルを開きます:
% vi /opt/krugle/kng/hub-entrypoint.sh-
-Xmsと-Xmxの値を希望の値に変更します。例:
% java -Dkrugle.mode=live -Xms512m -Xmx8192m -jar /opt/kng/kng-hub.jar- Solrの設定を変更するには、以下の手順を実行します。
- テキストエディタを使用して、
/opt/krugle/kng/solr.in.shにあるsolr.in.shファイルを開きます:
% vi /opt/krugle/kng/solr.in.sh-
SOLR_HEAPの値を希望の値に調整します。例えば:
SOLR_HEAP="16000m"Krugleサービスを削除するには、アンインストールスクリプトを実行します。
cd /opt/krugle
bash ./uninstall.shKrugleデータを保持するか、削除するかを選択できます。
Do you want to keep Krugle data on the server or remove it? Please make your decision carefully.
Remove Krugle data? (Y/N, default: N):
% systemctl start kruglesudo systemctl start shasta% sudo systemctl stop kruglesudo systemctl stop shasta各コンポーネントのログファイルは、以下のパスにあります。
- Hub: /data/krugle/hub/data/krugle/hub/logs/hub/*.log
- API: /data/krugle/hub/data/krugle/hub/logs/api/*.log
- Solr: /data/krugle/solr/logs/*.log
- KSE:
- /data/krugle/kse/logs/k7/*.log
- /data/krugle/kse/logs/nginx/*.log
- /data/krugle/kse/logs/uwsgi/*.log
- Git SCMI: /data/krugle/scmi/gitscmi/logs/*.log
- Filesystem SCMI: /data/krugle/scmi/fsscmi/logs/*.log
- Jira SCMI: /data/krugle/scmi/jirascmi/logs/*.log
- Subversion SCMI: /data/krugle/scmi/svnscmi/logs/*.log
- API: /data/krugle/ai/logs/*.log
- Web: /data/krugle/ai/admin-ui/logs/*.log
- /var/log/shasta/shasta.log
ライセンス