AppScaleは、パブリッククラウド、プライベートクラウド、およびオンプレミスクラスターにGoogle AppEngineアプリケーションを展開するように設計されたオープンソースコンピューティングプラットフォームです。 AppScaleはGoogleApp Engine APIと完全に互換性があり、Python、Go、PHP、およびJavaをサポートします。 AppScaleを使用すると、既存のアプリケーションを任意のクラウドコンピューティングプラットフォームに移行できます。以下に、特定のAPIにサービスを提供するために使用されるオープンソースコンポーネントのリストを示します。
このチュートリアルでは、次のものが必要になります。
AppScaleがアイドル状態のときに使用する2GBのRAMに加えて、AppScaleは必要なコンポーネントをコンパイルするために少なくとも2GBのRAMを必要とします。標準のアプリケーション展開では、少なくとも4GBのRAMを使用することを強くお勧めします。スワップファイルで2GBのTencentCVMを使用できます。ただし、これはこのチュートリアルの範囲を超えています。
執筆時点では、AppScaleはUbuntu12.04の公式サポートのみを提供しています。ビルドスクリプトを変更すると、Ubuntu14.04にインストールできます。ただし、これはこのチュートリアルの範囲を超えており、コミュニティによってサポートされていない可能性があります。
AppScaleおよびAppScaleToolsをインストールする最初の2つの手順は、rootユーザーとして実行する必要があります。残りの手順は、root以外のユーザーとして実行できます。
最初の2つの部分では、すべてのコマンドをrootユーザーとして実行します。 sudoユーザーとしてサーバーに接続する場合は、ルートシェルを入力します。
sudo su
まず、apt-getパッケージインデックスを更新します。
apt-get update
これで、AppScaleをインストールする準備が整いました。ソースコードからAppScaleをコンパイルします。ソースコードのコンパイルには非常に時間がかかる可能性があることに注意してください。このプロセスが完了するまでに15分以上かかると予想されます。
/ root
ディレクトリにいることを確認してください。
cd /root
Gitをインストールして、AppScaleソースコードをダウンロードできるようにします。
apt-get install -y git-core
GitHubからAppScaleソースコードを複製します。
git clone git://github.com/AppScale/appscale.git
appscale / debian
ディレクトリに移動し、ビルドスクリプトを実行します。
**注:**このプロセスには時間がかかります。ビルドスクリプトは、不足している依存関係をインストールし、AppScaleソースコードをコンパイルします。
cd appscale/debian
bash appscale_build.sh
AppScaleツールは、AppScaleクラスターの管理とアプリケーションの展開に使用されます。これらのツールは、ローカルコンピューターまたはサーバーにインストールできます。簡単にするために、これらのツールをサーバーにインストールします。 Mac OSXとWindowsでのインストールプロセスは非常に似ています。 Windowsでは[Cygwin](https://www.cygwin.com/)を使用する必要があります。詳細については、[GitHubページ](https://github.com/AppScale/appscale-tools)を参照してください。
/ root
ディレクトリに戻ります。
cd /root
GitHubからAppScaleToolsのソースコードを複製します。
git clone git://github.com/AppScale/appscale-tools.git
appscale-tools / debian
ディレクトリに移動し、ビルドスクリプトを実行します。
**注:**このプロセスには時間がかかります。ビルドスクリプトは、不足している依存関係をインストールし、AppScaleToolsのソースコードをコンパイルします。
cd appscale-tools/debian
bash appscale_build.sh
ビルドスクリプトが完了したら、再起動することをお勧めします。
reboot
このチュートリアルの残りの部分では、AppScaleToolsを任意のユーザーとして実行できます。これはsudoユーザーである必要はありません。ただし、AppScaleを初めて起動するときは、rootユーザーのパスワードを知っている必要があります。 AppScaleは自動的に認証証明書を作成し、今後AppScaleToolsを使用するときにrootパスワードは不要になります。
サーバーが再起動した後、SSH接続を確立し、AppScaleデプロイメントを構成する必要があります。 AppScaleツールでは、ツールセットを実行するたびに構成ファイルが必要です。このステップでは、 AppScalefile
という名前の構成ファイルを作成し、AppScaleを起動して、管理者アカウントを構成します。
ユーザーのホームディレクトリにいることを確認してください。
cd ~
初期の AppScalefile
構成ファイルを作成します。
appscale init cluster
ここで、サーバーのIPアドレスを AppScalefile
に追加します。
nanoでファイルを開きます。
nano AppScalefile
ファイルの上部に、次のセクションが表示されます。
# The deployment strategy(roles -> machines) that should be used inthis
# AppScale deployment.
# The following is a sample layout for running everything on one machine:
ips_layout :
master : your_server_ip
appengine : your_server_ip
database : your_server_ip
zookeeper : your_server_ip
デフォルトのIPアドレスをサーバーのIPアドレスに置き換えます。ファイルを編集した後、** CTRL-X を押し、 Y を押して保存し、 ENTER **を押して既存のファイル名を上書きします。
これで、 AppScalefile
が作成されたばかりのディレクトリからAppScaleを起動できます。
appscale up
AppScaleは、ホストのフィンガープリントとルートパスワードを確認するように求めます。
The authenticity of host '111.111.111.111 (111.111.111.111)' can't be established.
ECDSA key fingerprint is ab:3a:f0:87:c8:4e:8c:ba:59:0e:06:64:1b:f6:fe:e8.
Are you sure you want to continueconnecting(yes/no)? yes
yes
と入力し、** ENTER **を押します。次に、次のように表示されます。
[email protected]'s password:
rootユーザーのパスワードを入力し、** Enter **を押します。
正しいrootパスワードを入力すると、次のように表示されます。
Generated a newSSH key forthis deployment at /root/.appscale/appscale69de89364b624a8a9be1b7f45ac23d40
Starting AppScale 2.3.1 over a virtualized cluster.
Log in to your head node: ssh -i /root/.appscale/appscale69de89364b624a8a9be1b7f45ac23d40.key [email protected]
Head node successfully initialized at 111.111.111.111. It is now starting up cassandra.
Copying over deployment credentials
Starting AppController at 111.111.111.111
Please wait for the AppController to finish pre-processing tasks.
Please wait for AppScale to prepare your machines for use.
AppController just started
AppScaleを起動すると、「AppControllerが起動したばかり」とハングするようです。これは正常です。すべてのAppScaleコンポーネントが初期化されるまでに時間がかかる場合があります。
最終的に、次のように表示されます。
UserAppServer is at 111.111.111.111
Enter your desired admin e-mail address:
管理者ユーザーアカウントを作成します。ユーザーのメールアドレスを入力し、パスワードを入力します。これらの詳細を覚えておいてください。 AppScale管理パネルにアクセスするためにそれらが必要になります。
管理者ユーザーアカウントを作成すると、次のように表示されます。
Creating newuser account [email protected]
Creating newuser account [email protected]
Your XMPP username is [email protected]
Granting admin privileges to [email protected]
AppScale successfully started!
View status information about your AppScale deployment at http://111.111.111.111:1080/status
AppScaleは、管理パネルへのリンクを提供します。通常、次の形式が使用されます。通常、httpアドレスは自動的に安全なhttpsアドレスにリダイレクトされます。
http://your_server_ip:1080/status
https://your_server_ip:1443/status
ブラウザでAppScale管理パネルを開きます。 AppScaleの起動後にリンクが表示されます。
http://your_server_ip:1080/status
自己署名証明書を受け入れるように求められる場合があります。
AppScale管理パネルで、ユーザーは[アカウントの作成] をクリックして独自のアカウントを作成できます。ただし、アプリをアップロードおよび削除する前に、管理者アカウントを使用して権限を変更する必要があります。
右上の[ログイン]ボタンをクリックします。 ログインボタンは小さな画面では異なって見えるかもしれませんが、それでも緑色です。
前の手順で設定した管理者の電子メールとパスワードを使用してログインします。次に、AppScaleステータスページが表示されます。
管理パネルでは、サーバー統計とアプリケーション統計にアクセスできます。アプリケーションを展開および削除することもできます。管理パネルからのアプリケーションの展開は非常に簡単です。このチュートリアルでは、コマンドラインからアプリケーションをデプロイする方法を学習します。管理パネルの探索が終了したら、次の手順に進みます。
AppScaleは、展開可能なサンプルアプリケーションのセットを提供します。これらのアプリケーションは、AppScaleクラスターをテストするための優れた方法です。また、アプリケーションの展開プロセスにも精通しています。
同じユーザーアカウントを使用する必要があり、現在のディレクトリには AppScaleFile
が含まれている必要があります。このファイルには、AppScaleがデプロイメントを管理するために必要なすべての構成が含まれています。
ユーザーのホームディレクトリに戻るようにしてください。
cd ~
GitHubからサンプルアプリケーションのソースコードを複製して、Guestbookアプリを作成します。
git clone https://github.com/AppScale/sample-apps.git
次のソースコードのダウンロードが表示されます。
Cloning into 'sample-apps'...
remote: Counting objects:15742, done.
remote: Total 15742(delta 0), reused 0(delta 0), pack-reused 15742
Receiving objects:100%(15742/15742),318.96 MiB |23.52 MiB/s, done.
Resolving deltas:100%(4944/4944), done.
Guestbook Appは、データストレージと認証APIをテストするための優れた方法です。
アプリケーションをデプロイします。
appscale deploy sample-apps/go/go-guestbook/
アプリケーションに電子メールアドレスを割り当てるように求められます。メールアドレスを入力し、** Enter **を押します。
Enter your desired e-mail address: [email protected]
これは任意の電子メールアドレスにすることができます。ユーザーがデータベースにまだ存在しない場合は、パスワードを設定するように求められます。このチュートリアルでは、管理者アカウントを使用することにしました。
次に、次のように表示されます。
Uploading initial version of app guestbookgo
We have reserved guestbookgo for your app
Tarring application
Copying over application
Please wait for your app to start serving.
Waiting 1second(s) to check on application...
Waiting 2second(s) to check on application...
Waiting 4second(s) to check on application...
Waiting 8second(s) to check on application...
Waiting 16second(s) to check on application...
Your app can be reached at the following URL: http://111.111.111.111:8080
ブラウザで提供されたURLを開くと、ゲストブックアプリケーションのサービスを利用できます。まだAppScaleにログインしている場合、ゲストブックアプリケーションはあなたの電子メールアドレスを使用します。 AppScale管理パネルに戻ってログアウトすると、匿名ユーザーとしてゲストブックに署名します。
アプリケーションを更新するには、 appscaledeploy
コマンドをもう一度使用します。 AppScaleは、既存のアプリケーションを自動的に検出して更新します。すでにアプリケーションを所有しているのと同じ電子メールアドレスを使用する必要があります。所有権を変更する場合は、アプリケーションを削除して再デプロイできます。
同じアプリケーションの複数のバージョンを並べて実行する場合は、 app.yaml
ファイルでアプリケーションの名前を変更する必要があります。これはアプリケーションのメイン構成ファイルであり、アプリケーションのルートディレクトリにあります。
アプリケーションを削除するには、次のコマンドを使用できます( guestbookgo
を展開中にアプリケーションに割り当てられたID AppScaleに置き換えます)。
appscale remove guestbookgo
AppScale管理パネルからアプリケーションを削除してデプロイすることもできます。
AppScaleは非常に複雑なプラットフォームであり、問題が発生する可能性があります。最も一般的な間違いのいくつかを解決するために実行できるいくつかの手順を紹介します。詳細については、公式の[AppScaleトラブルシューティングページ](https://github.com/AppScale/appscale/wiki/Troubleshooting)を読むことをお勧めします。
問題の解決策が見つからない場合、AppScaleには非常にアクティブなメーリングリストがあります。トピックをメーリングリストに送信するときは、できるだけ詳細な情報とログファイルのコピーを含める必要があることを確認してください。問題を迅速に解決する可能性が高くなります。
appscale clean
コマンドを使用して、VMを強制的にクリーン状態にし、構成の問題を排除します。
appscale clean
このスクリプトは、AppScaleに関連するすべてのプロセスも強制的に終了します。初期展開中に問題が発生した場合は、メーリングリストに連絡する前にこれを試してください。このコマンドは通常、構成の問題を解決できます。次に、 appscale up
を再度実行して、AppScaleを再デプロイできます。
appscale up
appscale logs
コマンドは、AppScaleデプロイメント内のすべてのノードからログファイルを収集し、それらを指定されたディレクトリにコピーします。
appscale logs directory/
ログファイルには、 / var / log / appscale
ディレクトリから直接アクセスできます。
cd /var/log/appscale
何らかの理由で appscale logs
コマンドが失敗した場合は、この方法でログにアクセスする必要があります。ただし、マルチノード展開の場合は、各サーバーでこれを行う必要があります。そのため、AppScaleツールを使用してログファイルを収集することをお勧めします。
appscale tail
コマンドは、デプロイメント内のAppScaleログのリアルタイムの読み取りを提供します。これは、アプリケーションと接続の問題をリアルタイムで監視するのに役立ちます。
appscale tail
AppScaleデプロイメントをデバッグするときは、3つの主要なログに関心があるはずです。
controller-17443.log
-このログは、AppScaleの構成デーモンであるAppControllerの出力です。このデーモンは、AppScaleに必要なすべてのサービスの開始を担当するため、AppScaleの展開の問題が発生した場合の最適な開始点です。 app ___ app_id-*。log
-デプロイされた各アプリケーションには、独自のログファイルがあります。アプリケーションのデプロイに問題がある場合、または動作が期待どおりでない場合は、ここから開始できます。 datastore_server-400 * .log
-これはAppScaleデータストアのログファイルです。単一サーバー展開用にAppScaleをインストールして構成しました。アプリケーションをデプロイおよび削除する方法を学びました。また、ゲストブックアプリケーションに署名して、展開をテストしました。 Guestbookアプリに署名すると、多くのAPIが正しく機能していることが証明されます。これで、このAppScaleインストールを使用して、Google AppEngineに基づくカスタムアプリケーションを展開できます。
その他のUbuntuチュートリアルについては、[Tencent Cloud + Community](https://cloud.tencent.com/developer?from=10680)にアクセスして詳細を確認してください。
参照:「Ubuntu12.04にAppScaleをインストールして構成する方法」tu 12.04 "
Recommended Posts