レシピ VMmanagerおよびDCImanagerを使用してサーバーにソフトウェアをインストールする方法





同意して、サーバーをタスクの準備ができてうれしいです。 インストールされたISPmanagerはすぐにサイトのホストを開始します。 Teamspeak-インストールに時間を浪費せずにWoTトレーニングを編成します。

これにより、プロバイダーは収益を増やします。 今日では、クリーンなOSを搭載したマシンだけでなく、会計、取引、ゲームサーバーも提供しています。 「販売前の準備」により、顧客のロイヤルティが向上し、テクニカルサポートの負荷が軽減されます。



当初、これは、OSテンプレートを介して必要なパッケージをインストールすることにより、製品に実装されました。 問題は、テンプレートの作成、保守、および更新に多大なコストが必要になることです。 クライアントが人気のないパッケージセットのプレインストールを要求すると、すべてが悪化します。 たとえば、BigBlueButton、ウェビナー用のプラットフォーム。 ユーザーはVDSを注文し、ビデオ会議を開催しますが、3か月に1回だけです。 彼は、専用サーバーが注文されるたびにソフトウェアをインストールするのに30分を費やしたくありません。 このようなリクエストは、プロバイダーにとって常に興味深いものではありません。 高度に特殊化されたテンプレートには、不当なコストがかかる場合があります。

カットの下で、レシピの助けを借りてそのような問題を解決する方法について話します-VMmanagerとDCImanagerで自動ソフトウェアインストールを実行するスクリプト。



最初に、OSテンプレートについて説明します。 レシピの出現により、レシピの人気は低下しているため、それが理由です。

  1. インストールされたソフトウェアが複数のオペレーティングシステムをサポートしている場合、それぞれが独自のテンプレートを作成する必要があります。 レシピは、複数のOSで1つにすることができます。
  2. KVMまたは専用サーバーについて話している場合、追加のパッケージをインストールするには、install.cfg(応答ファイル)を変更する必要があります。 OpenVZの場合、必要なファイルを追加して、コンテナ全体を再構築する必要があります。 レシピの場合は、ブラウザーを介してVMmanagerまたはDCImanagerのブラウザーでメニューを開き、コードを入力フィールドに貼り付けます。


したがって、テンプレートとレシピを使用して追加のソフトウェアをインストールできるようになりましたが、後者の方が使いやすいことがわかりました。 現時点では、テンプレートを使用して新しいオペレーティングシステムを追加し、追加パッケージをインストールするためのレシピを使用しています。



どの言語でもレシピを作成できます。OSに必要なインタープリターがあれば十分です。 オペレーティングシステムのインストールが完了し、サーバーが再起動すると、このファイルはSSH経由で一時ディレクトリにコピーされ、rootとして起動されます。

レシピには、本文の先頭にメタデータブロックが必要です。

こんな感じ
#!/bin/sh # # metadata_begin /*  */ # recipe: Hello! /*  .   */ # tags: centos7,debian8,ubuntu1404,ubuntu1604 /* .        .     ,            */ # revision: 1 /*  */ # description_ru:  .  ,        shell. # description_en: Example of recipe. Greetings to world, that will be shown after every login to shell. # /* —    .             */ # metadata_end /*  */ # echo "Hello World!" > /etc/motd
      
      





レシピメニューには、管理者レベルからアクセスできます。



BILLmanagerは、これらのパネルからレシピのリストを受け取り、顧客がサービスを注文すると表示します。

サーバーに対して異なるレシピを作成することもできます:レシピありとレシピなし。 必要な設定は、ハンドラーの作成時に実行されます。スポイラーを参照してください。

たとえば、レシピのエラーを修正するために、すべてのクライアントに対して特定のソフトウェアのインストールへのアクセスを閉じる必要がある場合、これも可能です。 VMmanagerの例のプロセスの説明-別のネタバレの下。

サービスハンドラーのセットアップ
ハンドラーを作成するには、管理者の下の[統合]メニュー→[サービスハンドラー]に移動し、[作成]ボタンをクリックします。







次に、統合セットアップの段階で、チェックボックスをオンまたはオフにします。







また、関税を作成するときに、目的のハンドラを選択します。





レシピへのアクセスをブロックする方法
管理者権限を持つユーザーとしてパネルで承認を実行します。 メニュー「クラスター設定」→「レシピ」に進み、目的のレシピを選択して「プロパティ」をクリックします。







ドロップダウンリストから目的のアクセスレベルを選択し、[OK]をクリックします。









クライアントが頻繁にあまり人気のないソフトウェアをインストールし、プロセスを自動化する場合、当社の製品はエンドユーザーに独自のローカルレシピを作成する権利を与える機会があります。 これを行うには、 / usr / local / mgr5 / etcに移動し、Option UserRecipes行をvmmgr.confまたはdcimgr.confファイルに追加し、コマンド/ usr / local / mgr5 / sbin / mgrctl -m vmmgr exitまたは/ usr /でパネルを再起動しますlocal / mgr5 / sbin / mgrctl -m dcimgr exitそれぞれ。

ユーザーレベルでは、メニュー項目「管理」→「レシピ」がパネルに表示されます。つまり、独自のレシピを作成し、仮想または専用サーバーOSを再インストールするときに使用できます。



ガイド



それでは、実際にレシピを書き、エンドユーザーにそのレシピへのアクセスを許可してみましょう。 たとえば、WebDS向けのプラットフォームであるBigBlueButton 1.0をVDSに展開します。 ネタバレの下、スクリーンショット付きのプロセスの説明。

レシピ作成
VMmanagerパネルで、管理者権限を持つユーザーとして承認を実行します。「クラスター設定」→「レシピ」に進みます。







「作成」ボタンをクリックします。







レシピを配置するファイルの名前を指定し、入力フィールドにスクリプトを記述/貼り付け、メタデータブロックに入力して[OK]をクリックします。







作成されたレシピがリストに表示されます。







結果-サービスを注文すると、ホスティングプロバイダーのクライアントには、プリインストールされたソフトウェアの別のオプションが表示されます。









ソースコードに興味がある場合は、別のネタバレにご招待します。

レシピソースコード
 #!/bin/bash # # metadata_begin # recipe: BigBlueButton # tags: ubuntu1404 # revision: 1 # description_ru: BigBlueButton,    . # description_en: BigBlueButton, webinar platform. # metadata_end # #  . RNAME=BigBlueButton set -x LOG_PIPE=/tmp/log.pipe.$$ mkfifo ${LOG_PIPE} LOG_FILE=/root/${RNAME}.log touch ${LOG_FILE} chmod 600 ${LOG_FILE} tee < ${LOG_PIPE} ${LOG_FILE} & exec > ${LOG_PIPE} exec 2> ${LOG_PIPE} killjobs() { jops="$(jobs -p)" test -n "${jops}" && kill ${jops} || : } trap killjobs INT TERM EXIT echo echo "=== Recipe ${RNAME} started at $(date) ===" echo # ,    . apt-get update apt-get -y dist-upgrade #  LibreOffice 4.4. LibreOffice       PDF. apt-get -y install software-properties-common add-apt-repository -y ppa:libreoffice/libreoffice-4-4 add-apt-repository -y ppa:ondrej/php #      BigBlueButton   . wget http://ubuntu.bigbluebutton.org/bigbluebutton.asc -O- | apt-key add - echo "deb http://ubuntu.bigbluebutton.org/trusty-1-0/ bigbluebutton-trusty main" | tee /etc/apt/sources.list.d/bigbluebutton.list #   . apt-get update #   ffmpeg. apt-get -y install build-essential git-core checkinstall yasm texi2html libvorbis-dev libx11-dev libvpx-dev libxfixes-dev zlib1g-dev pkg-config netcat libncurses5-dev FFMPEG_VERSION=2.3.3 cd /usr/local/src if [ ! -d "/usr/local/src/ffmpeg-${FFMPEG_VERSION}" ]; then wget "http://ffmpeg.org/releases/ffmpeg-${FFMPEG_VERSION}.tar.bz2" tar -xjf "ffmpeg-${FFMPEG_VERSION}.tar.bz2" fi cd "ffmpeg-${FFMPEG_VERSION}" ./configure --enable-version3 --enable-postproc --enable-libvorbis --enable-libvpx make checkinstall --pkgname=ffmpeg --pkgversion="5:${FFMPEG_VERSION}" --backup=no --deldoc=yes --default #       ttf-mscorefonts-installer     BigBlueButton        . echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections #   BigBlueButton. apt-get -y install bigbluebutton #   (   BBB, )    . apt-get -y install bbb-demo #         BBB. apt-get -y install bbb-check #     BigBlueButton. bbb-conf --clean
      
      





そのため、お客様は新しいレシピを利用できます。 緊急のウェビナーや会議の開催などが必要になった場合、会議の開催場所をすぐに整理できます。 ご覧のとおり、複雑なことは何もありません。



特に当社の製品とレシピを使用したい場合は、 VMmanagerDCImanagerへのリンクと、レシピドキュメントへのリンクを思い出しください



満足した顧客!



PSこの記事では、アントン・クリャトニコフのイラストを使用しています。

ソースリンク



All Articles