2017-06-21 56 views
0

我想實施EFK堆棧,這是部署在Openshift起源警報。爲了實現警報,我使用了Elastalert。我使用了krizsan/elastalert-docker docker鏡像。Elastalert在Openshift起源集裝箱

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

這將成功地運行elastalert實例,但在日誌即時得到

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... 

我給環境varialbe

ELASTICSEARCH_HOST =logging-es 

Elastalert無法連接到開放的轉變起源彈性搜索。任何幫助表示讚賞..

回答

0

來自Docker樞紐的大部分Docker鏡像在Openshift上無法正常工作,這通常是由於安全上下文約束。

爲了避免權限錯誤,你可以添加:

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

能夠與默認服務帳戶吊艙與anyuid SCC運行。請注意,如果您未在pod定義中明確指定其他服務帳戶,它可能會影響項目中的所有pod運行。

+0

注意,只有在您是羣集管理員時才能完成此操作。如果您只是項目管理員,則無法完成。這意味着您不能在OpenShift Online上執行此操作,因爲您不是羣集管理員。如果您遇到需要以根用戶身份運行的圖片,則應鼓勵圖片的作者不要求使用root,而應將圖片設置爲與任何容器部署系統(不僅限於OpenShift)中的任何用戶ID一樣運行,安全性不會允許東西以root身份運行。 –

+0

你對,@ expuser111明確提到了Openshift Origin。也許更好的方法是構建自己的圖像,避免使用root。 –