Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

BBE クラウドのインストールセットアップ

概要 このセクションでは、BBE クラウドセットアップのインストール手順とシステム要件について説明します。

BBE クラウドセットアップのインストールの概要

BBE Cloudsetup機能は、専用のUbuntuホストのセットからKubertetesクラスターを構築します。BBE Cloudsetup 機能を使用して、1 つのジャンプ ホストから管理される複数の Kubertetes クラスターを作成できます。

少なくとも3つのコントロールプレーンノードを持つクラスターを作成することをお勧めします。BBEクラウドセットアップコントロールプレーンノードはハイブリッドノードです。つまり、コントロールプレーン、etcd(Kubernetes状態データベース)、およびワーカーノードの役割を引き受けます。純粋なワーカー ノード (単一のワーカー ロール) であるノードをクラスターに追加できます。

(BBE Cloudsetup を使用して)クラスタを設定した後、目的のジュニパー BBE クラウドアプリケーションをクラスタにインストールできます。

BBE Cloudsetup は、インストール要件を満たす任意のハードウェアに展開できます。次のセクションでは、以下について説明します。

  • BBEクラウドセットアップのハードウェアおよびソフトウェア要件

  • BBEクラウドインストールのインストール方法

BBE クラウドセットアップのインストール要件

BBE Cloudsetup のインストールを開始する前に、次のものがあることを確認してください。

  • BBE Cloudsetup ソフトウェア パッケージをダウンロードする権限を持つ juniper.net ユーザー アカウント。

  • ユーティリティを実行する bbecloudsetup ためのUbuntu 22.04LTS(必須)を実行しているLinuxホスト(ジャンプホスト)。ジャンプ ホストは、次のシステム要件を満たしている必要があります。

    • CPU コア - 2

    • RAM - 8 GB

    • ディスク容量 - 128 GB の空きディスク ストレージ

    • クラスターのインストールに必要なオープンソースコンポーネントをダウンロードするためのインターネットへのアクセス。

  • クラスターの一部として使用されるノード (仮想マシンまたは物理マシン)。ノードは、管理アドレスとドメイン名を持つUbuntu22.04LTS(必須)を実行しているLinuxシステムです。

  • クラスター ノードとジャンプ ホストは、SSH 経由で相互にアクセスできる必要があります。

  • すべてのクラスターノードには、sudoアクセス権を持つユーザーアカウントが必要です。

  • すべてのクラスター ノードが次の最小システム要件を満たすことをお勧めします。

    • CPU コア - 8(ハイパースレッディングを推奨)

    • RAM—64 GB

    • ディスク容量 - 512 GB の空きディスク ストレージ(ソリッド ステートを推奨)

      ストレージスペースを使用して、それに応じてディスクをパーティション分割することをお勧めします。

      • オペレーティング システムのルート (/) パーティションに 128 GB

      • Docker キャッシュ用に / var/lib/docker に 128 GB

      • アプリケーションデータ用に / mnt/longhorn に 256 GB を指定します。これはデフォルトの場所であり、構成時に別の場所を指定できます。

    • ノード アクセスと認証。すべてのノードに対して、キーベースの認証を使用するルートレベルのSSHアクセスが必要です。

      メモ:

      BBE クラウドセットアップをルートとして実行しないでください。sudo権限とBashログインシェルを使用して、各ノードのユーザーとして接続するようにBBE Cloudsetupを構成する必要があります。

    • すべてのホストシステムに独自のパーティションを作成する必要があります。ジャンプ ホストで、Docker パーティションを作成する必要があります。クラスター ノードでは、Docker パーティションと Longhorn (データ) パーティションの両方を作成する必要があります。

メモ:

BBE Cloudsetupは、ホストシステムの構成の要素を変更する可能性があることに注意してください。これは、クラスター ノードにするために必要です。

BBE クラウドのインストールセットアップ

概要 BBE クラウドセットアップをインストールするには、次の手順を使用します。

開始する前に、以下を完了していることを確認してください。

  • BBE クラウドセットアップインストールのすべての要件を満たしていることを確認します(「 BBE クラウドセットアップのインストール要件」を参照)。

  • BBE クラウドセットアップをインストールする前に、SSH キーを作成する必要があります。SSHキーは、設定ファイルで使用されている正確なホスト名で各クラスタメンバーにコピーする必要があります。 SSHの設定を参照してください。

BBE クラウド設定ユーティリティをインストールします。

  1. ジュニパーネットワークスのソフトウェア ダウンロード ページから BBE Cloudsetup ソフトウェア パッケージをダウンロードし、ジャンプ ホスト システムに保存します。

    BBE CloudSetup は圧縮された tarball イメージ (.tgz) として利用できます。ファイル名には、名前の一部としてリリース番号が含まれます。リリース番号の形式は、v<Major>.<Minor>.<Maintenance> です。

    • major は、製品のメインリリース番号です。
    • minor は、製品のマイナー リリース番号です。
    • maintainance はリビジョン番号です。
  2. 次のように入力して、ジャンプ ホストで BBE Cloudsetup tarball (.tgz) ファイルを解凍します。

    tarball を解凍すると、BBE Cloudsetup によってジャンプ ホスト上に bbecloudsetupディレクトリが作成されます。このディレクトリには、 bbecloudsetup 実行可能ファイルと、 exampleconfig.yaml ファイルなどのサポート ファイルが含まれています。

  3. 提供されている exampleconfig.yaml ファイル(bbecloudsetup ディレクトリにあります)を使用して、Kubernetes クラスタのパラメータを定義します。
    メモ:

    exampleconfig.yaml のコピーを作成し、名前を変更することをお勧めします。名前を変更したファイルは、BBE Cloudセットアップのインストールに使用する必要があります。表 1 に、構成ファイルに入力する必要がある情報を示します。

  4. BBE クラウドセットアップ実行可能ファイルを実行します。実行可能ファイルは bbecloudsetup ディレクトリにあります。

    ホストのパスワード (sudo パスワード) やレジストリ (ユーザーパスワード) を構成ファイルに入力しなかった場合は、インストール中にパスワードの入力を求められます。

  5. インストールを確認します。
    • BBE Cloudセットアップのインストールが完了し、エラーが発生していないことを確認します

    • コマンドを実行します kubectl get nodes 。すべてのノードは、状態を [準備完了] として報告する必要があります。

    • コマンドを実行します kubectl get pods -A 。クラスター内のすべてのポッドは、状態を [実行中 ] または [完了] として報告する必要があります。

構成ファイル

このセクションでは、構成ファイル (exampleconfig.yaml) のフィールドについて説明します。

表 1: BBE クラウドセットアップ構成ファイルのフィールド

フィールド名

説明

クラスター名

クラスターの名前を入力します。

NTPサーバー

クラスタ内のすべてのノード間で時刻を同期化するために使用される NTP サーバの名前を入力します。

クラスタ内のノードのリスト

  • コントロールプレーンノードの詳細。これらのノードは、コントロールプレーンノード、etcd ノード、およびワーカーノードです。

  • ワーカー・ノードの詳細

ノードごとに次の情報を入力します。

  • ホスト名 - ノードの名前。

  • ユーザー - ユーザー名。

  • sudoPassword - ノード上の sudo コマンドのパスワード。

  • ロール - コントロールプレーンまたはワーカー。

  • ポート—SSHポート番号。

一般的なシステム構成

レジストリは、クラスター ワークロードのコンテナー イメージをプルするための中心的なリソースです。レジストリは、クラスター ノードがアクセスできる既存のレジストリである場合もあれば、クラスターの一部としてレジストリをインストールする場合もあります。

メモ:

既定のアクションでは、レジストリをクラスター内のポッドとしてインストールして設定します。独自のレジストリをホストする場合は、代替アドレスを入力できます。

次のシステム情報を入力します。

  • installRegistry - クラスターにプライベート レジストリをインストールする場合は、 true に設定します。

  • registrySize — レジストリの永続ボリュームのサイズ (GB 単位)。

  • registryPort - レジストリのポート番号。

  • アドレス - キープアライブVIPアドレスのDNS名(または、DNSが利用できない場合はアドレス自体)。

  • ユーザー - レジストリのユーザー名。

  • パスワード - レジストリのパスワード。

  • generateCerts:デフォルトでは、このフィールドは に設定 true されており、レジストリの自己署名証明書が自動的に生成されます。このフィールドが無効になっている場合は、使用するキーと証明書へのパスを指定する必要があります。これは、構成ファイルまたはインストール プロセス中に実行できます。

    • キー:登録キーへのパス。

    • cert:登録証明書へのパス。

    • caCert:登録 CA 証明書へのパス。

  • クラスターが DockerHub からシステム イメージをプルできない場合は、イメージを別のプライベート レジストリでホストする必要があります。このレジストリは、イメージをプルするクラスターの既定のレジストリとして構成されます。次の情報を入力します。

    • システム レジストリ - レジストリのアドレス。

    • システム レジストリ ユーザー - レジストリのユーザー名。

    • システム レジストリ パスワード - レジストリのパスワード。

ロード バランサー構成 metalLB

L2 ネットワーク ロード バランサーは、アプリケーション負荷分散サービスへの外部 (クラスター外) アクセスを提供します。外部 IP アドレスは、アプリケーションの起動の一部として作成されるときに、負荷分散サービスに割り当てる役割を担います。

ロード・バランサーのアドレス・プールで構成するアドレスの数は、実行するアプリケーションによって異なります。

  • APMにアクセスするには、少なくとも1つのIPアドレスが必要です。

  • BBE イベントの収集と視覚化には、必要に応じて外部アドレスが必要になる場合があります。BBE イベントの収集と可視化が、クラスタの一部ではない要素(BNG ユーザ プレーンなど)からの syslog を分析するように設定されている場合は、外部アドレスが必要です。

  • BNG CUPSコントローラには2つのアドレスが必要です。

アドレスのサブネットは、アプリケーションのサービスにアクセスする必要があるすべてのクラスターノードとリモートデバイスから到達可能である必要があります。

次の情報を入力します。

  • install - ロード バランシング用の MetalLB をインストールするには、 に設定します true

  • addresses — ロードバランサーのアドレスプールの IP アドレスのリストを入力します。リスト内のアドレスは、プレフィックス(10.0.0.0/24など)、個別のアドレス(10.0.1.2/32など)、アドレスの範囲(10.1.2.3-10.1.2.5など)、またはこれらのオプションの組み合わせとして入力できます。

ネットワーク構成

クラスタ内ネットワーク トラフィック (クラスタの維持と管理に使用) をネットワーク トラフィック (外部システムとの通信に使用) から分離することが望ましい場合があります。マルチノードクラスタでは、仮想IPアドレスをクラスタに割り当てて、クラスタコントロールプレーンを1つのシステムとしてアドレス指定できるようにする必要があります。

ネットワーク - 次のネットワーク情報を入力します。

メモ:

クラスタ内のすべてのノードで、同じインターフェイスが使用可能である必要があります。

  • cniInterface - クラスタ ネットワークのネットワーク インターフェイス。このインターフェイスはキープアライブインターフェイスとしても使用されるため、定義する必要があります。

  • sans (サブジェクトの別名)- Kubernetes APIサーバーに接続する 場所 が許可された名前としてSAN Kubernetes証明書に追加するホスト名(IPアドレス)のリスト。
    • controlplane - TLS 証明書のサブジェクト代替名。

    • worker.example.com — TLS 証明書のサブジェクト代替名。

  • キープアライブ:有効にする必要があります。

    • install—仮想IP構成のキープアライブをインストールするために入力します true

    • vip - クラスターの仮想 IP アドレス

    • vrid—キープアライブがクラスターに使用する仮想ルーターID(1〜255)。この値は、クラスターとネットワークごとに一意である必要があります。デフォルトでは、値が指定されていない場合、BBE Cloudsetupはキープアライブアドレスの最後のオクテットを使用します。そのため、キープアライブアドレスの最後のオクテットがすでに別のクラスタで使用されている仮想ルーター ID であることがわかっている場合は、この vrid を一意の値に設定してください。

ストレージ構成

以下の情報を入力して、ストレージを構成します。

  • installLonghorn - ストレージ用にLonghornをインストールするために入力します true

  • storageClass — Longhorn のストレージクラス名。

  • パーティション - 次のパーティション情報(Docker パーティションと Longhorn パーティション)を入力します。

    • 名前 - パーティションの名前。

    • createPartition - 使用しません。

    • devicePath — ボリュームのブロックデバイスへのパス。

    • 場所:ボリュームのマウント ポイント。

    • partitionSize — ボリュームのパーティションのサイズ(GB 単位)。

SSHを設定する

ジャンプ ホストからコントロール プレーンおよびワーカー ノードへの SSH パスワードレス アクセスを構成します。

  1. SSH キーを作成します。

    既定のパスを使用し、パスワードを入力します。

  2. キーをコントロール・プレーンとワーカー・ノードにコピーします。例えば:
    • <user-id>- BBE Cloudesetup がノードに接続するときに使用するユーザー ID。

    • <host address>- BBE Cloudesetup が接続するノードの IP アドレス。

    クラスタ内のノードごとに上記の手順を繰り返します。

  3. SSH エージェントを起動します。
  4. システム上のすべての既知のキーをエージェントに追加します。これが新しいシステムの場合、作成されるキーは 1 つだけです。他のキーがある場合は、それらすべてを追加するか、引数として読み込むキーへのパスを指定できます。プロンプトに従ってキーパスフレーズを入力します。

BBE クラウドのアップグレードセットアップ

概要 BBE クラウドセットアップをアップグレードするには、この手順を使用します。

  1. ジャンプ ホスト システムで、現在の構成ファイル (名前が exampleconfig.yaml ファイルに変更された) を含む現在の bbecloudsetup ディレクトリを別の名前のディレクトリにバックアップします。
  2. ジュニパーネットワークスのソフトウェア ダウンロード ページから BBE Cloudsetup ソフトウェア パッケージをダウンロードし、ジャンプ ホスト サーバーに保存します。

    BBE CloudSetup は圧縮された tarball イメージ (.tgz) として利用できます。ファイル名には、名前の一部としてリリース番号が含まれます。リリース番号の形式は、v<Major>.<Minor>.<Maintenance> です。

    • major は、製品のメインリリース番号です。
    • minor は、製品のマイナー リリース番号です。
    • maintainance はリビジョン番号です。
  3. 次のように入力して、ジャンプ ホストで BBE Cloudsetup tarball (.tgz) ファイルを解凍します。
    bbecloudsetup ディレクトリに新しいファイルが読み込まれます。
  4. 古い構成ファイルと新しい構成ファイルを比較し、ファイルに必要な変更を加えます。表 1 を参照してください。
  5. 構成ファイル(bbecloudsetupディレクトリにあります)の準備ができたら、BBE Cloudsetup実行可能ファイルを実行します。実行可能ファイルは bbecloudsetup ディレクトリにあります。

    ホストのパスワード (sudo パスワード) やレジストリ (ユーザーパスワード) を構成ファイルに入力しなかった場合は、インストール中にパスワードの入力を求められます。

  6. インストールを確認します。
    • BBE Cloudセットアップのインストールが完了し、エラーが発生していないことを確認します

    • コマンドを実行します kubectl get nodes 。すべてのノードは、状態を [準備完了] として報告する必要があります。

    • コマンドを実行します kubectl get pods -A 。クラスター内のすべてのポッドは、状態を [実行中 ] または [完了] として報告する必要があります。

クリーンレジストリ

概要 これを使用して、現在使用されていないイメージのレジストリをクリーンアップできます。

BBE Cloudsetup は、古いイメージのクリーンアップを自動的に実行しません。必要に応じて、 コマンドを使用して古いイメージを手動で bbecloudsetup registry clean 削除できます。

  1. ジャンプ ホスト システムで、bbecloudsetup registry clean次のように入力してコマンドを実行します。

    オプション:

    • --kubeconfig (または -k)- kubeconfig ファイルへのパス。

    • --context (または -c)- kubeconfig ファイルから使用するコンテキスト。

    • --dry-run (または -n)- アクションを実行せずに既存の画像を表示できます。

    registry cleanコマンドを実行すると、ローカル レジストリ (存在する場合) がチェックされ、クラスター リソースによって現在使用されていないイメージが確認されます。オプション付きdry-runでコマンドを実行すると、削除せずに存在する画像を表示できます。

  2. イメージが削除されていることを確認します。