Kubernetes: RCおよびポッドでポッドを指定するずきのlog-driverおよびlog-optの定矩

䜜成日 2015幎10月12日  Â·  117コメント  Â·  ゜ヌス: kubernetes/kubernetes

RCおよびポッドでポッド定矩を指定する堎合は、次のオプションを定矩できる必芁がありたす。

--log-driver =コンテナのロギングドラむバ
--log-opt = []ログドラむバヌオプション

これらのオプションはコンテナレベルで蚭定可胜であり、Docker1.8で導入されおいたす。

docker client libは䞡方のオプションをサポヌトしおいるため、ポッド定矩にこれらのオプションを远加するこずもできたす。

areapi arelogging kinfeature lifecyclrotten needs-triage sinode

最も参考になるコメント

やあ、
これは、kubernetesで考慮すべき重芁な機胜だず思いたす。
Dockerのログドラむバヌの䜿甚を有効にするず、いく぀かの重芁な問題を解決できたす。

ディスクぞのログ蚘録はアンチパタヌンだず思いたす。 ログは本質的に「状態」であり、ディスクに保存しないこずが望たしいです。 ログをコンテナからリポゞトリに盎接転送するず、倚くの問題が解決したす。

ログドラむバヌを蚭定するず、kubectllogsコマンドは䜕も衚瀺できなくなりたす。
この機胜は「䟿利」ですが、ログが別の゜ヌスから入手できる堎合は、この機胜は必芁ありたせん。

Dockerには、Google CloudgcplogsずAmazonawslogs甚のログドラむバヌがすでにありたす。 Dockerデヌモン自䜓に蚭定するこずは可胜ですが、倚くの欠点がありたす。 2぀のDockerオプションを蚭定できるこずにより

--log-driver =コンテナのロギングドラむバ
--log-opt = []ログドラむバヌオプション

ラベルgcplogsの堎合たたはawslogs-groupawslogsの堎合を䞀緒に送信するこずが可胜です。
ポッドに固有です。 そうすれば、もう䞀方の端でログを簡単に芋぀けるこずができたす。

人々がkubernetesでログをどのように凊理しおいるかに぀いお読んでいたす。 倚くの人が、ログを䞭倮システムに転送する粟巧なスクレヌパヌを蚭定しおいるようです。 ログドラむバヌを蚭定できるず、それが䞍芁になりたす-より興味深いこずに取り組むための時間を解攟したす:)

党おのコメント117件

/ cc @ kubernetes / rh-クラスタヌ-むンフラ

うヌん、おそらくこれをクラスタヌ党䜓をデフォルトずしお蚭定し、特定のポッド定矩をオヌバヌラむドできるようにしたいず思うでしょう。

cc @sosiouxme @smarterclayton @liggitt @jwhonce @jcantrill @bparees @jwforres

コンテナごずにこれをどのように掻甚するかナヌスケヌスを説明できたすか 埓来、Docker固有のオプションは、ランタむム間で明確に抜象化できない限り、コンテナヌで盎接公開しおいたせん。 これをどのように䜿甚したいかを知るこずは、それを正圓化するのに圹立ちたす。

dockerログはただjson-fileずjournaldドラむバヌのみをサポヌトしおいるこずに泚意しおください。ただし、リストは拡匵される可胜性があるず思いたす。

おそらく、ナヌザヌが実際に望んでいるのは、ログドラむバヌの詳现に觊れるこずではなく、定矩されたログ曞き蟌み゚ンドポむントの遞択です。

@ncdc @smarterclayton内郚でのナヌスケヌスを再怜蚎した埌、私はあなたの䞡方に同意したす。

  1. 私たちの䞻な必芁性は、ノヌドを保護するこずです。 ログをログサヌバヌに送信したすが、倱敗した堎合は、Docker内郚ログにフォヌルバックしたす。 このような堎合、ノヌドの飜和を防ぐために、Dockerログのクラスタヌ党䜓の動䜜が必芁です。
  2. @smarterclaytonが提案したように、pod / Rc定矩で特定のDockerオプションを公開するこずはお勧めできたせん。 たた、可胜であれば高レベルのログ動䜜の定矩を可胜にする抜象化にも同意したす
  3. もう1぀のオプションは、このようなログの動䜜を凊理するためにkubelet構成ファむルずコヌドを倉曎するこずです。

これをデフォルトにするためのsaltテンプレヌトぞの倉曎はすべきではありたせん
ひどく難しい。 それは本圓に適切なデヌモン構成ですそしお
のおかげでfluentdを介しおログ集玄ぞの倉曎を凊理する
別の゜ヌスを遞択する

10:55で火、2015幎10月13日には、゚ポJemba [email protected]
曞きたした

@ncdc https://github.com/ncdc @smarterclayton
https://github.com/smarterclayton埌、私はあなたの䞡方に同意したす
内郚でのナヌスケヌスを再怜蚎するず、

  1. 私たちの䞻な必芁性は、ノヌドを保護するこずです。 ログをログに送信したす
    サヌバヌですが、倱敗した堎合は、Dockerの内郚ログにフォヌルバックを蚘録したす。 そのような䞭で
    堎合、ノヌドの飜和を防ぐために、クラスタヌ党䜓の動䜜が必芁です。
    Dockerログ
  2. ポッド/ Rc定矩で特定のDockerオプションを公開するこずは
    @smarterclaytonずしおの良いアむデアhttps://github.com/smarterclayton
    それを提案した。 たた、高の定矩を可胜にする抜象化にも同意したす
    可胜であればレベルログの動䜜
  3. 別のオプションは、kubelet構成ファむルに倉曎を加えるこずです。
    このようなログの動䜜を凊理するコヌド

—
このメヌルに盎接返信するか、GitHubで衚瀺しおください
https://github.com/kubernetes/kubernetes/issues/15478#issuecomment -147740136
。

いいぞ

珟圚、 9぀のロギングドラむバがあるこずに泚意しおください。 これを取り入れるこずに぀いおのコンセンサスは䜕ですか

+1

誰もが気付いおいない堎合は、Dockerデヌモンぞのフラグ --log-driver を䜿甚しお、ノヌドごずにデフォルトのログドラむバヌを定矩できたす。 私の環境では、この方法でドラむバヌをjournaldに蚭定したした。 正盎に蚀うず、コンテナごずにこれをオヌバヌラむドするためのナヌスケヌスを考えるのに苊劎しおいたす。

ほずんどのクラスタリングでは、ログが「垯域倖」になるこずを望たないため、これによっお提䟛される機胜の有効化ずは䜕ですか。

たた、運甚の芳点からは、制埡が倱われおいるように芋えたす。 珟圚、デフォルトを蚭定し、ログスタックを集玄するように構成しおいたす。

これに+1。
Dockerロギングの凊理方法を制埡できないずいうこずは、正しいロギングオプションがk8sに付属のツヌルを䜿甚するこずだけであるこずを意味したす。これは信じられないほどの制限です。

@timothyscここで私たちのナヌスケヌス。 耇雑な動的むンフラストラクチャ最倧100台のマシンがあり、倚くの既存のサヌビスが実行されおおり、ログを収集するための独自のlogstashがありたす。 珟圚、サヌビスを1぀ず぀k8sに移行しようずしおいたすが、既存のむンフラストラクチャずk8sにクラスタヌ化されたコンテナヌの間でロギングを統合するクリヌンな方法はないようです。

K8Sは、ログの収集方法に぀いお非垞に意芋が分かれおいたす。 これは、単玔なむンフラストラクチャでれロから始める人にずっおは玠晎らしいこずかもしれたせん。 深く掘り䞋げおカスタムロギングメカニズムを実装するこずを気にしない耇雑なむンフラストラクチャに取り組んでいる他のすべおの人にずっお、珟時点ではそれを行う方法がないため、非垞にむラむラしたす。

うたくいけば、それは理にかなっおいたす。

したがっお、シナリオでは、ログは本圓に「アプリケヌションごず」ですが、
基盀ずなるホストがこれらのログをサポヌトしおいるこずを確認したすか それが私たちの懞念です
ここで説明したす-クラスタヌレベルたたはノヌドレベルのいずれかを実行したすが、実行する堎合
ポッドレベルの堎合、スケゞュヌラはどのログドラむバを認識しおいる必芁がありたす
どこに存圚したす。 可胜な限りそれを避けようずしたす。

2016幎5月23日月曜日午前10時50分、Jacopo Nardiello < [email protected]

曞きたした

これに+1。
Dockerロギングの凊理方法を制埡できないずいうこずは、
正しいロギングオプションは、k8sに付属のツヌルを䜿甚するこずだけです。
信じられないほどの制限。

@timothyschttps //github.com/timothyscここに私たちのナヌスケヌスがありたす。 私たちは
倚くの既存の耇雑な動的むンフラストラクチャ玄100台のマシン
ログを収集するための独自のlogstashを䜿甚しお、それらで実行されおいるサヌビス。 さお、私たちは
珟圚、サヌビスを1぀ず぀k8sに移動し、そこで私に移動しようずしおいたす。
既存のログを統合するためのクリヌンな方法ではないようです
k8にクラスタヌ化されたむンフラストラクチャずコンテナ。

K8Sは、ログの収集方法に぀いお非垞に意芋が分かれおいたす。 これは玠晎らしいかもしれたせん
シンプルなむンフラストラクチャでれロから始める人のために。 にずっお
気にしない耇雑なむンフラストラクチャに取り組んでいる他のすべおの人
深く掘り䞋げお、カスタムロギングメカニズムを実装するために、単にありたせん
珟時点でそれを行う方法は、非垞にむラむラしたす。

うたくいけば、それは理にかなっおいたす。

—
あなたが蚀及されたのであなたはこれを受け取っおいたす。
このメヌルに盎接返信するか、GitHubで衚瀺しおください
https://github.com/kubernetes/kubernetes/issues/15478#issuecomment -221002545

@smarterclayton私はあなたの懞念に぀いお理解しおいたす、そしお圌らはうたく配眮されおいたす。 クラスタヌ党䜓がポッドレベルのログの存圚を認識しおいる必芁があるかどうかはわかりたせんが、ポッドstdout / stderrをどこかにログに蚘録するオプション珟圚のポッド名に基づくファむルを提䟛する必芁があるず思いたす。そのため、カスタム゜リュヌションを実装する意思のある人は誰でも、コンテンツを取埗するための氞続的な堎所を確保できたす。 ログロヌテヌションは簡単ではないので、これは巚倧な章を開きたす。

これらは私の2セントですが、実際の耇雑なシナリオが既存のロギングむンフラストラクチャを攟棄するだけのふりをするこずはできたせん。

アプリケヌションごずにカスタムログオプションを指定しおいたすか いく぀違う
クラスタごずにログオプションのセットがありたすか の小さなセットがある堎合
config、オプションはポッド䞊の泚釈をサポヌトするこずです
倚数の「暙準ログ」を提䟛するノヌドレベルの構成に関連付けられおいたす
オプション」。぀たり、kubeletの起動時に、「ログモヌドX」を定矩したすこれは、
カスタムログオプションずドラむバヌ、ポッドは「
pod.alpha.kubernetes.io/log.mode=X "。

さらに別のオプションは、デプロむダヌに
開始する盎前にコンテナ定矩を倉曎する機䌚
コンテナ。 今日はシリアル化する必芁があるため、これは困難です。
docker def outを䞭間圢匏に倉換しお実行し、実行したす
繰り返したすが、将来的にはもっず簡単になる可胜性がありたす。

最埌に、コンテナむンタヌフェむスでキヌず倀のペアを公開できたす。
コンテナ゚ンゞンに盎接枡され、APIの保蚌はありたせん
それらを確認し、PodSecurityPolicyがこれらのオプションを芏制できるようにしたす。 それは
発信者の゚スケヌプハッチになりたすが、提䟛するこずはできたせん
それらがリリヌス間で匕き続き機胜するこずを保蚌したす。

534 AMに朚、2016幎5月26日には、ダコポNardiello [email protected]
曞きたした

@smarterclaytonhttps //github.com/smarterclayton私は理解しおいたす
あなたの懞念ず圌らはうたく配眮されおいたす。 クラスタヌ党䜓かどうかはわかりたせん
ポッドレベルのロギングの存圚を認識しおいる必芁がありたす。
ポッドstdout / stderrをどこかにログに蚘録するオプションを提䟛する必芁がありたすファむル
珟圚のポッド名に基づいおいたすか
カスタム゜リュヌションは、コンテンツを取埗するための氞続的な堎所がありたす。
ログロヌテヌションは簡単ではないので、これは巚倧な章を開きたす。

これらは私の2セントですが、その珟実䞖界の耇合䜓のふりをするこずはできたせん
シナリオは、既存のロギングむンフラストラクチャを攟棄するだけです。

—
あなたが蚀及されたのであなたはこれを受け取っおいたす。
このメヌルに盎接返信するか、GitHubで衚瀺しおください
https://github.com/kubernetes/kubernetes/issues/15478#issuecomment -221823732

@smarterclaytonはhttps://github.com/kubernetes/kubernetes/issues/24677#issuecomment-220735829を芋たこずがあり

結構です。 そこに議論を移したす。

11:23の朚、2016幎5月26日には、アンディ・ゎヌルドスタむン[email protected]
曞きたした

@smarterclayton https://github.com/smarterclayton芋たこずがありたすか24677
コメント
https://github.com/kubernetes/kubernetes/issues/24677#issuecomment -220735829

—
あなたが蚀及されたのであなたはこれを受け取っおいたす。
このメヌルに盎接返信するか、GitHubで衚瀺しおください
https://github.com/kubernetes/kubernetes/issues/15478#issuecomment -221903781

やあ、
これは、kubernetesで考慮すべき重芁な機胜だず思いたす。
Dockerのログドラむバヌの䜿甚を有効にするず、いく぀かの重芁な問題を解決できたす。

ディスクぞのログ蚘録はアンチパタヌンだず思いたす。 ログは本質的に「状態」であり、ディスクに保存しないこずが望たしいです。 ログをコンテナからリポゞトリに盎接転送するず、倚くの問題が解決したす。

ログドラむバヌを蚭定するず、kubectllogsコマンドは䜕も衚瀺できなくなりたす。
この機胜は「䟿利」ですが、ログが別の゜ヌスから入手できる堎合は、この機胜は必芁ありたせん。

Dockerには、Google CloudgcplogsずAmazonawslogs甚のログドラむバヌがすでにありたす。 Dockerデヌモン自䜓に蚭定するこずは可胜ですが、倚くの欠点がありたす。 2぀のDockerオプションを蚭定できるこずにより

--log-driver =コンテナのロギングドラむバ
--log-opt = []ログドラむバヌオプション

ラベルgcplogsの堎合たたはawslogs-groupawslogsの堎合を䞀緒に送信するこずが可胜です。
ポッドに固有です。 そうすれば、もう䞀方の端でログを簡単に芋぀けるこずができたす。

人々がkubernetesでログをどのように凊理しおいるかに぀いお読んでいたす。 倚くの人が、ログを䞭倮システムに転送する粟巧なスクレヌパヌを蚭定しおいるようです。 ログドラむバヌを蚭定できるず、それが䞍芁になりたす-より興味深いこずに取り組むための時間を解攟したす:)

たた、私を含む䞀郚の人々は、ホストでlogrotateを蚭定する代わりに、JSONロギングドラむバヌdockerにネむティブで '--log-optmax-size'オプションを䜿甚しおdockerログロヌテヌションを実行したいず考えおいたす。 したがっお、「-log-opt」オプションだけを公開するこずも倧歓迎です。

コンテナ構成LogConfigを䜜成するずきに、k8sを倉曎したした。

+1
Dockerログドラむバヌを䜿甚しお䞀元化されたログ収集を行うず、ログファむルのシンボリックリンクを䜜成し、それらを特別なfluentdコンテナヌにマりントし、それらを調敎し、ログロヌテヌションを管理するよりもはるかに簡単に芋えたす。

コンテナヌごずの構成のナヌスケヌスデプロむするコンテナヌに぀いお他の堎所たたは別の方法でログを蚘録したいのですが、Kubernetesの実行に必芁な暙準コンテナヌのログドラむバヌを気にしたせんたたは倉曎したい。

そこに行きたす。 これを実珟させおください。

もう1぀のアむデアは、すべおのコンテナヌが匕き続きログを同じ゚ンドポむントに転送するが、ログサヌバヌ䞊の少なくずも異なるフィヌルド倀を蚭定できるずいうものです。

これは、Kubernetesによっお䜜成されたDockerコンテナヌにカスタムラベルが付けられおいるこずを確認できれば、gelfdockerドラむバヌで機胜したす。 意味ポッドフィヌルドの䞀郚は、Dockerコンテナラベルずしお転送される可胜性がありたす。 倚分これはすでに可胜ですが、私はそれを達成する方法がわかりたせん。

Kubernetesを䜿甚せず、dockerデヌモンずgelfドラむバヌのみを䜿甚した䟋。 Dockerデヌモンを--log-driver=gelf --log-opt labels=env,label2で構成し、Dockerコンテナヌを䜜成したす。

docker run -dti --label env=testing --label label2=some_value alpine:3.4 /bin/sh -c "while true; do date; sleep 2; done"

および別のDockerコンテナ

docker run -dti --label env=production --label label2=some_value alpine:3.4 /bin/sh -c "while true; do date; sleep 2; done"

このように、Graylogでは、 env=production env=testingコンテナず

珟圚、私はそのようなdockerデヌモンオプションを䜿甚しおいたす

--log-driver=gelf --log-opt gelf-address=udp://graylog.example.com:12201 --log-opt tag=k8s-testing --log-opt labels=io.kubernetes.pod.namespace,io.kubernetes.container.name,io.kubernetes.pod.name

@xmik 、それが既存の機胜たたはあなたの提案であるこずを確認するために

珟圚、私はそのようなdockerデヌモンオプションを䜿甚しおいたす

--log-driver=gelf --log-opt gelf-address=udp://graylog.example.com:12201 --log-opt tag=k8s-testing --log-opt labels=io.kubernetes.pod.namespace,io.kubernetes.container.name,io.kubernetes.pod.name

私が珟圚䜿甚しおいるDockerデヌモンオプションは、すでに機胜しおいたす。 Kubernetesは、Dockerコンテナごずにすでにいく぀かのラベルを蚭定しおいたす。 たずえば、kube-apiserverコンテナでdocker inspectを実行する堎合

 "Labels": {
   "io.kubernetes.container.hash": "4959a3f5",
   "io.kubernetes.container.name": "kube-apiserver",
   "io.kubernetes.container.ports": "[{\"name\":\"https\",\"hostPort\":6443,\"containerPort\":6443,\"protocol\":\"TCP\"},{\"name\":\"local\",\"hostPort\":8080,\"containerPort\":8080,\"protocol\":\"TCP\"}]",
   "io.kubernetes.container.restartCount": "1",
   "io.kubernetes.container.terminationMessagePath": "/dev/termination-log",
   "io.kubernetes.pod.name": "kube-apiserver-k8s-production-master-1",
   "io.kubernetes.pod.namespace": "kube-system",
   "io.kubernetes.pod.terminationGracePeriod": "30",
   "io.kubernetes.pod.uid": "a47396d9dae12c81350569f56aea562e"
}

したがっお、これらのDockerデヌモンオプションは機胜したす。

ただし、ポッドの仕様に基づいお、KubernetesにDockerコンテナにカスタムラベルを蚭定させるこずは珟圚䞍可胜だず思いたす。 したがっお、たずえば--log-driver=gelf --log-opt labels=env,label2は機胜したせん。

この面で䜕かニュヌスはありたすか ラベルを指定しお--log-opt labels<>する機胜があるず、かなり良いでしょう。

@portante @jcantrillこれに぀いお説明したので、ここでキャプチャするために、これが圹立぀ず考えおいたナヌスケヌスを次に瀺したす。

ログ蚘録ポッドが゚ラヌの怜出ずログ蚘録を開始するず、それらの゚ラヌを収集するむンフラストラクチャがそれらを取埗しお蚘録メカニズムにフィヌドバックし、蚘録メカニズムがさらに゚ラヌをスロヌしおログに蚘録したす。

このフィヌドバックルヌプは、フィルタリングメカニズムを䜿甚するこずで回避できたすが、少し脆匱です。 別のログドラむバヌを䜿甚しおファむルに蚘録し、ロヌテヌションオプションを蚭定するこずは、良い解決策のようです。

私の2セント。

k8s内でのロギングに察する珟圚の゜リュヌションは次のずおりですAFAIK

  • どこかにログを送信するサむドカヌコンテナ
  • すべおのログをどこかに送信するレプリケヌションコントロヌラヌ
  • コンテナ自䜓がログをどこかに送信したす

サむドカヌコンテナは私にはちょっずやり過ぎのようです。 レプリケヌションコントロヌラヌの戊略は良いように芋えたすが、すべおのデプロむメントからのコンテナヌのログが混圚しおいるため、䞀郚のナヌザヌはそれを必芁ずし、代わりに各アプリを別のものにログに蚘録したい堎合がありたす。 この堎合、最埌のオプションはIMHOで最適に機胜したすが、すべおのコンテナヌに耇補された倚くのコヌドを䜜成したす䟋logentriesデヌモンのむンストヌルずセットアップ。

log-driverフラグにアクセスできれば、これはすべおはるかに簡単になるため、各デプロむメントは、Dockerのネむティブ機胜を䜿甚しおログに蚘録する方法を定矩したす。

私はそれを実装しようず詊みるこずができたすが、おそらくいく぀かの助けが必芁になりたす-私はkubernetesコヌドベヌスに粟通しおいないので。

マルチテナンシヌが重芁になるず、適切に解決するのが難しくなりたす。

各名前空間は異なるテナントである可胜性があるため、それぞれのログは必ずしも集玄される必芁はありたせんが、テナントが指定した堎所に送信できるようにする必芁がありたす。

私はこれを行ういく぀かの方法を考えるこずができたす

  1. 新しいボリュヌムタむプcontainer-logsを䜜成したす。 これにより、特定の名前空間によっお起動されたデヌモンセットが、独自のコンテナからログのみにアクセスできるようになりたす。 次に、遞択したログシッパヌを䜿甚しお、遞択したストレヌゞデヌモンにログを送信できたす。
  2. fluentd-bitなどの1぀たたは耇数のログシッパヌを倉曎しお、ポッドが含たれる名前空間を読み取り、各ポッドから、その名前空間でサヌビスずしお実行されおいる別のログシッパヌにログをリダむレクトしたす。 fluentdなど。 これにより、名前空間は、サポヌトしたいログバック゚ンドにプッシュするように独自のログシッパヌを構成できたす。

@ caarlos0 @ kfox1111私はあなたの意芋に同意したす。 これは、むンストルメンテヌション、ストレヌゞ、ノヌド、さらにはさらに倚くのチヌムの調敎が必芁になるため、耇雑なトピックです。 最初に党䜓的なログアヌキテクチャの提案を提瀺しおから、この䞀貫したビュヌぞの倉曎に぀いお説明するこずをお勧めしたす。 私は、この提案が1か月かそこらで珟れ、秩序をもたらし、蚀及されたすべおの問題を理解するこずを期埅しおいたす。

@crassirostris理解できたせん。 log-driver蚱可するだけであれば、ストレヌゞなどを凊理する必芁はありたせん。

Dockerは、コンテナベヌスで蚭定されおいるログドラむバにSTDOUTを送信するだけですか 私たちは責任をコンテナに移したす...私には非垞に単玔な解決策のように思えたす-しかし、私が蚀ったように、私はコヌドベヌスを知らないので、倚分私は単に間違っおいたす...

問題は、dockerのログドラむバヌがk8sメタデヌタを远加しないため、埌でログを䜿甚するこずが実際に圹立぀こずです。 /

@ kfox1111うヌん、理にかなっおいたす...

しかし、ナヌザヌが「アプリケヌション」ログのみを必芁ずし、kubernetesログではなく、dockerログではなく、コンテナヌログ内で実行されおいるアプリのみを必芁ずする堎合はどうでしょうか。

その堎合、私には、 log-driverが機胜するようです...

@ caarlos0これにはいく぀かの圱響がある堎合がありたす。たずえば、kubeletは、サヌバヌkubectlログぞのログ圢匏に぀いおいく぀かの仮定を行いたす。

しかし、すべおを陀けば、 log-driver自䜓はDocker固有であり、他のランタむムでは機胜しない可胜性がありたす。これが、APIに含めない䞻な理由です。

理にかなっおいる

この機胜は問題で説明されおいるように远加されないので、おそらくこの問題を閉じるたたは線集するなど必芁がありたすか

@ caarlos0ただし、ロギングの蚭定をより柔軟で透過的にしたいず考えおいたす。 提案に察するフィヌドバックをお埅ちしおおりたす。

コンテナからのstdoutロギングは珟圚、Kubernetes内で垯域倖で凊理されおいたす。 珟圚、ロギングを凊理するために非Kubernetes゜リュヌション、たたは垯域倖ロギングにアクセスするためにKubernetesをゞェむルブレむクする特暩コンテナに䟝存しおいたす。 コンテナヌのランタむムロギングはランタむムdocker、rkt、Windowsごずに異なるため、Docker --log-driverのようにいずれかを遞択するず、将来の手荷物が䜜成されたす。

ログストリヌムを垯域内に戻すには、kubeletが必芁であるこずをお勧めしたす。 最小限のJSONたたはXMLログ圢匏を定矩たたは遞択したす。これにより、各コンテナヌからstdout行が収集され、最小限のクラスタヌ+名前空間+ポッド+コンテナヌメタデヌタが远加されたす。これにより、ログ゜ヌスがKubernetesスペヌス内で識別され、ストリヌムがKubernetes Service +に転送されたす。枯。 ナヌザヌは、奜きなログ消費サヌビスを自由に提䟛できたす。 たぶん、Kubernetesは「kubectllogs」サポヌトを実装する1぀のリファレンス/デフォルトサヌビスを提䟛したす。

ロギング消費サヌビスが指定されおいない堎合、ディスクにたったくヒットしたせん。 ログを他の堎所にストリヌミングしたり、氞続ストレヌゞに曞き蟌んでロヌテヌションしたりするこずは、サヌビスの責任/決定です。

kubeletコンテナランタむムラッパヌは、最小限の凊理で各コンテナランタむムからstdoutを抜出し、k8sセルフホストサヌビスが消費しお凊理できるように垯域内に戻したす。

DeploymentたたはPodのコンテナ仕様では、オプションで、stdoutロギングのタヌゲットサヌビスずポヌトを指定したす。 cluster + namespace + pod + containerのk8sメタデヌタの远加はオプションですしたがっお、raw / untouchedたたはメタデヌタ付きの遞択。 ナヌザヌは、すべおのログを1぀の堎所に自由に集玄したり、テナント、名前空間、たたはアプリケヌションごずに集玄したりできたす。

これに最も近いのは、「kubectl logs -f」を䜿甚しお、APIサヌバヌを介しお各コンテナヌのコンテナヌログをストリヌミングするサヌビスを実行するこずです。 それはあたり効率的でもスケヌラブルでもないようです。 この提案により、コンテナヌランタむムラッパヌからサヌビスたたはポッドぞの盎接のより効率的な盎接スチヌミングが可胜になり、同じノヌドでのデプロむメントたたはデヌモンセットポッドのロギングを優先し、コンテナヌがログを生成するなどの最適化が可胜になりたす。

Kubernetesは、Kubernetesスペヌス内で䜜成するセルフホスト、同皮、たたは異皮のログ゜リュヌションに察しお、コンテナのランタむムログを効率的にむンバンドにするために最小限のこずを行う必芁があるこずを提案しおいたす。

人々はどう思いたすか

@whereisaaronロギング゚コシステムに関するすべおの詳现が䞀か所にないので、今はこの議論をしたくありたせん。

たずえば、ネットワヌクずマシンの問題によっおログフロヌが䞭断されおいるのがわかりたすが、繰り返しになりたすが、ただ説明したくありたせん。 埌で提案の準備ができたら、これに぀いお話し合うのはどうですか それはあなたにずっお合理的だず思いたすか

確かに@crassirostris。 提案をチェックアりトする準備ができたら、ここでお知らせください。

/ sigスケヌラビリティ

--log-driverず--log-optはどちらもDockerデヌモンのオプションであり、k8s機胜ではありたせんが、k8sポッド仕様で次のように指定するず䟿利です。

  1. 単䞀のノヌドレベルのログドラむバヌではなく、ポッドごずのログドラむバヌ
  2. 同じノヌド䞊のさたざたなタむプのアプリ固有のログドラむバヌfluentd、syslog、journald、splunk
  3. --log-optを蚭定しお、ポッドのログロヌテヌションを構成したす
  4. ポッドごずの--log-opt蚭定であり、単䞀のノヌドレベルの--log-optありたせん

AFAIK、今日のk8sポッド仕様では䞊蚘のいずれもポッドレベルで蚭定できたせん。

@vhosakot䞊蚘のいずれも、Kubernetesの抂念ではないため、Kubernetesのどのレベルでも蚭定できたせん。

@crassirostris正確に :)

Dockerがポッドレベル/コンテナレベルで行うすべおのこずをk8sが実行する堎合、ナヌザヌにずっおは簡単ではないでしょうか。 ポッドレベル/コンテナレベルのものがほずんどないために、ナヌザヌにDockerをたったく䜿甚させないのはなぜですか

そしお、Dockerファンではなくk8s愛奜家が同じ質問をするかもしれたせん。

@vhosakot Pointは、K8で䜿甚できるコンテナランタむムは他にもたくさんありたすが、 --log-optはDockerにのみ存圚したす。 K8sレベルでこのようなオプションを䜜成するず、意図的に抜象化がリヌクされたす。 これが私たちの行きたい方法ではないず思いたす。 オプションが存圚する堎合、それはすべおのコンテナランタむムでサポヌトされおいる必芁があり、理想的にはCRIの䞀郚である必芁がありたす

そのようなオプションがないず蚀っおいるのではなく、Dockerぞの盎接ルヌトではないず蚀っおいたす

@crassirostris確かに、Docker固有ではなく、ポッドレベル/コンテナレベルでCRIが実行/蚱可するこずをk8sが実行する必芁があるかどうかにかかっおいるようです。

うん、絶察に正しい

私はこの議論に遅れおおり、この機胜が実装されおいるのを芋るこずに興味がありたすが、きれいなデザむンを持぀こずず、正気で均䞀なロギング゜リュヌションを蚭定する簡単な方法を持぀こずの間にはトレヌドオフがあるず䞻匵したすクラスタヌ甚。 はい、この機胜を実装するず、Dockerの内郚が公開されたすが、これは倧したこずではありたせんが、同時に、K8Sナヌザヌの倧倚数がDockerを基盀ずなるコンテナ技術ずしお䜿甚しおおり、Dockerには非垞に包括的なリストが付属しおいたす。ログドラむバの。

@ gabriel-tincu私は珟圚、元のFRが問題を起こす䟡倀があるずは確信しおいたせん

dockerには、ログドラむバヌの非垞に包括的なリストが付属しおいたす

K8sのデプロむ手順䞭にDockerレベルでログを蚭定し、この情報をK8sにリヌクするこずなく、これらのログドラむバヌのいずれかを䜿甚できたす。 今日できない唯䞀のこずは、コンテナごず/ポッドごずにこれらのオプションを蚭定するこずです実際には、専甚ノヌドを䜿甚しお蚭定し、ノヌドセレクタを䜿甚できたすが、それが倧きな制限であるかどうかはわかりたせん。

@crassirostris __before__環境をセットアップする前にセットアップできるこずに同意したすが、環境がすでにセットアップされた埌でDockerログドラむバヌをアクティブに曎新する方法がある堎合は、珟時点ではわかりたせん。

@ gabriel-tincu @vhosakot > = 1.5の「昔」にk8sずDockerの間に存圚しおいた盎接むンタヌフェヌスは非掚奚になり、コヌドは完党に削陀されたず思いたす。 kubeletずDockerたたはrkt、cri-o、runc、lxdなどの他のもののようなランタむムの間のすべおがCRIを通過したす。 珟圚、倚くのコンテナランタむムがあり、Docker自䜓は非掚奚になり、 cri-containerd + containerdを優先しお間もなく削陀される可胜性がありたす。

http://blog.kubernetes.io/2017/11/containerd-container-runtime-options-kubernetes.html

image

@crassirostris提案に関する動きはありたすかそれは垯域内コンテナロギングの可胜性があるかもしれたせんか

CRIコンテナログはファむルベヌスhttps://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/kubelet-cri-logging.mdであり、ログパスは明瀺的に定矩されおいたす。

/var/log/pods/PodUID/ContainerName/RestartCount.log

ほずんどのdockerロギングドラむバヌhttps://docs.docker.com/config/containers/logging/configure/#supported-logging-driversでは、クラスタヌ環境で最も重芁なのは、コンテナヌログをクラスタヌに取り蟌むドラむバヌです。 splunk 、 awslogs 、 gcplogsなどのロギング管理システム。

CRIの堎合、「dockerlogdriver」は䜿甚しないでください。 デヌモンセットを実行しお、CRIコンテナログディレクトリから必芁な堎所にコンテナログを取り蟌むこずができたす。 圌らはfluentdを䜿甚したり、自分でデヌモンセットを䜜成したりするこずもできたす。

さらにメタデヌタが必芁な堎合は、メタデヌタファむルを削陀するか、ファむルパスを拡匵するか、デヌモンセットにapiserverからメタデヌタを取埗させるこずを怜蚎できたす。 このhttps://github.com/kubernetes/kubernetes/issues/58638に぀いお進行䞭の議論があり

90日間操䜜がないず、問題は叀くなりたす。
/remove-lifecycle staleしお、問題を新芏ずしおマヌクしたす。
叀い問題は、さらに30日間非アクティブになるず腐敗し、最終的には閉じたす。

この問題を今すぐ解決できる堎合は、 /close 。

SIG-テスト、kubernetes /テスト・むンフラおよび/たたはぞのフィヌドバックを送信fejta 。
/ lifecycle stale

叀くなった問題は、30日間操䜜がないず腐敗したす。
/remove-lifecycle rottenしお、問題を新芏ずしおマヌクしたす。
腐った問題は、さらに30日間操䜜がないず終了したす。

この問題を今すぐ解決できる堎合は、 /close 。

SIG-テスト、kubernetes /テスト・むンフラおよび/たたはぞのフィヌドバックを送信fejta 。
/ラむフサむクル腐敗
/ remove-lifecyclestale

/ remove-lifecycle rotten

これに関する曎新はありたすか では、Dockerコンテナでk8sを実行しおいる人は、AWSCloudWatchなどのバック゚ンドぞのロギングをどのように解決したのでしょうか。

@ bryan831 fluentdなどを䜿甚しおk8sコンテナのログファむルを収集し、それらをバック゚ンド、CloudWatch、StackDriver、Elastisearchなどの遞択したものに集玄するのが䞀般的です。

既補のHelmチャヌトがありたす。たずえば、 fluentd + CloudWatch 、 fluentd + Elastisearch 、 fluent-bit-> fluentd->お奜み、 Datadog 、その他の組み合わせなどです。

90日間操䜜がないず、問題は叀くなりたす。
/remove-lifecycle staleしお、問題を新芏ずしおマヌクしたす。
叀い問題は、さらに30日間非アクティブになるず腐敗し、最終的には閉じたす。

この問題を今すぐ解決できる堎合は、 /close 。

SIG-テスト、kubernetes /テスト・むンフラおよび/たたはぞのフィヌドバックを送信fejta 。
/ lifecycle stale

Docker--log-optオプションをカスタマむズできるず䟿利です。 私の堎合、「-log-opt tag = "{{。ImageName}}/{{。Name}}/{{。ID}}"」などのタグを䜿甚しお、ImageNameをログに出力したいず思いたす。これにより、どのコンテナバヌゞョンがログからのものであるかがわかりたす。 参照https//docs.docker.com/config/containers/logging/log_tags/

/ remove-lifecyclestale

@ pmahalwar-intertrust同じ--log-optをdockerデヌモンに枡すこずができたす。これは、すべおのコンテナヌに圱響したす...

@ pmahalwar-kubernetesによっおcontainerdから収集されたログには、すでに広範なメタデヌタが含たれおおり、コンテナに適甚したラベルが含たれおいたす。 fluentd収集するず、たずえば以䞋のログ゚ントリのように、すべおのメタデヌタを取埗できたす。

{
    "log": " - [] - - [25/Oct/2018:06:29:48 +0000] \"GET /nginx_status/format/json HTTP/1.1\" 200 9250 \"-\" \"Go-http-client/1.1\" 118 0.000 [internal] - - - - 5eb73997a372badcb4e3d993ceb44cd9\n",
    "stream": "stdout",
    "docker": {
        "container_id": "3657e1d9a86e629d0dccefec0c3c7624eaf0c4a11f60f53c5045ec0839c37f06"
    },
    "kubernetes": {
        "container_name": "nginx-ingress-controller",
        "namespace_name": "ingress",
        "pod_name": "nginx-ingress-dev-controller-69c644f7f5-vs8vw",
        "pod_id": "53514ad6-d0f4-11e8-a04c-02c433fc5820",
        "labels": {
            "app": "nginx-ingress",
            "component": "controller",
            "pod-template-hash": "2572009391",
            "release": "nginx-ingress-dev"
        },
        "host": "ip-172-29-21-204.us-east-2.compute.internal",
        "master_url": "https://10.3.0.1:443/api",
        "namespace_id": "e262510b-180a-11e8-b763-0a0386e3402c"
    },
    "kubehost": "ip-172-29-21-204.us-east-2.compute.internal"
}

これらの機胜をサポヌトする蚈画はただありたせんか
--log-driver =コンテナのロギングドラむバ
--log-opt = []ログドラむバヌオプション

こんにちは@lifubang誰の蚈画にも話すこずはできたせんが、これらの機胜をサポヌトしおいたデヌモンdockerdはKubernetesの䞀郚ではなくなりたした䞊蚘の説明を参照しおください。

必芁に応じおオプションでむンストヌルできるため、叀いdockerdログドラむバヌを䜿甚するためにむンストヌルできる堎合がありたす。 そのオプションに぀いおは、ここで説明したす。
https://kubernetes.io/blog/2018/05/24/kubernetes-containerd-integration-goes-ga/

ただし、 fluentdなどの専甚のログサヌビスを䜿甚するこずをお勧めしたす。 クラスタヌ甚にグロヌバルにデプロむするこずも、サむドカヌずしおポッドごずにデプロむするこずもできたす。 Kubernetesぞのログむンに぀いおここで説明したす。
https://kubernetes.io/docs/concepts/cluster-administration/logging/

@whereisaaronで説明されおいるようにfluentdを匷くお勧めしたす

この機胜リク゚ストが凊理されおいる限り、kubernetesアヌキテクチャロヌドマップでは、実際にはkubernetesの「䞀郚」ではないものの「゚コシステム」セクションにログが蚘録されおいるため、このような機胜がネむティブでサポヌトされるこずはないず思いたす。
https://github.com/kubernetes/community/blob/master/contributors/devel/architectural-roadmap.md#summarytldr

fluentdにはいく぀かのバグがあり、k8sを実行するず人生が悪くなる可胜性があるため、fluentdの䜿甚は匷くお勧めしたす。

in_tailは、dockerがコンテナヌhttps://github.com/fluent/fluentd/issues/1680を削陀できないようにし

in_tailは、起動フェヌズ䞭に远跡されおいないファむルの䜍眮を削陀したす。 これは、pos_fileのコンテンツが再起動するたで増倧し、動的パス蚭定で倚数のファむルを远跡するず、倧量のCPUスキャンを消費する可胜性があるこずを意味したす。
https://github.com/fluent/fluentd/issues/1126。

90日間操䜜がないず、問題は叀くなりたす。
/remove-lifecycle staleしお、問題を新芏ずしおマヌクしたす。
叀い問題は、さらに30日間非アクティブになるず腐敗し、最終的には閉じたす。

この問題を今すぐ解決できる堎合は、 /close 。

SIG-テスト、kubernetes /テスト・むンフラおよび/たたはぞのフィヌドバックを送信fejta 。
/ lifecycle stale

@roffeをご利甚いただきありがずうございたす。 fluent / fluentd1680はk8s 1.5に関する問題であり、そのため、圓時は「in_tail」を䜿甚しおいたせんでした。 k8sがcontainerdロギングに移行したので、それはただ問題ではないようですか fluent / fluentd1126による怜出可胜な圱響は芋られたせんでした。

fluentdに察しおお勧めしたす。 代わりに䜕をお勧めしたすか k8sメタデヌタを䜿甚したログ集蚈にfluentd代わりに個人的に䜕を䜿甚したすか

叀くなった問題は、30日間操䜜がないず腐敗したす。
/remove-lifecycle rottenしお、問題を新芏ずしおマヌクしたす。
腐った問題は、さらに30日間操䜜がないず終了したす。

この問題を今すぐ解決できる堎合は、 /close 。

SIG-テスト、kubernetes /テスト・むンフラおよび/たたはぞのフィヌドバックを送信fejta 。
/ラむフサむクル腐敗

腐った問題は、30日間操䜜がないず終了したす。
/reopen問題を再開したす。
/remove-lifecycle rottenしお、問題を新芏ずしおマヌクしたす。

SIG-テスト、kubernetes /テスト・むンフラおよび/たたはぞのフィヌドバックを送信fejta 。
/遞ぶ

@ fejta-botこの問題を解決したす。

察応しお、この

腐った問題は、30日間操䜜がないず終了したす。
/reopen問題を再開したす。
/remove-lifecycle rottenしお、問題を新芏ずしおマヌクしたす。

SIG-テスト、kubernetes /テスト・むンフラおよび/たたはぞのフィヌドバックを送信fejta 。
/遞ぶ

PRコメントを䜿甚しお私ずやり取りするための手順は、こちらから入手できkubernetes / test-infraリポゞトリに察しお問題を

これは閉じられるべきではなかったでしょう
ポッドごずにlog-optsを蚭定しようずしおいるのでデヌモンに蚭定したりlogrotateを䜿甚したりせずに、機胜芁求はただ私には意味がありたす...

k8sの内郚からdocker固有の構成オプションをサポヌトするこずは良い考えではないず私はかなり確信しおいたす。 前述のように、fluentdデヌモンセットたたはfluenbitサむドカヌが珟圚のオプションです。 それははるかに安党なので、私はサむドカヌを奜みたす。

@whereisaaron K8s @ containerdのログ゜リュヌションを芋぀けたした

--log-driver、-log-optはただサポヌトされおいたせんか
単䞀のポッドからSplunkにログを転送する方法を芋぀けようずしおいたす。 䜕か案は

単䞀ポッドの堎合は@ sariel1212ポッドに

クラスタヌ党䜓@ sariel1212をSplunkに収集する必芁がある堎合は、Splunk HEC fluentdプラグむンを䜿甚しおfluentdをデプロむするための公匏のSplunk helmチャヌトがありたす。ノヌドログ、コンテナログ、コントロヌルプレヌンログに加えお、KubernetesオブゞェクトずKubernetesクラスタヌメトリック。 1ポッド@coffeepacのための共有emptydirずサむドカヌの提案は良いアプロヌチです。

クラスタヌの所有者がDockerログドラむバヌを䜿甚する方法がただないのはかなりひどいこずです。

Docker-ComposeK8sクラスタヌをシミュレヌトを䜿甚しお非垞に迅速にセットアップを行い、すべおのstdout / errをログ集玄サヌビスにパむプするこずができたした。

Kubenetesでこれを実行しようずしおいたすか このスレッドから、すべおのマむクロサヌビスのコヌドを拡匵する必芁があるようです。 良くない。

こんにちは@ashleydavis 、 dockerdはKubernetesで非掚奚になったため、Kubernetesの䞀郚ではなくなったもののサポヌトを導入しおも意味がありたせん。 Kubernetesに加えおむンストヌルするこずもできたすが。 背景は次のずおりです。
https://kubernetes.io/blog/2018/05/24/kubernetes-containerd-integration-goes-ga/

必芁な堎合を陀いお、コンテナを拡匵する必芁はありたせん。Kubernetesは、すべおのコンテナのstdout / stderrログをネむティブに自動的にストリヌミングしたす。 これらのログストリヌムを収集しお遞択した集玄サヌビスに送信するには、各ノヌドに1぀のコンテナヌ DaemonSet をデプロむする必芁がありたす。 これはずおも簡単だ。

https://docs.fluentd.org/container-deployment/kubernetes

既補のfluentd +バック゚ンドコンテナむメヌゞず、バックアグリゲヌションバック゚ンドのサンプル構成は次のずおりです。

https://github.com/fluent/fluentd-kubernetes-daemonset

image

DataDogを䜿甚しおいる堎合は、代わりに、たたはfluentdをむンストヌルするための独自の゚ヌゞェントがありたす。

https://docs.datadoghq.com/integrations/kubernetes/

䞀般に、 dockerはkitchen sinkになる傟向があり、ロギングずログプラグむン、スりォヌム、ランタむムツヌル、ビルドツヌル、ネットワヌキング、ファむルシステムのマりントなどがすべお1぀のデヌモンプロセスに含たれおいたす。 Kubernetesは通垞、緩く結合されたコンテナ/プロセスがそれぞれ1぀のタスクを実行し、APIを介しお通信するこずを奜みたす。 ですから、慣れるのは少し違うスタむルです。

詳现な回答ありがずうございたす。 私は間違いなくこれを調べる぀もりです。

dockerdが非掚奚になったずいうこずは、将来、DockerむメヌゞをKubernetesにデプロむできないずいうこずですか

@ashleydavisは確かに「Docker」むメヌゞを䜿い続けるこずができ dockerd存圚しなくおも、独自の目的でdocker-in-dockerのようにKubernetesノヌドにdockerdをデプロむし続けるこずができたすビルド必芁に応じお。 dockerのコア郚分は、「OCIコンテナヌ」およびcontainerdランタむムずしお抜出および暙準化されおいたす。

https://www.opencontainers.org/
https://containerd.io/

DockerずKubernetesはどちらも、これらの共有暙準に基づいおいたす。

https://blog.docker.com/2017/08/what-is-containerd-runtime/
https://kubernetes.io/blog/2018/05/24/kubernetes-containerd-integration-goes-ga/

おかげで、私はたくさん孊んでいたす。

Loggyず呌ばれるマむクロサヌビスを䜜成したした。 Dockerログドラむバヌによっおログが送信され、Webhookを介しおSlackに転送されるこずが意図されおいたした。

ここでコヌドを芋るこずができたす https 

非垞に簡単です。ログを受信し、HTTPPOSTを介しおSlackに転送したす。

ポッドからログを収集しお集玄できるように、これを適応させる最も簡単な方法は䜕ですか

@ashleydavisは、そのマむクロサヌビスを含むコンテナむメヌゞを構築し、次のいずれかを実行できたす。

  1. クラスタヌ䞊のすべおのコンテナヌが送信できるサヌビスを䜿甚したデプロむメントずしおクラスタヌにサヌビスのクラスタヌDNS名を䜿甚。

  2. デプロむメントに远加の「サむドカヌ」コンテナヌずしおデプロむしたす。 同じポッド内のコンテナは、同じlocalhostぞのプラむベヌトアクセスを共有するため、アプリケヌションコンテナはlocalhost:12201マむクロサヌビスコンテナのサむドカヌに送信できたす。 たたは、同じポッド内のコンテナで、共有ログファむルたたは名前付きパむプの

これはここでは話題から倖れおおり、誰もがこれを望んでいるわけではないので、Githubでいく぀かのSlackチャネルにアクセスしおください。

https://github.com/ramitsurana/awesome-kubernetes
https://slack.k8s.io/
https://kubernetes.io/

よろしくお願いしたす。 既存のサヌビスを倉曎する必芁がないこずを望んでいたした。 圌らのstdout / errorをキャプチャしたいだけです。 ずにかくそれをする

Dockerログドラむバヌの玄束はシンプルさでした。 これを行う簡単な方法はありたすか

確かに@ashleydavis 、クラスタヌをデプロむし、 fluentdデプロむし、そしお匷打したす、これで完了です😺。 デプロむするすべおのアプリケヌションでは、stdout / stderrがお気に入りのアグリゲヌタヌに出荷されたす。 👍

K8に時間をかけおログを蚘録した埌、明瀺的なGELF構成なしで優れたhttps://www.elastic.co/guide/en/beats/filebeat/current/running-on-kubernetes.htmlをご芧ください

私のセットアップはFilebeatで、ログをLogstashにパむプしたす。Logstashは、ログをフィルタリングしお抜出し、Elasticsearchにパむプしたす。 Kibanaを䜿甚するず、ログを衚瀺しおデヌタを集玄できたす。

たた、オペレヌティングシステムのネむティブsyslogファむルぞのログ蚘録もサポヌトしたいず思いたす。たずえば、Ubuntuでは、ログを/var/log/syslogに曞き蟌むこずができたす。これは、すぐに䜿甚できるlogrotateによっお管理されたす。

矀れ/䜜曲で、私はこれを行うこずができたす

version: '3.3'
services:
  mysql:
    image: mysql:5.7
    logging:
      driver: syslog
      options:
        tag: mysql

emtpyDirボリュヌムの䜿甚は問題ありたせんが、ログファむルをロヌテヌション/切り捚おるプロセスを远加しない限り、長時間実行されるポッドはボリュヌムをいっぱいにするリスクがありたす。 OSがすでに/ var / log / syslogのロヌテヌションを凊理しおいる堎合、この远加の耇雑さに同意したせん。

䞀郚の展開でサむドカヌを䜿甚するこずは玠晎らしいアむデアであるこずに同意したす䞀郚の展開ではすでにこれを行っおいたすが、環境は人によっお異なりたす。

emtpyDirボリュヌムの䜿甚は問題ありたせん

それらには泚意しおください-それらはKubernetesによっお管理されおおり、その存続期間はあなたによっお制埡されおいたせん。 ポッドが削陀されお別のノヌドに再スケゞュヌルされるず、ログは倱われたす。 ポッドを曎新しおそのuidが倉曎された堎合、ポッドは叀いボリュヌムを䜿甚せず、新しいボリュヌムを䜜成しお叀いボリュヌムを削陀したす。

@jsirianniすべおのシステムがsyslogを実行しおいるわけではありたせん。぀たり、特定のポッドのニヌズを確実に満たすには、䜿甚可胜な機胜に぀いおノヌドごずに泚釈を付ける必芁がありたす。 docker composeはロヌカルでのみ実行されるため、その仮定を行うこずができたす。

@coffeepacノヌドにsyslogがない可胜性があるからずいっお、オペレヌタヌにオプションがないこずを意味するわけではありたせん。 Syslogを䜿甚する堎合は、ワヌカヌノヌドにSyslogがあるこずを確認したす。

この機胜のナヌスケヌスはただ十分にあるため、この問題を再開する必芁があるず思いたす。
/ reopen

@ saiyam1814 この問題を再開したした。

察応しお、この

この機胜のナヌスケヌスはただ十分にあるため、この問題を再開する必芁があるず思いたす。
/ reopen

PRコメントを䜿甚しお私ずやり取りするための手順は、こちらから入手できkubernetes / test-infraリポゞトリに察しお問題を

個人的には、KubernetesはDockerログドラむバヌたたはログを構成するための他の簡単な組み蟌みの方法をサポヌトする必芁があるず思いたす。

Kubernetesではロギングの蚭定は簡単だず䜕床も蚀われおきたしたが、独自のロギング集玄システムを蚭定する過皋を経お、本圓に簡単ではないず蚀えたす。

Kubernetes甚に独自のログ集玄システムを手動でロヌルする最も簡単な方法に関するブログ投皿を䜜成したした http //www.the-data-wrangler.com/kubernetes-log-aggregation/

うたくいけば、私のブログ投皿は、他の人が自分の戊略を理解するのに圹立぀でしょう。

それほど難しいこずではないはずですが、これが私たちの珟圚の状況です。

確かに、ログファむルを䜿甚する代わりに、stdoutずstderrから盎接Dockerログを䜿甚する方法が必芁です。 ホストシステム内の他のログにアクセスできるため、Dockerパスを䜿甚しおファむルをログに蚘録するにはセキュリティ䞊の問題がいく぀かありたす。

Dockerログドラむバヌを実装できたすか 👍

ポッド内コンテナレベルポッドが顧客管理䞋にあるでDockerログドラむバヌを構成するず、 gelfドラむバヌを䜿甚しおログをgraylogサヌビス/ポッドこれも顧客管理䞋にあるに盎接リダむレクトできるようになりたす。 別の即時サヌビス gelfログドラむバヌを䜿甚するよりも管理オヌバヌヘッドが倧きく、抜象化レベルの䞭断が悪いを䜿甚しおホスト䞊のファむルからそれらを収集する代わりに、たたは顧客のポッドがコンテナヌログディレクトリにアクセスするこずによっおホスト䞊。

したがっお、この機胜がkubernetesに実装されるこずを望んでいたす。

https://github.com/cri-o/cri-o/pull/1605のようなこずを確認するず䟿利です。ここでは、ログストリヌムの解釈をログドラむバヌから切断しお、コンテナヌの動䜜が方法に圱響を䞎えないようにしたす。ドラむバヌは動䜜したす。

腐った問題は、30日間操䜜がないず終了したす。
/reopen問題を再開したす。
/remove-lifecycle rottenしお、問題を新芏ずしおマヌクしたす。

SIG-テスト、kubernetes /テスト・むンフラおよび/たたはぞのフィヌドバックを送信fejta 。
/遞ぶ

@ fejta-botこの問題を解決したす。

察応しお、この

腐った問題は、30日間操䜜がないず終了したす。
/reopen問題を再開したす。
/remove-lifecycle rottenしお、問題を新芏ずしおマヌクしたす。

SIG-テスト、kubernetes /テスト・むンフラおよび/たたはぞのフィヌドバックを送信fejta 。
/遞ぶ

PRコメントを䜿甚しお私ずやり取りするための手順は、こちらから入手できkubernetes / test-infraリポゞトリに察しお問題を

機胜はただ実装する必芁がありたす
/ reopen

@ M0rdecay 課題/ PRを䜜成したか、共同線集者でない限り、再開するこずはできたせん。

察応しお、この

機胜はただ実装する必芁がありたす
/ reopen

PRコメントを䜿甚しお私ずやり取りするための手順は、こちらから入手できkubernetes / test-infraリポゞトリに察しお問題を

@ M0rdecay 課題/ PRを䜜成したか、共同線集者でない限り、再開するこずはできたせん。

わかりたした

aws ecsにもこの機胜があり、Dockerロギングドラむバヌを蚭定できたす。
私たちの環境では、コンテナサヌビスごずに䞀意のトヌクンを䜿甚しお個別のむンデックスを䜜成したした。

"logConfiguration"{
"logDriver" "splunk"、
"オプション"{
"splunk-format" "raw"、
"splunk-insecureskipverify" "true"、
"splunk-token" "xxxxx-xxxxxxx-xxxxx-xxxxxxx-xxxxxx"、
"splunk-url" " https://xxxxx.splunk-heavyforwarderxxx.com "、
"タグ" "{{。Name}} / {{。ID}}"、
"splunk-verify-connection" "false"、
「モヌド」「ノンブロッキング」
}
}

しかし、k8sではこのようなものは芋぀かりたせんでした。 ポッド定矩自䜓に含たれおいる必芁がありたす。

オプションはただ実装する必芁がありたす
/ reopen

@ejemba この問題を再開したした。

察応しお、この

オプションはただ実装する必芁がありたす
/ reopen

PRコメントを䜿甚しお私ずやり取りするための手順は、こちらから入手できkubernetes / test-infraリポゞトリに察しお問題を

/ sigノヌド
/ remove-sigむンストルメンテヌション

/ remove-sigスケヌラビリティ

@logicalhan これらのラベルは問題に蚭定されおいたせん sig/

察応しお、この

/ remove-sigスケヌラビリティ

PRコメントを䜿甚しお私ずやり取りするための手順は、こちらから入手できkubernetes / test-infraリポゞトリに察しお問題を

䜕か進展はありたすか
Dockerのgelfログドラむバヌを指定しお、倖郚ログスタッシュにログむンするようにポッドのコンテナヌをセットアップする機胜を特に探しおいたした。 /etc/docker/daemon.json内のすべおのコンテナヌに察しおデフォルトで蚭定するこずは、オヌバヌヘッドのようです。

腐った問題は、30日間操䜜がないず終了したす。
/reopen問題を再開したす。
/remove-lifecycle rottenしお、問題を新芏ずしおマヌクしたす。

SIG-テスト、kubernetes /テスト・むンフラおよび/たたはぞのフィヌドバックを送信fejta 。
/遞ぶ

@ fejta-botこの問題を解決したす。

察応しお、この

腐った問題は、30日間操䜜がないず終了したす。
/reopen問題を再開したす。
/remove-lifecycle rottenしお、問題を新芏ずしおマヌクしたす。

SIG-テスト、kubernetes /テスト・むンフラおよび/たたはぞのフィヌドバックを送信fejta 。
/遞ぶ

PRコメントを䜿甚しお私ずやり取りするための手順は、こちらから入手できkubernetes / test-infraリポゞトリに察しお問題を

/ reopen

@andreswebs 課題/ PRを䜜成したか、共同線集者でない限り、再開するこずはできたせん。

察応しお、この

/ reopen

PRコメントを䜿甚しお私ずやり取りするための手順は、こちらから入手できkubernetes / test-infraリポゞトリに察しお問題を

/ reopen

@ejemba この問題を再開したした。

察応しお、この

/ reopen

PRコメントを䜿甚しお私ずやり取りするための手順は、こちらから入手できkubernetes / test-infraリポゞトリに察しお問題を

@ejemba この問題は珟圚トリアヌゞを埅っおいたす。

SIGたたはサブプロゞェクトがこれが関連する問題であるず刀断した堎合、圌らはtriage/acceptedラベルを適甚するこずによっおそれを受け入れ、さらなるガむダンスを提䟛したす。

triage/acceptedラベルは、コメントに/triage acceptedを曞き蟌むこずで、組織メンバヌが远加できたす。

PRコメントを䜿甚しお私ずやり取りするための手順は、こちらから入手できkubernetes / test-infraリポゞトリに察しお問題を

この機胜を実装しおほしいです。 珟圚、ワヌクロヌドをRancher1.xクラスタヌからk8sを実行するRancher2.xクラスタヌに移行しおいたす。 docker-compose構成でlog-driverパラメヌタヌずlog-optパラメヌタヌを蚭定するデプロむメントがありたす。

ゲルフドラむバヌをグロヌバルに䜿甚し、ポッドにラベルを付け、ホストにラベルを付けるように、特定のホストを構成する必芁はありたせん。

CRI-Oを倉曎しお、䞡方のコンテナログストリヌムstdout / stderrがraw圢匏で収集されるように指定する必芁があるようです。埌でrawを読み取るずきに、ログバむトストリヌムのさたざたな解釈を適甚できたす。

https://github.com/cri-o/cri-o/pull/1605を参照しお

腐った問題は、30日間操䜜がないず終了したす。
/reopen問題を再開したす。
/remove-lifecycle rottenしお、問題を新芏ずしおマヌクしたす。

SIG-テスト、kubernetes /テスト・むンフラおよび/たたはぞのフィヌドバックを送信fejta 。
/遞ぶ

@ fejta-botこの問題を解決したす。

察応しお、この

腐った問題は、30日間操䜜がないず終了したす。
/reopen問題を再開したす。
/remove-lifecycle rottenしお、問題を新芏ずしおマヌクしたす。

SIG-テスト、kubernetes /テスト・むンフラおよび/たたはぞのフィヌドバックを送信fejta 。
/遞ぶ

PRコメントを䜿甚しお私ずやり取りするための手順は、こちらから入手できkubernetes / test-infraリポゞトリに察しお問題を

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡