2017-06-21 9 views
0

私は、Openshift起点に配置されているEFKスタックのアラートを実装したいと思います。アラートを実装するために、私はElastalertを使用しました。私はそれのためにkrizsan/elastalert-dockerドッカー画像を使用しました。 Openshift起点コンテナ内のエラスタレット

oc run elastalertcore --image=172.30.1.1:5000/logging/elastalert-core --port=3344 --expose 

この

は正常elastalertインスタンスを実行しますが、ログイムで私は環境varialbe

ELASTICSEARCH_HOST =logging-es 
を与えた

Container timezone set to: Europe/Stockholm 
ntpd: can't set priority: Permission denied 
reset adjtime failed: Operation not permitted 
creating new /var/db/ntpd.drift 
adjtimex failed: Operation not permitted 
dispatch_imsg in main: pipe closed 
Lost child: child exited 
Terminating 
Waiting for Elasticsearch... 
Waiting for Elasticsearch... 
Waiting for Elasticsearch... 
Waiting for Elasticsearch... 

きます Elastalertがオープンシフト起源における弾性検索に接続することはできません

。どんな助けもありがたいです。

答えて

0

DockerハブのDockerイメージのほとんどは、セキュリティコンテキストの制約のためにOpenshiftでそのまま動作しません。

に許可エラーを回避するには、追加することができます。

oc adm policy add-scc-to-user anyuid -z default 

anyuid SCCで実行するデフォルトのサービスアカウントでポッドを有効にします。ポッド定義に他のサービスアカウントを明示的に指定しないと、プロジェクト内で実行されているすべてのポッドに影響を与える可能性があることに注意してください。

+0

これは、あなたがクラスタ管理者である場合にのみ行うことができます。あなたがプロジェクト管理者だけの場合は、実行できません。つまり、クラスタ管理者ではないため、OpenShift Onlineでこれを行うことはできません。 rootとして実行する必要のあるイメージに遭遇した場合は、イメージの作成者にrootの使用を要求せず、OpenShiftだけでなく、任意のユーザーIDとして実行するイメージを設定してくださいセキュリティは、物事がルートとして実行することを許可しません。 –

+0

あなたは正しく、@ expuser111明示的にオープニングシフト原点を言及します。おそらく、より良い方法は、ルートの使用を避ける独自のイメージを構築することです。 –

関連する問題