オペレーターを使用してデプロイする

オペレータ

オペレーターは、人間の運用知識をソフトウェアにエンコードし、消費者とより簡単に共有できるようにします。オペレーターは、別のソフトウェアを実行する際の運用の複雑さを軽減するソフトウェアの一部です。より技術的には、オペレーターはKubernetesアプリケーションをパッケージ化、デプロイ、および管理する方法です。

SUSE® Security オペレーター

SUSE® Security オペレーターはSUSE® Security Helmチャートに基づいています。SUSE® Security RedHat OpenShiftオペレーターは、OpenShiftコンテナプラットフォームで実行され、SUSE® Security セキュリティクラスターコンポーネントをデプロイおよび管理します。SUSE® Security オペレーターには、Helmチャートを使用してSUSE® Securityをデプロイするために必要なすべての情報が含まれています。OpenShift埋め込みオペレーターハブからSUSE® Securityオペレーターをインストールし、SUSE® Securityインスタンスを作成するだけです。

最新のSUSE® Securityコンテナバージョンをデプロイするには、オペレーターハブからlink:https://catalog.redhat.com/search?searchType=software&deployed_as=Operator&partnerName=SUSE® Security&p=1[Red Hat Certified Operator]またはコミュニティオペレーターを使用してください。コミュニティオペレーターのドキュメントは SUSE® Securityオペレーターで見つけることができます。

SCCとアップグレードに関する注意事項

特権SCCは、新しいデプロイメントにおいて、オペレーターのバージョン1.3.4以上でデプロイメントyamlに指定されたサービスアカウントに追加されます。SUSE® Securityオペレーターを以前のバージョンから1.3.4にアップグレードする場合は、アップグレード前に特権SCCを削除してください。

oc delete rolebinding -n neuvector system:openshift:scc:privileged

SUSE® Security認定オペレーターのバージョンはSUSE® Security製品バージョンに関連付けられており、各新しいバージョンは公開される前にRed Hatとの認証プロセスを経る必要があります。5.3.xの認定オペレーターのバージョンは、helmバージョン2.7.2およびSUSE® Securityアプリバージョン5.3.2に関連付けられています。認定オペレーターのバージョン1.3.9は、SUSE® Securityバージョン5.2.0に関連付けられています。認定オペレーターのバージョン1.3.7は、SUSE® Securityバージョン5.1.0に関連付けられています。バージョン1.3.4のオペレーターのバージョンは、SUSE® Security 5.0.0に関連付けられています。SUSE® Security コンテナのバージョンタグを変更できるようにしたい場合は、コミュニティ版を使用してください。

認定オペレーターを使用してデプロイする

Operator Hub から Red Hat 認定オペレーターを使用してデプロイ

SUSE® Security オペレーターのバージョンは SUSE® Security 製品のバージョンに関連付けられており、各新しい製品バージョンは公開される前に Red Hat との認証プロセスを経る必要があります。

技術ノート

  • SUSE® Security コンテナイメージは、RedHat マーケットプレイスのイメージプルシークレットを使用して registry.connect.redhat.com からプルされます。

  • SUSE® Security マネージャー UI は通常、ドメイン上の OpenShift パススルールートを介して公開されます。例えば、IBM Cloud neuvector-route-webui-neuvector.(cluster_name)-(random_hash)-0000.(region).containers.appdomain.cloud のようになります。また、ノードポートアドレスまたはパブリック IP を介して neuvector-service-webui サービスとして公開することもできます。

  • OpenShift バージョン >=4.6。

    1. プロジェクト neuvector を作成

      oc new-project neuvector
    2. Operator Hub から RedHat 認定オペレーターをインストール

      • OpenShift コンソール UI で OperatorHub に移動

      • SUSE® Security オペレーターを検索し、コミュニティまたはマーケットプレイスのバッジが付いていないリストを選択

      • [Install (インストール)]をクリックします。

    3. 更新チャネルを構成

      • 現在の最新チャネルはベータですが、将来的に安定版に移行される可能性があります。

      • 利用可能な場合は安定版を選択

    4. インストールモードとインストールされたネームスペースを構成

      • クラスター上の特定のネームスペースを選択

      • インストールされたネームスペースとして neuvector を選択

      • 承認戦略を設定する

    5. インストールを確認する

    6. 以下のサンプル画面に示されているように、SUSE® SecurityインストールのためのYAML設定値を準備します。OpenShiftコンソールに表示されるYAMLは、すべての利用可能な設定オプションとそのデフォルト値を提供します。

      operator cert

    7. オペレーターがインストールされ、使用可能な状態になると、SUSE® Securityインスタンスをインストールできます。

      • オペレーターのインストール後に「オペレーターを表示」をクリックするか、インストールされたオペレーターのビューからSUSE® Securityオペレーターを選択します。

      • 「インスタンスを作成」をクリックします。

      • YAMLビュー経由で設定を選択します。

      • 準備したYAML設定値を貼り付けます。

      • [作成]をクリックします。

    8. SUSE® Securityインスタンスのインストールを確認します。

      • SUSE® Securityオペレーターのオペレーター詳細に移動します。

      • SUSE® Securityタブを開きます。

      • neuvector-defaultインスタンスを選択します。

      • リソースタブを開きます。

      • リソースが「作成済み」または「実行中」の状態であることを確認します。

SUSE® Securityプラットフォームをクラスターに正常にデプロイした後、`\https://neuvector-route-webui-neuvector.(OC_INGRESS)`でSUSE® Securityコンソールにログインします。 * 初期のユーザー名adminとパスワードadminでログインします。 * SUSE® Securityライセンス条項に同意します。 * adminユーザーのパスワードを変更します。オプションで、設定の →ユーザーと役割メニューで追加のユーザーを作成することもできます。これで、SUSE® Securityコンソールをナビゲートして脆弱性スキャンを開始し、実行中のアプリケーションポッドを観察し、コンテナにセキュリティ保護を適用する準備が整いました。

アップグレード SUSE® Security

希望するSUSE® Securityバージョンに関連付けられたオペレーターのバージョンを更新することで、SUSE® Securityバージョンをアップグレードできます。

コミュニティオペレーターを使用してデプロイする

OperatorHubからSUSE® Securityコミュニティオペレーターをデプロイする

技術ノート

  • SUSE® SecurityコンテナイメージはSUSE® SecurityアカウントのDocker Hubからプルされます。

  • SUSE® SecurityマネージャーUIは通常、ドメイン上のOpenShiftパススルールートを介して公開されます。例えば、IBM Cloud neuvector-route-webui-neuvector.(cluster_name)-(random_hash)-0000.(region).containers.appdomain.cloud のようになります。また、ノードポートアドレスまたはパブリック IP を介して neuvector-service-webui サービスとして公開することもできます。

  • OpenShift version 4.6+

  • SUSE® Securityインスタンス作成前に、yaml値を変更してSUSE® Securityインストール設定を確認および修正することをお勧めします。例としては、imagePullSecrets名、タグバージョン、ingress/consoleアクセス、マルチクラスター連携、永続ボリュームPVCなどがあります。インストール中に変更可能な値については、 https://github.com/neuvector/neuvector-helmのHelmの指示を参照してください。

    1. プロジェクト neuvector を作成

      oc new-project neuvector
    2. OperatorHubからSUSE® Securityコミュニティオペレーターをインストールします。

      • OpenShift コンソール UI で OperatorHub に移動

      • SUSE® Securityオペレーターを検索し、コミュニティバッジのあるリストを選択します。

      • [Install (インストール)]をクリックします。

      • 更新チャネルを構成します。現在の最新チャネルはベータですが、将来的には安定版に移行される可能性があります。利用可能な場合は安定版を選択してください。

      • インストールモードとインストールされたネームスペースを構成

      • クラスター上の特定のネームスペースを選択

      • インストールされたネームスペースとして neuvector を選択

      • 承認戦略を設定する

      • インストールを確認する

    3. SUSE® Securityコンテナレジストリにアクセスするための資格情報を含むKubernetesシークレットマニフェストをダウンロードします。YAMLマニフェストファイルを./neuvector-secret-registry.yamlに保存します。

    4. レジストリ資格情報を含むKubernetesシークレットマニフェストを適用します。

      kubectl apply -n neuvector -f ./neuvector-secret-registry.yaml
    5. 以下のYAMLスニペットから始めて、SUSE® SecurityインストールのためのYAML設定値を準備します。'tag’値に希望するSUSE® Securityバージョンを指定することを忘れないでください。SUSE® Security Helmチャートの値のリファレンスを確認して、利用可能な設定オプションを取得してください。YAMLで構成可能な他のHelmの値もあり、マスター(連携マスター)やリモート(連携ワーカー)サービスを公開して、クラスターでマルチクラスター管理を許可するかどうかを設定できます。

      apiVersion: apm.neuvector.com/v1alpha1
      kind: Neuvector
      metadata:
        name: neuvector-default
        namespace: neuvector
      spec:
        openshift: true
        tag: 4.3.0
        registry: docker.io
        exporter:
          image:
            repository: prometheus-exporter
            tag: 0.9.0
        manager:
          enabled: true
          env:
            ssl: true
          image:
            repository: manager
          svc:
            type: ClusterIP
            route:
              enabled: true
              termination: passthrough
        enforcer:
          enabled: true
          image:
            repository: enforcer
        cve:
          updater:
            enabled: true
            image:
              repository: updater
              tag: latest
            schedule: 0 0 * * *
          scanner:
            enabled: true
            replicas: 3
            image:
              repository: scanner
              tag: latest
        controller:
          enabled: true
          image:
            repository: controller
          replicas: 3
    6. オペレーターがインストールされ、使用可能な状態になると、SUSE® Securityインスタンスをインストールできます。

      • オペレーターのインストール後に「オペレーターを表示」をクリックするか、インストールされたオペレーターのビューからSUSE® Securityオペレーターを選択します。

      • 「インスタンスの作成」をクリックします。

      • YAMLビュー経由で設定を選択します。

      • 準備したYAML設定値を貼り付けます。

      • [作成]をクリックします。

    7. SUSE® Securityインスタンスのインストールを確認します。

      • SUSE® Securityオペレーターの詳細に移動します。

      • SUSE® Securityタブを開きます。

      • neuvector-defaultインスタンスを選択します。

      • リソースタブを開きます。

      • リソースが「作成済み」または「実行中」の状態であることを確認します。

    8. SUSE® Securityプラットフォームをクラスターに正常にデプロイした後、`\https://neuvector-route-webui-neuvector.(INGRESS_DOMAIN)`でSUSE® Securityコンソールにログインしてください。

      • 初期のユーザー名adminとパスワードadminでログインします。

      • SUSE® Securityライセンス条項に同意します。

      • adminユーザーのパスワードを変更します。

      • 任意で、設定の→ユーザーと役割メニューで追加のユーザーを作成することもできます。

これで、SUSE® Securityコンソールを操作して脆弱性スキャンを開始し、実行中のアプリケーションポッドを監視し、コンテナにセキュリティ保護を適用する準備が整いました。

アップグレード SUSE® Security

  1. Operators > Installed Operators > SUSE® Security Operator

    1 Installed

  2. SUSE® Securityをクリックしてインスタンスを一覧表示します。

    2 Instance

  3. YAMLをクリックしてパラメータを編集します。

    3 YAML

  4. タグを更新して保存をクリックします。

    4 tag save

トラブルシューティング

  • デプロイされたyamlファイルでOperatorのデプロイメント値を確認します。

  • ステップ2でSUSE® Securityのセキュリティコンテキスト制約(SCC)が正常に追加されたことを確認します。

  • SUSE® Security Helmチャートの値を確認します。

  • レジストリパスとバージョンタグが正しく設定されていることを確認してください(コミュニティオペレーター; 認定されたものはデフォルトを使用します)。

  • SUSE® Securityマネージャーサービスneuvector-route-webuiへのルートが設定されていることを確認してください。