序文
es7 から es8 にアップグレードすると、起動コンテナで ssl セキュア送信設定がデフォルトで有効になりますが、Rancher にデプロイするとデータやログなどのディレクトリの永続化を実現するために pvc をマウントする必要があり、ssl を有効にするには証明書などの操作が必要で非常に面倒で残念です。
この記事では、Rancher で es 8.5.1 バージョン サービスをデプロイするためにセキュリティ構成 (つまり、サービスへのアクセスにユーザー名とパスワードが必要) を有効にするが、SSL を有効にしない例を取り上げます。
pvc がマウントされた後、ディレクトリのデフォルトの所有者をroot
変更する必要があるelasticsearch
ため、全体的な展開は 3 つのステップに分かれています。
- コンテナーのデフォルトの起動スクリプトをオーバーライドし、
root
ユーザーとしてコンテナーに入り、PVC マウント ディレクトリの所有者を変更する必要があります。 - 2 番目のステップでは、通常のスクリプトでコンテナを起動し、デフォルトのユーザーで
elasticsearch
コンテナを実行します。 - 3 番目のステップでは、コンテナーのコマンドラインを入力し、組み込みシステムのユーザーをリセットし
elastic
、kibana_system
1. ワークロードをデプロイする
1.1 基本情報
注意点:
- データ ディレクトリを永続化する必要があるため、StatefulSet タイプとしてデプロイされます。
- クラスターの外部でサービスを提供する必要があるため、ポート 9200 が NodePort としてマッピングされます。
1.2 環境変数
詳細な説明
# 单节点部署
discovery.type=single-node
# 无需自动下载 geoip
ingest.geoip.downloader.enabled=false
xpack.license.self_generated.type=basic
# 启用密码认证
xpack.security.enabled=true
xpack.security.enrollment.enabled=true
# 不启用 SSL 传输加密,否则需要处理证书等
xpack.security.transport.ssl.enabled=false
1.3 データ量
データ ディレクトリdata
とログ ディレクトリはlogs
永続化する必要があります
1.4 入力コマンドとユーザーUID
- エントリ コマンドは、まず、次を使用してイメージ自体のコマンドをオーバーライドします。
/bin/bash
- ユーザーUIDは0を使用します。すなわち
root
2. マウントディレクトリの所有者を変更する
PVC マウント ディレクトリの所有者はデフォルトで であるためroot/root
、たとえば次のようになります。
コンテナのコマンドラインを入力し、ディレクトリの所有者を変更します。
chown -R elasticsearch data/
chown -R elasticsearch logs/
変更後の表示ls -lah
コマンドラインを終了し、コンテナを停止します。
3. ワークロードを変更する
- クリアエントリコマンド
- ユーザー UID は 1000 に設定されます。つまり
elasticsearch
- ワークロードを再起動する
4. ユーザーパスワードをリセットする
コンテナのコマンドラインに入り、リセットコマンドを実行します。
bin/elasticsearch-reset-password -u elastic -i
# kibana_system 用于 kibana 接入 es
bin/elasticsearch-reset-password -u kibana_system -i
リセットが成功すると、http://宿主机IP:NodePort
ポートのログイン検証にアクセスできるようになります。