「マイクロサービスワンストップ」ベストガイド-解答編:SupervisorとGitlab-Runnerがついに併存
1883 ワード
これは「マイクロサービスの一連」のプロジェクトの第2編で、昨日の第1編で述べたイベント復元 昨日残された問題と今日発見されたばかりのBUGを引用して、私たちは
(1)なぜ
(2)我々が新たに発見したBUGは、昨日はきちんとしたプログラムを実行していたのに、今日は一連の権限不足の問題が発生しています.WHY?イベント分析 (1)非問題解決 (1)我々は異なる数人の一般ユーザを作成し,それぞれの総括は私达の2日间の绝えない振り回し
Gitlab-Runner
とSupervisor
を使用して、私たちのプロジェクトを導入したことと、導入中に発生した問題に基づいています.Gitlab-Runner
をプロジェクトの持続的な統合のツールとして使用して、Supervisor
をサービス管理のツールとして使用して、一連のテストを経て、私たちは1つの問題を発見しました.(1)なぜ
root
起動Gitlab-Runner
サービスはtask
起動root
サービスではなく最新のGitlab-Runner
を取得できないのか.(2)我々が新たに発見したBUGは、昨日はきちんとしたプログラムを実行していたのに、今日は一連の権限不足の問題が発生しています.WHY?
root
を使用しているのは、登録runner
の場合、および起動runner
の場合に非root
のユーザを使用しているconfig
ファイル、すなわちディレクトリ/home/user/.gitlab-runner/config.toml
であり、これまで-c
を使用して非root
のユーザのプロファイルを参照していたことは疑いの余地がないが、我々は登録runner
のときも非root
のユーザを使用して登録していたことを忘れていたので、root
のユーザを使用してGitlab-Runner
を起動したとき、runner
は非root
のユーザによって登録され、タスクを受信できませんでした.(2)権限が足りなくて、どこでroot
を使って作成したのか、私たちはアクセスできません.私たちは検索して、私たちがGitlab-Runner
を起動したとき、私たちは/etc
ディレクトリの下のいくつかのファイルを引用する必要があります.つまり、私たちの普通のユーザーは訪問する権限がありません.この問題の根源はここから来ているはずです.runner
を登録し,それぞれのGitlab-Runner
サービスを起動することにより,テスト後,タスクは対応tag
にしか送信できず,対応tag
がバインドされたrunner
に対応して受信できることを発見した.私たちがGitlab-Runner
サービスを開始するときは、Supervisor
プロファイルにuser=root
を作成するか、user
を指定しないか、デフォルトでroot
ユーザーで実行する必要があります.Gitlab-Runner
とSupervisor
を経て、私达は最后に両者を结び付けて使う最良の方法Gitlab-Runner
を総括してroot
ユーザーで実行して、命令を実行するのはgitlab run -c config -u user
で、このように私达はまた完全な権限があることを保证することができて、またrunner
の権限が最も低くて、両方が美しいことを保证することができます.