この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

OpenShift install

始める前に

インストールに関する追加の注意事項:

SUSE® Observabilityのインストールを開始する前に:

  • OpenShift環境が要件を満たしていることを確認してください。

  • OpenShiftコマンドラインツールがインストールされていることを確認してください (oc)

  • SUSE® Observability helmリポジトリをローカルhelmクライアントに追加します:

helm repo add suse-observability https://charts.rancher.com/server-charts/prime/suse-observability
helm repo update

SUSE® Observabilityをインストールします。

インターネットアクセスのない環境、いわゆるエアギャップ(された)環境では、最初にこれらの追加手順に従ってください。

手順にエアギャップ(された)インストール手順がある場合は、それに従うことも確認してください。

プロジェクトを作成

SUSE® Observabilityをインストールしたいプロジェクトを作成することから始めます。私たちのウォークスルーでは、名前空間`suse-observability`を使用します:

oc new-project suse-observability

プロジェクト名は、helm`および`kubectl`コマンドで名前空間名として--namespace`フラグに使用されます

`values.yaml`設定ファイルを作成します

`values.yaml`ファイルには、ライセンスキー、ベースURL、管理者パスワード、サイズプロファイルを含む、SUSE® Observabilityをデプロイするために必要なすべての設定が含まれています。

続行する前に:`helm repo update`を使用して最新のHelmチャートのバージョンを持っていることを確認してください。

  • 推奨方法

  • レガシー方法(廃止)

`global.suseObservability`設定方法は`2.8.0`バージョンから利用可能です。以前のバージョンでは、レガシー方法を使用してください。

`global.suseObservability`設定構造を持つ`values.yaml`ファイルを作成します:

global:
  # Optional: Override image registry (defaults to registry.rancher.com)
  # Only needed for air-gapped environments or custom registries
  # imageRegistry: "your-private-registry.example.com"

  # Optional: Override storage class (uses cluster default if not set)
  # storageClass: "your-storage-class"

  suseObservability:
    # Required: Your {stackstate-product-name} license key
    license: "YOUR-LICENSE-KEY"

    # Required: Base URL for {stackstate-product-name}
    # Use http://localhost:8080 if ingress is not configured yet
    baseUrl: "https://observability.example.com"

    # Required: Sizing profile
    # Available: trial, 10-nonha, 20-nonha, 50-nonha, 100-nonha,
    #            150-ha, 250-ha, 500-ha, 4000-ha
    sizing:
      profile: "150-ha"

    # Required: Plain text Admin password
    adminPassword: "your-password"
    # Instead of adminPassword you can provide a bcrypt hashed password with adminPasswordBcrypt
    # Generate with: htpasswd -bnBC 10 "" "your-password" | tr -d ':\n'
    # adminPasswordBcrypt: "$2a$10$..."

    # Optional: Receiver API key (auto-generated if not provided)
    # receiverApiKey: "your-receiver-api-key"

    # Optional: Pull secret for private registry
    # pullSecret:
    #   username: "registry-user"
    #   password: "registry-pass"
bcryptパスワードハッシュを生成するには、次のようにします: htpasswd -bnBC 10 "" "your-password" | tr -d ':\n'

アフィニティ設定を含むその他の設定オプションについては、Kubernetesアフィニティの設定を参照してください。

この方法は廃止されています。新しいインストールの場合は、上記の推奨方法を使用してください。この方法を使用している既存のインストールについては、新しい設定形式に移行するために移行ガイドを参照してください。

SUSE® Observability、baseConfig_values.yaml、および`sizing_values.yaml`ファイルを生成するには、別のHelmチャートを実行します。`suse-observability/suse-observability-values`チャート。サンプルコマンドラインは次のとおりです:

export VALUES_DIR=.
helm template \
  --set license='<your license>' \
  --set baseUrl='<suse-observability-base-url>' \
  --set sizing.profile='<sizing.profile>' \
  suse-observability-values \
  suse-observability/suse-observability-values --output-dir $VALUES_DIR

このコマンドは、SUSE® Observability Helmチャートをインストールするために必要な設定を含む`$VALUES_DIR/suse-observability-values/templates/baseConfig_values.yaml`、$VALUES_DIR/suse-observability-values/templates/sizing_values.yaml、および`$VALUES_DIR/suse-observability-values/templates/affinity_values.yaml`ファイルを生成します。

SUSE® Observability管理者パスワードは、上記のコマンドによって自動生成され、生成された`basicConfig.yaml`ファイルのコメントとして出力されます。実際の値には、これらのパスワードの`bcrypt`ハッシュが含まれているため、クラスター内のHelmリリースに安全に保存されます。

このチャートに渡すことができる値は次のとおりです:

設定 説明

基本設定を生成

basicConfig.generate

`basicConfig_values.yaml`ファイルの生成をオンまたはオフにします。

受信者APIキー

receiverApiKey

SUSE® Observabilityがエージェントからデータを受信するために使用するAPIキー。これは秘密のキーであり、プライベートに保管する必要があります。これを省略すると、ランダムなキーが生成されます。

ベースURL

baseUrl

ここでもゾーンが追加されないよう、<STACKSTATE_BASE_URL>.ユーザーとエージェントが接続するために使用するSUSE® Observabilityの外部URL。例えば`https://suse-observability.internal`。まだIngress構成を決定していない場合は、`http://localhost:8080`を使用してください。これは生成されたファイルで後で更新できます。

ユーザ名とパスワード**

-u -p

SUSE® Observabilityがイメージをプルするために使用するユーザ名とパスワード。エアギャップ(された)環境では、これらはローカルのDockerレジストリのユーザ名とパスワードである必要があります。

ライセンスキー

license

SUSE® Observabilityライセンスキー。

デフォルトパスワード

adminPassword

SUSE® ObservabilityのUIにアクセスするためのデフォルトユーザー(admin)のパスワード。また、`adminPasswordBcrypt`を使用してbcryptハッシュ化されたパスワードを提供することもできます。2つのオプションのうち、同時に1つだけ使用できます。

イメージレジストリ

imageRegistry

SUSE® Observabilityイメージがホストされているレジストリ。提供されない場合、デフォルト値は’quay.io’になります。

プルシークレットユーザ名

pullSecret.username

SUSE® ObservabilityイメージがホストされているDockerレジストリからイメージをプルするために使用されるユーザ名。

プルシークレットパスワード

pullSecret.password

SUSE® ObservabilityイメージがホストされているDockerレジストリからイメージをプルするために使用されるパスワード。

サイズ生成

sizing.generate

`sizing_values.yaml`ファイルの生成をオンまたはオフにします。

サイズプロファイル

sizing.profile

OneOf トライアル、10-nonha、20-nonha、50-nonha、100-nonha、150-ha、250-ha、500-ha。これらのプロファイルに基づいて、HAまたはNon-HAモードでデプロイされるSUSE® Observabilityリソースのデフォルトサイズを含む`sizing_values.yaml`ファイルを生成できます。例えば、10-nonhaは、Non-HA SUSE® Observabilityインスタンスをデプロイして、10ノードクラスターを非高可用性モードで運用するための`sizing_values.yaml`を生成します。現在、Non-HAからHA環境への移行は不可能です。環境が約150ノードの観察を必要とする場合は、すぐに高可用性構成に移行する方が良いです。

ポッドアンチアフィニティ

affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution

同じデータサービスのレプリカが異なるKubernetesノードにスケジュールされることを強制します。`HA`プロファイルにのみ適用されます。`true`または`false`のいずれか。デフォルトは`true`であり、異なるノードへのスケジューリングが強制されます。

生成された`basicConfig.yaml`および`sizing_values.yaml`ファイルを、安全に保管してください。これらのファイルはアップグレード時に再利用でき、時間を節約でき、SUSE® Observabilityが同じAPIキーを使い続けることを保証します。これは望ましいことであり、SUSE® Observabilityのエージェントや他のデータプロバイダーを更新する必要がないことを意味します。 スイッチ`basicConfig.generate=false`および`sizing.generate=false`を使用して、これらのファイルを個別に再生成できます。その際、いずれかを無効にしても、以前に生成されたファイルのバージョンは`output-dir`に保持されます。

SUSE® Observability値チャートは、ポッドスケジューリングの動作を制御するために、メインのSUSE® Observabilityチャートと一緒に使用できるアフィニティ設定を生成します。詳細については、Kubernetesアフィニティの設定ドキュメントを参照してください。

`openshift-values.yaml`を作成する

OpenShiftは通常のKubernetesよりも厳格なセキュリティモデルを持っているため、デプロイメント内のすべての標準セキュリティコンテキストを無効にする必要があります。

`openshift-values.yaml`に次の内容を持つHelm値ファイルを作成し、生成された`values.yaml`ファイルの隣に保存します。これはOpenShiftデプロイメントに必要な値を含んでいます。

elasticsearch:
  prometheus-elasticsearch-exporter:
    podSecurityContext: ""
  sysctlInitContainer:
    enabled: false
scc:
  enabled: true

Helmを使用してSUSE® Observabilityをデプロイします。

SUSE® Observabilityの推奨デプロイメントは、冗長に多くのサービスが稼働する、運用準備完了の高可用性セットアップです。必要に応じて、各サービスが単一のレプリカのみを持つ非冗長セットアップでSUSE® Observabilityを実行することも可能です。このセットアップはテスト環境にのみ推奨されます。

エアギャップ(された)環境の場合は、エアギャップ(された)インストールの指示に従ってください。

  • 推奨方法

  • 推奨方法(エアギャップ(された))

  • レガシー方法(廃止)

  • 従来の方法(エアギャップ(された))

OpenShiftで高可用性セットアップでSUSE® Observabilityをデプロイするには:

  1. デプロイする前に:

  2. 次のコマンドを使用して、最新のSUSE® Observabilityバージョンを`suse-observability`ネームスペースにデプロイします:

helm upgrade \
  --install \
  --namespace suse-observability \
  --values values.yaml \
  --values openshift-values.yaml \
  --set "clickhouse.sidecars[0].securityContext.runAsUser=null" \
suse-observability \
suse-observability/suse-observability

OpenShiftでエアギャップ(された)セットアップでSUSE® Observabilityをデプロイするには:

  1. デプロイする前に:

  2. 次のコマンドを使用して、最新のSUSE® Observabilityバージョンを`suse-observability`ネームスペースにデプロイします。

helm upgrade \
  --install \
  --namespace suse-observability \
  --values local-docker-registry.yaml \
  --values values.yaml \
  --values openshift-values.yaml \
  --set "clickhouse.sidecars[0].securityContext.runAsUser=null" \
suse-observability \
suse-observability/suse-observability

この方法は廃止されています。新しいインストールの場合は、上記の推奨方法を使用してください。この方法を使用している既存のインストールについては、新しい設定形式に移行するために移行ガイドを参照してください。

OpenShiftで高可用性のセットアップでSUSE® Observabilityをデプロイするには:

  1. デプロイする前に。

  2. 次のコマンドを使用して、最新のSUSE® Observabilityバージョンを`suse-observability`ネームスペースにデプロイします。

helm upgrade \
  --install \
  --namespace suse-observability \
  --values $VALUES_DIR/suse-observability-values/templates/baseConfig_values.yaml \
  --values $VALUES_DIR/suse-observability-values/templates/sizing_values.yaml \
  --values $VALUES_DIR/suse-observability-values/templates/affinity_values.yaml \
  --values openshift-values.yaml \
suse-observability \
suse-observability/suse-observability

この方法は廃止されています。新しいインストールの場合は、上記の推奨方法を使用してください。この方法を使用している既存のインストールについては、新しい設定形式に移行するために移行ガイドを参照してください。

OpenShiftでエアギャップ(された)のセットアップでSUSE® Observabilityをデプロイするには:

helm upgrade \
  --install \
  --namespace suse-observability \
  --values local-docker-registry.yaml \
  --values $VALUES_DIR/suse-observability-values/templates/baseConfig_values.yaml \
  --values $VALUES_DIR/suse-observability-values/templates/sizing_values.yaml \
  --values $VALUES_DIR/suse-observability-values/templates/affinity_values.yaml \
  --values openshift-values.yaml \
  --set "clickhouse.sidecars[0].securityContext.runAsUser=null" \
suse-observability \
suse-observability-A.B.C.tgz

インストール後、SUSE® ObservabilityリリースはSUSE® Observabilityネームスペースに一覧表示され、すべてのポッドが稼働しているはずです:

# Check the release is listed
helm list --namespace suse-observability

# Check pods are running
# It may take some time for all pods to be installed or available
kubectl get pods --namespace suse-observability

SUSE® ObservabilityのUIにアクセスします。

SUSE® Observabilityがデプロイされた後、すべてのポッドが稼働しているか確認できます:

kubectl get pods --namespace suse-observability

すべてのポッドが稼働している場合、ポートフォワードを有効にできます。

kubectl port-forward service/suse-observability-router 8080:8080 --namespace suse-observability

SUSE® Observabilityは`https://localhost:8080`でブラウザからアクセスできるようになります。ユーザー名`admin`と`values.yaml`ファイルに記載されたデフォルトのパスワードでログインしてください。

次のステップは

`SecurityContextConfiguration`オブジェクトを手動で作成する

OpenShiftにSUSE® Observabilityをインストールするために管理者アカウントを使用できない場合は、管理者に以下の`SecurityContextConfiguration`オブジェクトを適用するよう依頼してください。

apiVersion: security.openshift.io/v1
kind: SecurityContextConstraints
metadata:
  name: {{ template "common.fullname.short" . }}-{{ .Release.Namespace }}
  labels:
    {{- include "common.labels.standard" . | nindent 4 }}
  annotations:
    helm.sh/hook: pre-install
    suse-observability.io/note: "Ignored by helm uninstall, has to be deleted manually"
fsGroup:
  type: RunAsAny
groups:
- system:serviceaccounts:{{ .Release.Namespace }}
runAsUser:
  type: RunAsAny
seLinuxContext:
  type: MustRunAs
supplementalGroups:
  type: RunAsAny
volumes:
- configMap
- downwardAPI
- emptyDir
- ephemeral
- persistentVolumeClaim
- projected
- secret
allowHostDirVolumePlugin: false
allowHostIPC: false
allowHostNetwork: false
allowHostPID: false
allowHostPorts: false
allowPrivilegeEscalation: true
allowPrivilegedContainer: false
readOnlyRootFilesystem: false
seccompProfiles:
  - runtime/default

関連項目