AWSEKSで複数のコンテナでシェルスクリプトを一度に実行する方法

ビカスロイ

AWSEKSにLaravelアプリケーションをデプロイしたいと思います。

私のアプリケーションはLaravelのジョブとキューを使用しています。Laravelに付属の職人ユーティリティを使用してキューワーカーを管理できます。

php artisan queue:work
php artisan queue:restart

キュープロセス監視するためにSupervisordを使用します。

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /home/forge/app.com/artisan queue:work sqs --sleep=3 --tries=3
autostart=true
autorestart=true
user=forge
numprocs=8
redirect_stderr=true
stdout_logfile=/home/forge/app.com/worker.log

コンテナーがデプロイされたときにキューを開始するために、DockerfileでENTRYPOINTスクリプトを使用しています。

#!/usr/bin/env bash

##
# Ensure /.composer exists and is writable
#
if [ ! -d /.composer ]; then
    mkdir /.composer
fi

chmod -R ugo+rw /.composer

##
# Run a command or start supervisord
#
if [ $# -gt 0 ];then
    # If we passed a command, run it
    exec "$@"
else
    # Otherwise start supervisord
    /usr/bin/supervisord
fi

私が理解できないのは、アプリケーションの複数のレプリカを実行している場合、実行中のコンテナーでキュープロセスをリモートで停止および開始するにはどうすればよいかということです。

EC2では、AWS SSMを使用して、複数のインスタンスで同時にシェルコマンドを実行できます。

AWS EKSにも同様の利用可能なものはありますか?

または、一般的に、AWS EKSの複数のコンテナで実行されているキュープロセスをどのように管理しますか?

ワイベルド

一般に、一度に複数のコンテナでコマンドを実行する場合は、たとえば次のように実行できます。

for pod in $(kubectl get pods -o jsonpath='{.items[*].metadata.name}' -l app=myapp); do
  kubectl exec "$pod" mycommand
done

これはmycommandapp=myappラベルが付いたすべてのポッドの最初のコンテナで実行さます。クラスタがEKSで実行されているか、他の場所で実行されているかは関係ありません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Unixで一度に複数のディレクトリで同じシェルスクリプトを実行する

一度に複数のデータ フレームでスクリプトを実行する方法は?

一度に複数のリストで実行するループを作成する

Dartで一度に複数の非同期リクエストを実行する。適切な方法

一度に複数の変数を定義する(シェルでコピー-貼り付け-実行)

一度に複数のnpmスクリプトを実行する

RxAndroidで一度に複数のサブスクリプションをキャンセルする-Android

コンテナで複数のスクリプトを実行する

Dockerコンテナでシェルスクリプトを実行する

同じjvmで一度に複数のsparkインスタンスを実行するためのベストプラクティス?

Ansibleで複数行のシェルスクリプトを実行する方法

スクリプトを使用せずにターミナル経由で一度に複数のppaをインストールする

シェルコマンドを使用して一度に複数のディレクトリへのシンボリックリンクを作成する方法

bashシェルスクリプトの一部としてDockerコンテナでコマンドを実行する方法

Dockerコンテナーからホストでシェルスクリプトを実行する方法

サブプロセスを一度に2つ実行するためのシェルスクリプト

python Docker Image:複数のスクリプトを一度に実行する方法は?

シェルスクリプトを使用して一度に複数のjarファイルを実行するにはどうすればよいですか?

Dockerコンテナ内でシェルスクリプトを実行する方法

コンテナ内でPythonスクリプトを実行するためにシェルスクリプトが必要なのはなぜですか?

シェルスクリプトで複数行のコマンドにコメントを付ける方法は?

Dockerコンテナでシェルスクリプトを実行するときのENONENT

複数のタブを開き、シェルスクリプトでコマンドを実行する

`find`と` xargs`を使用してシェルスクリプトで複数のコマンドを実行する

Rで一度に複数のSQLコマンドを実行する

コンソールアプリケーションでSMTPを使用して一度に複数の電子メール要求を送信したい。スレッドを使用して一度に一括電子メール要求を送信する方法

1つのソリューションで複数のプロジェクトに一度にコードを書く方法は?[Visual Studio / Xamarin]

Gmailスレッドで複数の未読ラベルを一度に検索するスクリプト

Rで一度に複数のExcelファイルをクリーンアップする方法は?

TOP 一覧

  1. 1

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  2. 2

    Railsで宝石のレイアウトを使用するにはどうすればよいですか?

  3. 3

    Chromeウェブアプリのウェブビューの高さの問題

  4. 4

    Ansibleで複数行のシェルスクリプトを実行する方法

  5. 5

    アンドロイド9 - キーストア例外android.os.ServiceSpecificException

  6. 6

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  7. 7

    CSSのみを使用して三角形のアニメーションを作成する方法

  8. 8

    Google Playストア:アプリページにリーダーボードと実績のアイコン/バッジが表示されない

  9. 9

    GoDaddyでのCKEditorとKCfinderの画像プレビュー

  10. 10

    PyCharmリモートインタープリターはプロジェクトタブにサイトパッケージのコンテンツを表示しません

  11. 11

    Windows 7では、一部のプログラムは「ビジュアルテーマを無効にする」レジストリ設定を行いませんか?

  12. 12

    Get-ADGroupMember:このリクエストのサイズ制限を超えました

  13. 13

    Pyusb can't find a device while libusb can

  14. 14

    MySQLでJSON_LENGTHとJSON_EXTRACTを組み合わせる方法は?

  15. 15

    Postmanを使用してファイル付きの(ネストされた)jsonオブジェクトを送信する

  16. 16

    Swiftのブロックのパラメーターに関するドキュメントのマークアップ形式は何ですか?

  17. 17

    Reactでclsxを使用する方法

  18. 18

    追加後、ブートストラップマルチセレクトがテーブルで機能しない

  19. 19

    MongoDB Compass: How to select Distinct Values of a Field

  20. 20

    「埋め込みブラウザのOAuthログイン」を有効にしてコールバックURLを指定した後でも、Facebookのコールバックエラーが発生する

  21. 21

    複数行ヘッダーのJTableヘッダーテキストの折り返し(カスタムTableCellRenderer)

ホットタグ

アーカイブ