Ubuntu12.04にAppScaleをインストールして構成する方法

前書き ##

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以外のユーザーとして実行できます。

ステップ1-AppScaleをインストールする

最初の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

ステップ2-AppScaleツールをインストールする

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

ステップ3-AppScaleデプロイメントを構成する

このチュートリアルの残りの部分では、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

ステップ4-AppScale管理パネル

ブラウザでAppScale管理パネルを開きます。 AppScaleの起動後にリンクが表示されます。

http://your_server_ip:1080/status

自己署名証明書を受け入れるように求められる場合があります。

AppScale管理パネルで、ユーザーは[アカウントの作成] をクリックして独自のアカウントを作成できます。ただし、アプリをアップロードおよび削除する前に、管理者アカウントを使用して権限を変更する必要があります。

右上の[ログイン]ボタンをクリックします。 ログインボタンは小さな画面では異なって見えるかもしれませんが、それでも緑色です。

前の手順で設定した管理者の電子メールとパスワードを使用してログインします。次に、AppScaleステータスページが表示されます。

管理パネルでは、サーバー統計とアプリケーション統計にアクセスできます。アプリケーションを展開および削除することもできます。管理パネルからのアプリケーションの展開は非常に簡単です。このチュートリアルでは、コマンドラインからアプリケーションをデプロイする方法を学習します。管理パネルの探索が終了したら、次の手順に進みます。

ステップ5-最初のアプリケーションをデプロイする

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状態の必須のクリーンアップ

appscale cleanコマンドを使用して、VMを強制的にクリーン状態にし、構成の問題を排除します。

appscale clean

このスクリプトは、AppScaleに関連するすべてのプロセスも強制的に終了します。初期展開中に問題が発生した場合は、メーリングリストに連絡する前にこれを試してください。このコマンドは通常、構成の問題を解決できます。次に、 appscale upを再度実行して、AppScaleを再デプロイできます。

appscale up

AppScaleログファイル

appscale logsコマンドは、AppScaleデプロイメント内のすべてのノードからログファイルを収集し、それらを指定されたディレクトリにコピーします。

appscale logs directory/

ログファイルには、 / var / log / appscaleディレクトリから直接アクセスできます。

cd /var/log/appscale

何らかの理由で appscale logsコマンドが失敗した場合は、この方法でログにアクセスする必要があります。ただし、マルチノード展開の場合は、各サーバーでこれを行う必要があります。そのため、AppScaleツールを使用してログファイルを収集することをお勧めします。

appscale tailコマンドは、デプロイメント内のAppScaleログのリアルタイムの読み取りを提供します。これは、アプリケーションと接続の問題をリアルタイムで監視するのに役立ちます。

appscale tail

AppScaleデプロイメントのデバッグ

AppScaleデプロイメントをデバッグするときは、3つの主要なログに関心があるはずです。

結論として ##

単一サーバー展開用に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

Ubuntu12.04にAppScaleをインストールして構成する方法
Ubuntu16.04にNATSをインストールして構成する方法
Ubuntu18.04にGogsをインストールして構成する方法
Ubuntu18.04にCyberpanelをインストールして構成する方法
Ubuntu16.04にownCloudをインストールして構成する方法
Ubuntu16.04にownCloudをインストールして構成する方法
Ubuntu18.04にAnsibleをインストールして構成する方法
Ubuntu16.04にElasticsearchをインストールして構成する方法
Ubuntu14.04にPostGISをインストールして構成する方法
Ubuntu16.04にSphinxをインストールして構成する方法
Ubuntu14.04にPostGISをインストールして構成する方法
Ubuntu 16.04 /18.04にPycharmとIpythonをインストールする方法
CentOS7にElasticsearchをインストールして構成する方法
Ubuntu20.04にDockerをインストールして使用する方法
CentOS8にVNCをインストールして構成する方法
Ubuntu18.04にComposerをインストールして使用する方法
Ubuntu18.04にWineをインストールして使用する方法
Ubuntu16.04にphpMyAdminをインストールして保護する方法
CentOS8にRedisをインストールして構成する方法
Ubuntu20.04にComposerをインストールして使用する方法
Ubuntu14.04にBaasBoxをインストールして使用する方法
Ubuntu16.04にPostgreSQLをインストールして使用する方法
CentOS6にphpMyAdminをインストールして構成する方法
CentOS8にOwncloudをインストールして構成する方法
Ubuntu16.04にDockerをインストールして使用する方法
CentOS8にRedmineをインストールして構成する方法
Ubuntu20.04にRubyをインストールする方法
Ubuntu20.04にJavaをインストールする方法
Ubuntu20.04にVirtualBoxをインストールする方法
Ubuntu20.04にElasticsearchをインストールする方法
UbuntuにProtobuf3をインストールするための詳細なチュートリアル
Ubuntu20.04にNginxをインストールする方法
Ubuntu20.04にApacheをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu16.04にNode.jsをインストールする方法
UbuntuにMySQLをインストールして構成する
Ubuntu20.04にVagrantをインストールする方法
Ubuntu14.04にBacula-Webをインストールする方法
Ubuntu16.04にPostgreSQLをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu18.04にAnaconda3をインストールする方法
Ubuntu18.04にMemcachedをインストールする方法
Ubuntu16.04にJenkinsをインストールする方法
Ubuntu14.04にMemSQLをインストールする方法
Ubuntu20.04にGoをインストールする方法
Ubuntu16.04にMongoDBをインストールする方法
Ubuntu14.04にMailpileをインストールする方法
Ubuntu16.04にPrestaShopをインストールする方法
Ubuntu20.04にSkypeをインストールする方法
Ubuntu20.04にJenkinsをインストールする方法
Ubuntu18.04にKVMをインストールする方法
Ubuntu20.04にKVMをインストールする方法
ubuntu14.04にopencv3.0.0をインストールする方法
Ubuntu16.04にPrometheusをインストールする方法
Ubuntu18.04にJenkinsをインストールする方法
Ubuntu20.04にRをインストールする方法
Ubuntu16.04にMoodleをインストールする方法
Ubuntu14.04にSolr5.2.1をインストールする方法
Ubuntu16.04にTeamviewerをインストールする方法
Ubuntu20.04にMariaDBをインストールする方法
Ubuntu20.04にNginxをインストールする方法