ブートストラップスクリプトを使用してクライアントを登録する

ブートストラップスクリプトでクライアントを登録すると、パラメータを制御できるようになり、同時に多数のクライアントを登録する必要がある場合に役立ちます。 このメソッドは、Saltクライアントと従来のクライアントの両方で動作します。

ブートストラップスクリプトを使用してクライアントを登録するには、まずブートストラップスクリプトのテンプレートを作成することをお勧めします。このテンプレートはその後コピーして変更できます。 作成したブートストラップスクリプトは、登録時にクライアントで実行され、必要なパッケージがすべてクライアントに展開されていることを確認します。 ブートストラップスクリプトに含まれているパラメータがあります。このパラメータによって、クライアントシステムを、アクティベーションキーやGPGキーなどそのベースチャンネルに割り当てることができるようになります。

リポジトリ情報を注意深く確認して、ベースチャンネルリポジトリと一致していることを確認することが重要です。 リポジトリ情報が正確に一致しないと、ブートストラップスクリプトは正しいパッケージをダウンロードできません。

すべてのクライアントにブートストラップリポジトリが必要です。製品が同期されると、SUSE Managerサーバ上で自動的に作成および再生成されます。 ブートストラップリポジトリには、クライアントにSaltをインストールするためのパッケージ、Saltまたは従来のクライアントを登録するためのパッケージが用意されています。 ブートストラップリポジトリの作成については、ブートストラップリポジトリを参照してください。

デフォルトではopenSUSE Leap 15およびSLE 15はPython 3を使用します。 Python 2に基づくブートストラップスクリプトは、openSUSE Leap 15システムおよびSLE 15システム用に再作成する必要があります。 Python 2を使用してopenSUSE Leap 15システムまたはSLE 15システムを登録する場合、ブートストラップスクリプトは失敗します。

1. mgr-bootstrapでのブートストラップスクリプトの作成

mgr-bootstrapコマンドは、カスタムブートストラップスクリプトを生成します。 ブートストラップスクリプトは、SUSE Managerクライアントシステムによって初期登録と設定を簡素化するために使用されます。

引数--activation-keysおよび--scriptは唯一の必須の引数です。 SUSE Managerサーバでは、コマンドラインでrootとして、必須の引数を指定してコマンドを実行します。 <ACTIVATION_KEYS>および<EDITED_NAME>は使用する値に置き換えます。

mgr-bootstrap --activation-keys=<ACTIVATION_KEYS> --script=bootstrap-<EDITED_NAME>.sh

mgr-bootstrapコマンドには、ほかにもオプションがいくつかあり、特定のホスト名を設定したり、特定のGPGキーを設定したり、登録方法(従来、salt-minion、またはsalt-bundle)を設定したりできます。

詳細については、mgr-bootstrapのマニュアルページを参照するか、mgr-bootstrap --helpを実行してください。

2. Web UIでのブートストラップスクリプトの作成

SUSE ManagerのWeb UIを使用して、編集できるブートストラップスクリプトを作成できます。

プロシージャ: ブートストラップスクリプトの作成
  1. SUSE ManagerのWeb UIで、管理  マネージャ設定  ブートストラップスクリプトに移動します。

  2. SUSE Manager Configuration - Bootstrap](SUSEマネージャ設定 - ブートストラップ)ダイアログで、従来のクライアントをインストールしている場合、[Saltを使用するブートストラップ]チェックボックスのチェックを外します。 Saltクライアントでは、チェックを付けたままにします。

  3. 必須フィールドには、前のインストール手順から取り出した値が事前に入力されています。 各設定の詳細については、ブートストラップスクリプトを参照してください。

  4. 更新をクリックしてスクリプトを作成します。

  5. ブートストラップスクリプトが生成され、サーバの/srv/www/htdocs/pub/bootstrapディレクトリに保存されます。 または、HTTPS経由でブートストラップスクリプトにアクセスできます。 <example.com>をSUSE Managerサーバのホスト名に置き換えます。

https://<example.com>/pub/bootstrap/bootstrap.sh

ブートストラップスクリプトのSSLを無効にしないでください。 Web UIで[Enable SSL](SSLの有効化)がチェックされていること、または設定 USING_SSL=1 がブートストラップスクリプトに存在していることを確認してください。 SSLを無効にすると、登録プロセスでカスタムSSL証明書が必要です。

カスタム証明書の詳細については、SSL証明書を参照してください。

3. ブートストラップスクリプトの編集

作成したブートストラップスクリプトのテンプレートをコピーして変更し、カスタマイズできます。 SUSE Managerで使用するためにブートストラップスクリプトを編集するときの最小要件は、アクティベーションキーを含めることです。 ほとんどのパッケージはGPGで署名されているため、信頼できるGPGキーをシステムで用意してインストールすることも必要です。

このプロシージャでは、アクティベーションキーの正確な名前を知っている必要があります。 ホーム  概要に移動し、[タスク]ボックスで、[アクティベーションキーの管理]をクリックします。 チャンネル用に作成したすべてのキーがこのページに一覧表示されます。 ブートストラップスクリプトで使用するキーのフルネームを、キーフィールドに表示されているように正確に入力する必要があります。 アクティベーションキーの詳細については、アクティベーションキーを参照してください。

プロシージャ: ブートストラップスクリプトの変更
  1. SUSE Managerサーバのコマンドラインでrootとして、ブートストラップディレクトリを次のように変更します。

    cd /srv/www/htdocs/pub/bootstrap/
  2. 各クライアントで使用するブートストラップスクリプトのテンプレートのコピーを2つ作成し、名前を変更します。

    cp bootstrap.sh bootstrap-sles12.sh
    cp bootstrap.sh bootstrap-sles15.sh
  3. 変更するためにbootstrap-sles15.shを開きます。 次のテキストが表示されるまで下方にスクロールします。 ファイルに「exit 1」がある場合、その行の先頭にハッシュまたはポンド記号(#)を入力してコメントアウトします。 これによって、スクリプトがアクティブになります。 ACTIVATION_KEYS=フィールドにこのスクリプトのキーの名前を入力します。

    echo "Enable this script: comment (with #'s) this block (or, at least just"
    echo "the exit below)"
    echo
    #exit 1
    
    # can be edited, but probably correct (unless created during initial install):
    # NOTE: ACTIVATION_KEYS *must* be used to bootstrap a client machine.
    ACTIVATION_KEYS=1-sles15
    ORG_GPG_KEY=
  4. 完了したら、ファイルを保存し、2つ目のブートストラップスクリプトでこの手順を繰り返します。

デフォルトでは、ブートストラップスクリプトは、Saltクライアントのvenv-salt-minionがブートストラップリポジトリーにある場合にはこれをインストールしようとし、ブートストラップリポジトリーにSalt Bundleがない場合にはsalt-minionをインストールしようとします。 何らかの理由でsalt-minionが必要な場合、Salt Bundleをインストールせずにsalt-minionの使用を続けることができます。

詳細については、Salt Bundleを参照してください。

4. クライアントの接続

スクリプトの作成を完了したら、このスクリプトを使用してクライアントを登録できます。

プロシージャ: ブートストラップスクリプトの実行
  1. SUSE Managerでrootとしてログインします。 コマンドプロンプトでブートストラップディレクトリに変更します。

    cd /srv/www/htdocs/pub/bootstrap/
  2. 次のコマンドを実行して、クライアントでブートストラップスクリプトを実行します。 EXAMPLE.COMをクライアントのホスト名に置き換えます。

    cat bootstrap-sles15.sh | ssh root@EXAMPLE.COM /bin/bash
  3. または、クライアントで次のコマンドを実行します。

    curl -Sks https://server_hostname/pub/bootstrap/bootstrap-sles15.sh | /bin/bash

    問題を回避するには、ブートストラップスクリプトが bashを使用して実行されていることを確認してください。

    このスクリプトは、前に作成したリポジトリディレクトリにある必要な依存関係をダウンロードします。

  4. スクリプトの実行が完了すると、クライアントが正しく登録されたかどうかを確認できます。そのためには、SUSE ManagerのWeb UIを開き、システム  概要に移動して、新しいクライアントがリストされていることを確認します。

  5. スクリプトを使用してSaltクライアントを登録する場合は、SUSE ManagerのWeb UIを開いて、Salt  Keysに移動し、クライアントキーを受け入れます。

SUSE Managerを使用してクライアントに新しいパッケージまたは更新がインストールされると、エンドユーザライセンスアグリーメント(EULA)が自動的に受け入れられます。 パッケージのEULAを確認するには、Web UIでパッケージ詳細ページを開きます。