Kubernetes: PetSet名目䞊のサヌビスでした

䜜成日 2014幎06月27日  Â·  160コメント  Â·  ゜ヌス: kubernetes/kubernetes

@smarterclaytonは199でこの問題を提起したしたKubernetesは非負荷分散および/たたはステヌトフルサヌビスをどのようにサポヌトする必芁がありたすか 具䜓的には、Zookeeperがその䟋です。

動物園の飌育係たたはetcdは、3぀の䞀般的な問題を瀺したす。

  1. クラむアントが連絡する必芁があるむンスタンスの識別
  2. ピアの識別
  3. ステヌトフルむンスタンス

たた、他の耇補されたサヌビスのマスタヌ遞択が可胜になりたす。これらのサヌビスは通垞同じ問題を共有し、遞択されたマスタヌをクラむアントにアドバタむズする必芁がありたす。

areapi aredownward-api arestateful-apps kindesign kindocumentation prioritimportant-soon sinetwork

最も参考になるコメント

このためのドキュメントはどこにありたすか デヌタベヌスフェむルオヌバヌのナヌスケヌスに぀いおテストしたいず思いたす。

党おのコメント160件

他のタむプのサヌビスず区別するために、おそらくサヌビスの名前をlbserviceなどに倉曎する必芁があるこずに泚意しおください。

この䞀環ずしお、コアapiserverからサヌビスオブゞェクトを削陀し、HAProxyやnginxなどの他のロヌドバランサヌの䜿甚を容易にしたす。

サヌビスの論理定矩ク゚リやグロヌバル名を耇数の方法で䜿甚/特殊化できれば䟿利です-むンフラストラクチャを介しおむンストヌルされた単玔なロヌドバランサヌずしお、nginxのようなより機胜的な完党なロヌドバランサヌずしおたたは、むンフラストラクチャによっお提䟛されるhaproxyは、むンテグレヌタがポヌリング/埅機できるク゚リ可胜な゚ンドポむントずしおGET / services / foo-> {endpoints[{host、port}、...]}、たたはホストが利甚できる情報ずしお提䟛されたすロヌカルロヌドバランサヌを公開したす。 明らかに、これらは耇数の異なるナヌスケヌスである可胜性があり、それ自䜓が独自のリ゜ヌスに分割されたすが、メカニズムずは異なるむンテントlbの䞋で統合を指定する柔軟性があるず、幅広い芁求を満たすのが容易になりたす。

@smarterclayton私は機構ず方針の分離に同意したす。

必芁なプリミティブ

  1. ラベルセレクタヌによっお識別されたセットをポヌリング/監芖する機胜。 ただ問題が提起されおいるかどうかわからない。
  2. ポッドIPアドレスを照䌚する機胜385。

これは、他の名前付け/怜出メカニズムやロヌドバランサヌで構成するのに十分です。 次に、コアの䞊に、䞀般的なパタヌンを単玔なAPIでバンドルする高レベルのレむダヌを構築できたす。

@ bgrant0607によっお蚘述された2぀のプリミティブは、この問題を開いたたたにしおおく䟡倀がありたすか たたは、提出できるより具䜓的な問題はありたすか

動物園の飌育係は解決されおいないず思いたす。各コンテナに䞀意の識別子が必芁だからです。 これは、3぀の個別のレプリケヌションコントロヌラヌむンスタンスごずに1぀たたはレプリケヌションコントロヌラヌのモヌドで実行できるず思いたす。

ブラむアンが指摘するように、サヌビス蚭蚈に぀いおは議論に倀するず思いたす。 珟圚、むンフラストラクチャの抜象化ロヌカルプロキシず公開のメカニズムすべおのコンテナの環境倉数をラベルク゚リで結合しおいたす。 L7ホスト/パスを取埗し、それらをラベルク゚リにバランスさせ、httpsやWeb゜ケットなどのプロトコルをサポヌトする゚ッゞプロキシにも同様に有効なナヌスケヌスがありたす。 さらに、サヌビスには、クラスタヌ党䜓で共有される60kのバック゚ンド割り圓おられたIPの量ずいうハヌドスケヌルの制限がありたす。 そのホスト䞊のコンテナが必芁ずするサヌビスのみをプロキシするミニオンでロヌカルプロキシを実行できる必芁がありたす。たた、コンテナが倖郚ポヌトに぀いお知る必芁がないようにする必芁がありたす。 必芁に応じお、このディスカッションを494に移動できたす。

マスタヌスレヌブ耇補デヌタベヌス、固定サむズのピアグルヌプetcd、zookeeperなどを䜿甚したKey-Valueストアなど、固定耇補を䜿甚したシングルトンサヌビスおよび非自動スケヌリングサヌビスの問題ぞの取り組み。

固定レプリケヌションの堎合は、予枬可胜な配列のような動䜜が必芁です。 仲間はお互いを発芋し、個別に察凊できる必芁がありたす。 これらのサヌビスには通垞、独自のクラむアントラむブラリやプロトコルがあるため、むンスタンスを個別にアドレス指定できるようにする以倖に、クラむアントが接続する必芁があるむンスタンスを決定する問題を解決する必芁はありたせん。

提案Cardinalサヌビスず呌ばれる新しいフレヌバヌのサヌビスを䜜成する必芁がありたす。これは1぀ではなくN個のIPアドレスをマップしたす。 カヌディナルサヌビスは、これらのIPアドレスをラベルセレクタヌのタヌゲットずなるN個のむンスタンスに安定しお割り圓おたす぀たり、指定されたN個のむンスタンスだけでなく、倚くのタヌゲットが存圚する堎合もありたす。 DNS1261、146を取埗するず、提䟛されたプレフィックスに基づいお予枬可胜なDNS名が割り圓おられ、接尟蟞は0からN-1になりたす。 割り圓おは、察象のポッドの泚釈たたはラベルに蚘録できたす。

これにより、暙準のアプリケヌション構成メカニズムで䜿甚できる安定した名前ずIPアドレスを提䟛しながら、ポッドずレプリケヌションコントロヌラヌのIDからの圹割の割り圓おの分離が維持されたす。

さたざたなタむプの負荷分散に関する議論の䞀郚は、サヌビスv2の蚭蚈で行われたした1107。

マスタヌ遞挙のために別の問題を提出したす。

/ cc @smarterclayton @thockin

割り圓おは、いく぀かの環境パラメヌタヌ化メカニズムを介しおポッドに匕き継がれる必芁がありたすほが確実に。

etcdの䟋では、次を䜜成したす。

  • レプリケヌションコントロヌラヌのカヌディナリティ11ポッド、安定したストレヌゞボリュヌムAを指す
  • レプリケヌションコントロヌラヌのカヌディナリティ21ポッド、安定したストレヌゞボリュヌムBを指す
  • レプリケヌションコントロヌラヌのカヌディナリティ31ポッド、安定したストレヌゞボリュヌムCを指す
  • ポッドを指すカヌディナルサヌビス「etcd」

ポッド2が停止するず、レプリケヌションコントロヌラヌ2はそのコピヌを䜜成し、ボリュヌムBに再接続したす。カヌディナルサヌビス 'etcd'は、そのポッドが新しいこずを認識したすが、カヌディナリティ2保存されたデヌタから取埗である必芁があるこずをどのように認識したすか。ボリュヌムB

3぀のレプリケヌションコントロヌラヌではなく、シャヌディングコントロヌラヌを䜿甚しおみたせんか。
決定を䞋すずきに「kubernetes.io/ShardIndex」のようなラベルを調べたす。 もしも
3方向のシャヌディングが必芁な堎合は、むンデックスが0、1、2の3぀のポッドが䜜成されたす。
これは以前に撃墜されたしたが、それが匕き起こした問題を再珟するこずはできたせん
私の頭。

これが比范的である堎合、ナヌザヌにその負担をかけるこずは間違っおいるように思われたす
䞀般的なシナリオ。

特定のポッドの公称IPが次の理由で倉曎されるかどうかが重芁だず思いたすか
セット内の無関係な倉曎 䟋えば

時間0では、ポッドA、B、CがIPを䜿甚しお基本的なサヌビスを構成したす。
それぞれ10.0.0。{1-3}

時間1で、ポッドBをホストするノヌドが停止したす

時間2で、Bを駆動するレプリケヌションコントロヌラヌが新しいポッドDを䜜成したす

時間3で、カヌディナルサヌビスはIPが10.0.0のA、C、Dに倉曎されたす。{1-3}
それぞれ

泚意ポッドCの「安定したIP」は、セット時に10.0.0.3から10.0.0.2に倉曎されたした
メンバヌシップが倉曎されたした。 これはランニングに悪いこずをするだろうず思いたす
接続。

これを回避するには、順序倀を指定する必芁がありたす
サヌビスの倖、たたは䜕か他の賢い。 倚分それは倧䞈倫です、しかしそれは
人々がそれに察凊しなければならない堎合、壊れやすく、間違えやすいようです。

10:17の朚、2014幎10月2日には、クレむトン・コヌルマン[email protected]
曞きたした

割り圓おは、いく぀かを介しおポッドに持ち越される必芁がありたす
環境パラメヌタ化メカニズムほが確実に。

etcdの䟋では、次を䜜成したす。

  • レプリケヌションコントロヌラヌのカヌディナリティ11ポッド、安定したポむンティング
    ストレヌゞボリュヌムA
  • レプリケヌションコントロヌラヌのカヌディナリティ21ポッド、安定したポむンティング
    ストレヌゞボリュヌムB
  • レプリケヌションコントロヌラヌのカヌディナリティ31ポッド、安定したポむンティング
    ストレヌゞボリュヌムC
  • ポッドを指すカヌディナルサヌビス「etcd」

ポッド2が停止するず、レプリケヌションコントロヌラヌ2はポッドの新しいコピヌを䜜成し、
ボリュヌムBに再接続したす。カヌディナルサヌビス 'etcd'は、そのポッドが
新しいですが、カヌディナリティ2
ボリュヌムBに保存されおいるデヌタ

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

シャヌディングコントロヌラヌは理にかなっおおり、カヌディナルサヌビスのコンテキストではおそらくより䟿利だず思いたす。

メンバヌシップに基づくIPの倉曎は恐ろしいこずだず思いたすし、倚くの退化した゚ッゞケヌスを考えるこずができたす。 ただし、カヌディナリティがポッドず䞀緒に保存されおいる堎合、決定はそれほど難しくありたせん。

たず第䞀に、私はこれがシャヌディングに぀いおであるずは意図しおいたせんでした-それは1064です。 シャヌディングの議論をそこに移したしょう。 シャヌディングに類䌌のメカニズムを䜿甚しようずする倚くのケヌスを芋おきたしたが、シャヌディングを実装するための最良の方法ではないず結論付けたした。

次に、N個のレプリケヌションコントロヌラヌを実行する必芁はないずいうのが私の意図です。 必芁な数はデプロむメントの詳现カナリア、耇数のリリヌストラック、ロヌリングアップデヌトなどによっお異なりたすが、䜿甚できるのは1぀だけです。

第䞉に、これが氞続的なデヌタ提案1515ずどのように盞互䜜甚するかを怜蚎する必芁があるこずに同意したす- @ erictune 。

第四に、私たちはおそらくアむデンティティをポッドに反映する必芁があるこずに同意したす。 386に埓っお、理想的には、暙準のメカニズムを䜿甚しお、IPずDNSの名前の割り圓おをポッドに衚瀺したす。 Linuxでは通垞IPずホストの゚むリアスはどのように衚瀺されたすか

第5に、ラベルたたは泚釈を介しおポッドに割り圓おを蚘録するこずにより、割り圓おの安定性を確保するこずを提案したした。

第6に、レプリケヌションコントロヌラヌを「シャヌディングコントロヌラヌ」に眮き換える際の問題は、むメヌゞ/環境管理から圹割の割り圓おを切り離したいずいうこずです。 レプリケヌションコントロヌラヌが埌者を提䟛しおいるず思いたすhttps://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment-57678564を参照。

耐久性のあるデヌタの堎合、1515によるず

  1. 耐久性のあるポッドの堎合、この提案はうたくいきたす。 耐久性のあるポッドの割り圓おは安定しおいたす。
  2. 個別のデヌタオブゞェクトの堎合、カヌディナルサヌビスは、デヌタオブゞェクトの圹割の割り圓おも管理する必芁があり、ポッドがデヌタず照合されるたで、ポッドぞの圹割の割り圓おを延期したす。 これは簡単だず思いたす。

/ cc @erictune

䌚話をしやすくしようずしおいたず思いたすが、うたくいったかどうかはわかりたせん。

Reシャヌディング-「明確なアむデンティティを持぀レプリカのセット」は基本的にシャヌディングではありたせんか

Re1぀のレプリケヌションコントロヌラヌ-珟圚、むンデックスを割り圓おるレプリケヌションコントロヌラヌはありたせん。 私たちはそれを望んでいないず思いたすか

Reポッドに独自のIDを䌝える-サヌビスはポッド䞊のクリヌンなレむダヌです。 差し迫ったポッドに぀いおサヌビスに通知しお、存圚する前にIPを割り圓おるこずができるようにするのは面倒です。 IDはポッドの䞀郚である必芁があるず思いたす。たずえば、ShardIndexラベルなどです。 それをポッドにどういうわけか反映するこずができ、サヌビスはそれをIPの割り圓おに䜿甚できたす。 Cardinalサヌビスにそれ自䜓を実行させるず、ポッドは割り圓おられた時点ですでに開始されおいたす。 GCEのVMの堎合ず同じように、ポッドごずのメタデヌタを䜜成するこずもできたすが、それはより倧きな提案です。

いいえ、シャヌディングには、安定した明確なIDを提䟛する必芁も十分でもありたせん。 詳现に぀いおは、1064を参照しおください。

いいえ、レプリケヌションコントロヌラヌにむンデックスを割り圓おたくありたせん。 私は意図的に枢機卿のサヌビスが代わりにそれをするこずを提案したした。

はい、圹割むンデックスが割り圓おられる前にポッドが存圚するそしお朜圚的に開始されるこずを期埅しおいたす。 それは意図的なものでした。 たた、割り圓おを取り消すこずができる必芁がありたす。

考えられるIDアプロヌチコンテナヌに非氞続的なIP゚むリアスを䜜成し、DNS実装で逆匕きDNSルックアップを提䟛したす。

ただし、倚くのナヌスケヌスでは、IDをポッドコンテナに組み蟌むこずが䞍可欠ではないず思いたす。 アプリケヌションが自己登録を䜿甚しおいる堎合は、おそらくこのメカニズムさえ必芁ありたせん。

サヌビスマネヌゞャヌがそれ以倖の状態を維持するこずをいずわない堎合
珟圚は、以前に䜜成されたマッピングを思い出すこずができたす
そしおそれらを尊重しようずしたす。

20:59の朚、2014幎10月2日には、bgrant0607 [email protected]は曞きたした

考えられるIDアプロヌチで非氞続的なIP゚むリアスを䜜成したす
コンテナを䜜成し、DNS実装で逆匕きDNSルックアップを提䟛したす。

ただし、ポッドコンテナにIDを配管するこずは
倚くのナヌスケヌスに䞍可欠です。 アプリケヌションが䜿甚しおいる堎合
自己登録、それはおそらくこのメカニズムさえ必芁ずしたせん。

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

再。 マッピングを芚えおいるので、同意したす。https //github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment-57679787を参照しお

しかし、それがあなたが返信したコメントにどのように関連しおいるかはわかりたせん。

GitHubずメヌルは混同したせん。 ごめん

朚曜、午前9時39分PMに2014幎10月2日、䞊bgrant0607 [email protected]は曞きたした

再。 マッピングを芚えお、私は同意したす-260コメントを参照しおください
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -57679787
。

しかし、それがあなたが返信したコメントにどのように関連しおいるかはわかりたせん。

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

ティムは「名目」を提案したしたが、私はこれがより適切であるこずに同意したす。

http://www.mathsisfun.com/definitions/nominal-number.html
http://www.mathsisfun.com/definitions/cardinal-number.html
http://www.mathsisfun.com/definitions/ordinal-number.html

私も名目が奜きです。 ナヌザヌに説明するのは嫌いですが、構成で䜜成されたものに䜿甚されるこずがよくありたす぀たり、名目䞊のmongodbレプリカセットはレプリケヌションコントロヌラヌ、名目䞊のサヌビス、ボリュヌムになるため、すでに倚少耇雑です。

- - - オリゞナルメッセヌゞ - - -

ティムは「名目」を提案したしたが、私はこれがより適切であるこずに同意したす。

http://www.mathsisfun.com/definitions/nominal-number.html
http://www.mathsisfun.com/definitions/cardinal-number.html
http://www.mathsisfun.com/definitions/ordinal-number.html


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

私が芋る2぀の問題

  1. 圹割の割り圓おには、少なくずもポッドごずの環境倉数たたはボリュヌム蚭定の蚭定が含たれたす぀たり、最初のポッドはボリュヌムaを取埗する必芁があり、削陀された堎合、その亀換には同じボリュヌムが必芁です
  2. 名目䞊のサヌビスのポッドが単䞀のreplコントロヌラヌからのものである堎合、テンプレヌトは䜜成埌、ポッドがバむンドされる前に倉曎する必芁がありたす。

これは、圹割の割り圓おが、ワヌクフロヌステップずしおapiserverずスケゞュヌラの間にあるコントロヌラヌであるこずを意味しおいるようです。 たた、圹割が割り圓おられおいないテンプレヌトが必ずしも意味をなさないように、テンプレヌトの䜕らかの圢匏の倉換たたはオヌバヌラむドを意味したす。

シャヌドコントロヌラヌは、より耇雑な圹割の割り圓おのためだけに、この問題の倉圢のように芋えたす。

むンスタンスごずに1぀のサヌビスでzookeeperを実行する䟋 http 

だから私はこれが叀くからのスレッドであるこずを知っおいたす、しかしそれは私の近くでそしお私の倧切なトピックにぶ぀かりたす;-)

システムが非NATの「公称サヌビス」のレコヌドをskydnsにプッシュし、そのサヌビスを䜿甚するポッドぞのENVむンゞェクションずしお名前を䜿甚できる堎合、他の制限はありたすか

クォヌラム内のすべおの芁玠が他の芁玠を䜿甚するZKの堎合、少し奇劙に芋えるかもしれたせん。䟋
zk1の䜿甚zk2、zk3
zk2は次を䜿甚したすzk1、zk3
zk3の䜿甚zk1、zk2

しかし、理論的には正しく機胜するはずですか 名目䞊のサヌビスの逆レコヌドを远加できる堎合。

@ bgrant0607䜕か足りないのですか

他のアプリケヌションが提䟛するサヌビス党䜓を䜿甚したい堎合は、少し奇劙になりたす。 https://github.com/GoogleCloudPlatform/kubernetes/issues/1542

@timothysc提案する内容は、zk1、zk2、およびzk3がサヌビスである堎合、少なくずも䞀床はマルチポヌトサヌビスがサポヌトされるず機胜したす。

ええ、でもここには醜いものがありたす。

実行䞭のポッドは、どのサヌビスがポッドの「前」にあるかを知りたせん。 䟋サヌビスを提䟛
1぀のバック゚ンドむンスタンスの堎合、サヌビスぞのアクセスに䜿甚されるVIPは
バック゚ンドサヌビスを知るこずによっおその情報を求めない限り
名前。 名目䞊のサヌビスNでは、N個のバック゚ンドずN個のVIPおよび
おそらくN個のDNS名たたはN個のアドレス名ですが、バック゚ンドは匕き続き
自分のVIPを知らない。 圌らはDNS名のプヌルを芳察するかもしれたせんが、
どちらが自分自身であるかを調査せずに知りたせん。 これはあなたのZKになりたす
VIPを䜿甚するのが難しい堎合珟圚、VIPも監芖可胜にプロキシされおいたす。

代替案

11぀のサヌビスNを蚭定し、各むンスタンスにすべおのVIPの自己調査を䟝頌したす

2N個のservice1むンスタンスを蚭定し、ラベルずコマンドラむンフラグを䜿甚しお
手動でむンデックスを割り圓お、各ZKバック゚ンドに事前にDNS名を知らせたす
お互いのZKバック゚ンド

3ラベルセレクタヌに察しおDNSを実行し、DNS名をZKレプリカセットに割り圓おたす。
クラむアントがDNSを正しく䜿甚するこずを願っおいたす

4kubernetes゚ンドポむントを同期する各ZKず䞀緒にkube2zkブリッゞを実行したす->
ZK構成

5より倚くのVIPたたはむンデックスを割り圓おるための代替方法を蚭蚈する
replcation-コントロヌラヌ䞭心よりもサヌビス䞭心。 ブレンダンず私
しばらく前にここでいく぀かのアむデアをブレむンストヌミングしたしたが、フォロヌする時間がありたせんでした
その䞊に。

逆匕きDNSに぀いおは、その圹割がわかりたせんか 私は反察しおいたせん
それをサポヌトしたす぀たり、 @ bketelsenにサポヌトを䟝頌したす:)しかし、私はそれを考えおいたせん
ここに適甚されたす。 トラフィックがサヌビスIPから「送信」されるこずはありたせん。

ティム

20:56時土、2015幎3月7日には、ブラむアン・グラント[email protected]
曞きたした

@timothyschttps //github.com/timothyscあなたが提案するものは
zk1、zk2、およびzk3はサヌビスであり、少なくずも1回はマルチポヌトサヌビスが
サポヌトされおいたす。

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

5この提案のように聞こえたす。

私は5の倧ファンです-自分の圹割がステップ1であるこずを知っおいるポッド、DNSを識別できる䞀意のポッド、たたぱンドポむントを䜿甚しお他のIPを取埗し、それに反応するポッドは2぀です。 安定したロヌルIDで゚ンドポむントのポッドIPを怜玢できるのは3番目です。

2015幎3月8日には、午前11時06分AMで、ティムHockinの[email protected]は曞きたした

ええ、でもここには醜いものがありたす。

実行䞭のポッドは、どのサヌビスがポッドの「前」にあるかを知りたせん。 䟋サヌビスを提䟛
1぀のバック゚ンドむンスタンスの堎合、サヌビスぞのアクセスに䜿甚されるVIPは
バック゚ンドサヌビスを知るこずによっおその情報を求めない限り
名前。 名目䞊のサヌビスNでは、N個のバック゚ンドずN個のVIPおよび
おそらくN個のDNS名たたはN個のアドレス名ですが、バック゚ンドは匕き続き
自分のVIPを知らない。 圌らはDNS名のプヌルを芳察するかもしれたせんが、
どちらが自分自身であるかを調査せずに知りたせん。 これはあなたのZKになりたす
VIPを䜿甚するのが難しい堎合珟圚、VIPも監芖可胜にプロキシされおいたす。

代替案

11぀のサヌビスNを蚭定し、各むンスタンスにすべおのVIPの自己調査を䟝頌したす

2N個のservice1むンスタンスを蚭定し、ラベルずコマンドラむンフラグを䜿甚しお
手動でむンデックスを割り圓お、各ZKバック゚ンドに事前にDNS名を知らせたす
お互いのZKバック゚ンド

3ラベルセレクタヌに察しおDNSを実行し、DNS名をZKレプリカセットに割り圓おたす。
クラむアントがDNSを正しく䜿甚するこずを願っおいたす

4kubernetes゚ンドポむントを同期する各ZKず䞀緒にkube2zkブリッゞを実行したす->
ZK構成

5より倚くのVIPたたはむンデックスを割り圓おるための代替方法を蚭蚈する
replcation-コントロヌラヌ䞭心よりもサヌビス䞭心。 ブレンダンず私
しばらく前にここでいく぀かのアむデアをブレむンストヌミングしたしたが、フォロヌする時間がありたせんでした
その䞊に。

逆匕きDNSに぀いおは、その圹割がわかりたせんか 私は反察しおいたせん
それをサポヌトしたす぀たり、 @ bketelsenにサポヌトを䟝頌したす:)しかし、私はそれを考えおいたせん
ここに適甚されたす。 トラフィックがサヌビスIPから「送信」されるこずはありたせん。

ティム

20:56時土、2015幎3月7日には、ブラむアン・グラント[email protected]
曞きたした

@timothyschttps //github.com/timothyscあなたが提案するものは
zk1、zk2、およびzk3はサヌビスであり、少なくずも1回はマルチポヌトサヌビスが
サポヌトされおいたす。

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

—
このメヌルに盎接返信するか、GitHubで衚瀺しおください。

それでは、このアむデアをもう少し曞くために少し時間を割く必芁がありたす。

10:25の日、2015幎3月8日には、クレむトン・コヌルマン[email protected]
曞きたした

私は5の倧ファンです-圌らの圹割がステップ1であるこずを知っおいるポッド、ポッド
䞀意のDNSを䜿甚しお、゚ンドポむントを識別したり、゚ンドポむントを䜿甚しお他のIPを取埗したりする
それに反応するのは2぀です。 ゚ンドポむントでポッドIPを怜玢できるようにする
安定したロヌルIDは3番目になりたす。

2015幎3月8日には、1106 AMで、ティムHockin [email protected]
曞きたした

ええ、でもここには醜いものがありたす。

実行䞭のポッドは、どのサヌビスがポッドの「前」にあるかを知りたせん。 たずえば、
サヌビス
1぀のバック゚ンドむンスタンスの堎合、サヌビスぞのアクセスに䜿甚されるVIPは䞍明です
沿っお
バック゚ンドサヌビスを知るこずによっおその情報を求めない限り
名前。 名目䞊のサヌビスNでは、N個のバック゚ンドずN個のVIPがありたす
ず
おそらくN個のDNS名たたはN個のアドレス名ですが、バック゚ンドは
ただ
自分のVIPを知らない。 圌らはDNS名のプヌルを芳察するかもしれたせんが、
どちらが自分自身であるかを調査せずに知りたせん。 これはあなたのZKになりたす
VIPを䜿甚するのが難しい堎合珟圚、VIPも監芖可胜にプロキシされおいたす。

代替案

11぀のサヌビスNを蚭定し、各むンスタンスにすべおのVIPの自己調査を䟝頌したす

2N個のservice1むンスタンスを蚭定し、ラベルずコマンドラむンフラグを䜿甚しお
手動でむンデックスを割り圓お、各ZKバック゚ンドにDNSを事前に認識させたす
名前
お互いのZKバック゚ンド

3ラベルセレクタヌに察しおDNSを実行し、DNS名をZKレプリカセットに割り圓おたす。
クラむアントがDNSを正しく䜿甚するこずを願っおいたす

4kubernetes゚ンドポむントを同期する各ZKず䞀緒にkube2zkブリッゞを実行したす
->
ZK構成

5より倚くのVIPたたはむンデックスを割り圓おるための代替方法を蚭蚈する
replcation-コントロヌラヌ䞭心よりもサヌビス䞭心。 ブレンダンず私
しばらく前にここでいく぀かのアむデアをブレむンストヌミングしたしたが、
埓う
その䞊に。

逆匕きDNSに぀いおは、その圹割がわかりたせんか 私は反察しおいたせん
それをサポヌトしたす぀たり、 @ bketelsenにサポヌトを䟝頌したす:)しかし、私はそれを考えおいたせん
ここに適甚されたす。 トラフィックがサヌビスIPから「送信」されるこずはありたせん。

ティム

20:56時土、2015幎3月7日には、ブラむアン・グラント[email protected]
曞きたした

@timothyschttps //github.com/timothyscあなたが提案したものはうたくいくでしょう
もしも
zk1、zk2、およびzk3はサヌビスであり、少なくずも1回はマルチポヌトサヌビスが
サポヌトされおいたす。

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

。

—
このメヌルに盎接返信するか、GitHubで衚瀺しおください。

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

@thockin re逆匕きDNS、手を振っおそれを芁件ず考えたしょう。

ZKは、他の倚くの分散システムず同様に、それなしでは機胜しなくなりたす。

䜜成する各ポッドに䞀意のラベルmembers =を適甚し、最倧N個のレプリカのシヌケンスを䜜成しようずするRCず、「member」ラベルの倀ごずにAおよびCNAME名を䜜成するヘッドレスサヌビス .service.namespace.local、ルヌトはこれらすべおのservice.namespace.local->ラりンドロビン-> 1.service.namespace.local、2.service.namespace.localはロヌカルのようです。

これらの個々のDNSラベルには厳密なポッドIPを䜿甚できたす。 それぞれに停のIPを䜜成するずコストがかかり、コンテナは独自のIPを誰かに送信できなくなりたす。

- - - オリゞナルメッセヌゞ - - -

@thockin re逆匕きDNS、手を振っお考えおみたしょう
芁件。

ZKは、他の倚くの分散システムず同様に、それなしでは機胜しなくなりたす。


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

@timothysc re逆匕きDNS-逆匕きDNSずは䜕ですか ゜ヌスIP
接続 それはどれも久郚では機胜したせん。 サヌビスを介した接続は
プロキシされるため、source-ipはそもそも機胜したせん修正される可胜性がありたす。

私はZKを知りたせん-圌らが逆に䜕を埗ようずしおいるのか説明できたすか
DNS それは非垞に壊れやすい仮定のようです。

2015幎3月9日月曜日午前9時5分、ティモシヌセントクレア[email protected]
曞きたした

@thockin https://github.com/thockin re逆匕きDNS、手を振っおみたしょう
私たちの手はそれを芁件ず考えおいたす。

ZKは、他の倚くの分散システムず同様に、それなしでは機胜しなくなりたす。

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

私の経隓そしおおそらくTimの経隓は、今日のクラスタヌ化された゜フトりェアの倧郚分が次のこずを期埅しおいるこずだず思いたす。

  • 各ノヌドには安定したIDがありたす
  • そのIDはDNS名です
  • 基盀ずなるIDのIPは安定しおいる必芁はありたせん
  • ノヌドは、安定したIDDNSたたはパブリックIPのいずれかによっお他のノヌドに察しお自身を識別するこずを期埅しおいたす。
  • 䞀郚のクラスタヌ化された゜フトりェアは、クラむアントが到達するノヌドのIPが、クラスタヌ内の他のナヌザヌにアナりンスできるIPず䞀臎し、そのIPが到達可胜であるこずを期埅したす。

- - - オリゞナルメッセヌゞ - - -

@timothysc re逆匕きDNS-逆匕きDNSずは䜕ですか ゜ヌスIP
接続 それはどれも久郚では機胜したせん。 サヌビスを介した接続は
プロキシされるため、source-ipはそもそも機胜したせん修正される可胜性がありたす。

私はZKを知りたせん-圌らが逆に䜕を埗ようずしおいるのか説明できたすか
DNS それは非垞に壊れやすい仮定のようです。

2015幎3月9日月曜日午前9時5分、ティモシヌセントクレア[email protected]
曞きたした

@thockin https://github.com/thockin re逆匕きDNS、手を振っおみたしょう
私たちの手はそれを芁件ず考えおいたす。

ZKは、他の倚くの分散システムず同様に、それなしでは機胜しなくなりたす。

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


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

2015幎3月9日月曜日12:49 PM、Clayton Coleman
[email protected]は次のように曞いおいたす

䜜成する各ポッドに䞀意のラベルmembers =を適甚し、最倧でシヌケンスを䜜成しようずするRC
N個のレプリカ、および「member」の倀ごずにA名ずCNAME名を䜜成したヘッドレスサヌビス
label。service.namespace.local、ここでルヌトはそれらすべおのservice.namespace.local-> roundを提䟛したした
robin-> 1.service.namespace.local、2.service.namespace.localはロヌカルのようです。

ブレンダンず私が跳ね回っおいたずいう考えは基本的にプヌルでした
トヌクンの、おそらくRCの䞀郚、おそらくそうではない、RCの各芁玠
割り圓おられたす。 そのトヌクンが䞎えられるず、他のものを割り圓おるこずができたす

  • VIP、PD、䞀般的なむンデックスなど。ポッドが
    死ぬず、トヌクンはプヌルに戻され、そのポッドが亀換されるず
    そのトヌクンは再利甚されたす。

問題は、「任意のトヌクン」をどのように倉換するかを怜蚎するこずです。
䜕か意味のあるもの。

これらの個々のDNSラベルには厳密なポッドIPを䜿甚できたす。 それぞれに停のIPを䜜成するずコストがかかり、コンテナは独自のIPを誰かに送信できなくなりたす。

私は詊しおいたせんが、名目䞊のサヌビスに完党なSNATを実行させるこずができるず思いたす
およびDNATは11であるため。 これは安定する方法です
移行可胜なIPのないポッドごずのIP。

- - - オリゞナルメッセヌゞ - - -

@thockin re逆匕きDNS、手を振っお考えおみたしょう
芁件。

ZKは、他の倚くの分散システムず同様に、それなしでは機胜しなくなりたす。


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

—
このメヌルに盎接返信するか、GitHubで衚瀺しおください。

䞊流に泳ぐのは私から遠く離れおいたす-十分なアプリが本圓にDNSを期埅しおいる堎合
このように機胜させるず、このように機胜させるこずができたす。

スケッチ

レプリケヌションコントロヌラヌRを䜜成するず、DNS名「$ R.rc」が䜜成されたす。
そのRCの「䞋」にあるポッドIPのプヌル。 各ポッドPはDNS名を取埗したす
「$ P。$ R.rc」。 でもPっおなに 単玔なむンデックスかもしれたせんが、
瀟内で激しく噛んだ。 GenerateNameのようなランダムな文字列である可胜性がありたす。
ただし、ポッドの停止/再起動埌も存続する必芁がありたすおそらく、ポッドのホスト名は
マッチ。

7:59の火、2015幎3月10日には、クレむトン・コヌルマン[email protected]
曞きたした

私の経隓そしおおそらくティムの経隓は、クラスタヌ化されたものの倧郚分が
今日の゜フトりェアは次のこずを期埅しおいたす。

  • 各ノヌドには安定したIDがありたす
  • そのIDはDNS名です
  • 基盀ずなるIDのIPは安定しおいる必芁はありたせん
  • ノヌドは、安定したノヌドのいずれかによっお、他のノヌドに察しお自身を識別するこずを期埅しおいたす。
    IDDNSたたはそのパブリックIP
  • 䞀郚のクラスタヌ化された゜フトりェアは、クラむアントのノヌドのIPを想定しおいたす
    IPに䞀臎するように到達するず、他の人に自分自身をアナりンスできたす。
    クラスタヌずそのIPに到達可胜にするため。

- - - オリゞナルメッセヌゞ - - -

@timothysc re逆匕きDNS-逆匕きDNSずは䜕ですか ゜ヌスIP
接続 それはどれも久郚では機胜したせん。 サヌビスを介した接続は
プロキシされるため、source-ipはそもそも機胜したせん修正される可胜性がありたす。

私はZKを知りたせん-圌らが逆に䜕を埗ようずしおいるのか説明できたすか
DNS それは非垞に壊れやすい仮定のようです。

2015幎3月9日月曜日午前9時5分、ティモシヌセントクレア<
[email protected]>
曞きたした

@thockin https://github.com/thockin re逆匕きDNS、手を振っおみたしょう
私たちの手はそれを芁件ず考えおいたす。

ZKは、他の倚くの分散システムず同様に、それなしでは機胜しなくなりたす。

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

。


このメヌルに盎接返信するか、GitHubで衚瀺しおください。

https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -78063150

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

私はDNSがRCではなく名目䞊のサヌビスに接続されおいるようなものです。

内郚的に単玔なむンデックスの問題点は䜕でしたか P> 5000

- - - オリゞナルメッセヌゞ - - -

䞊流に泳ぐのは私から遠く離れおいたす-十分なアプリが本圓にDNSを期埅しおいる堎合
このように機胜させるず、このように機胜させるこずができたす。

スケッチ

レプリケヌションコントロヌラヌRを䜜成するず、DNS名「$ R.rc」が䜜成されたす。
そのRCの「䞋」にあるポッドIPのプヌル。 各ポッドPはDNS名を取埗したす
「$ P。$ R.rc」。 でもPっおなに 単玔なむンデックスかもしれたせんが、
瀟内で激しく噛んだ。 GenerateNameのようなランダムな文字列である可胜性がありたす。
ただし、ポッドの停止/再起動埌も存続する必芁がありたすおそらく、ポッドのホスト名は
マッチ。

7:59の火、2015幎3月10日には、クレむトン・コヌルマン[email protected]
曞きたした

私の経隓そしおおそらくティムの経隓は、クラスタヌ化されたものの倧郚分が
今日の゜フトりェアは次のこずを期埅しおいたす。

  • 各ノヌドには安定したIDがありたす
  • そのIDはDNS名です
  • 基盀ずなるIDのIPは安定しおいる必芁はありたせん
  • ノヌドは、安定したノヌドのいずれかによっお、他のノヌドに察しお自身を識別するこずを期埅しおいたす。
    IDDNSたたはそのパブリックIP
  • 䞀郚のクラスタヌ化された゜フトりェアは、クラむアントのノヌドのIPを想定しおいたす
    IPに䞀臎するように到達するず、他の人に自分自身をアナりンスできたす。
    クラスタヌずそのIPに到達可胜にするため。

- - - オリゞナルメッセヌゞ - - -

@timothysc re逆匕きDNS-逆匕きDNSずは䜕ですか ゜ヌスIP
接続 それはどれも久郚では機胜したせん。 サヌビスを介した接続は
プロキシされるため、source-ipはそもそも機胜したせん修正される可胜性がありたす。

私はZKを知りたせん-圌らが逆に䜕を埗ようずしおいるのか説明できたすか
DNS それは非垞に壊れやすい仮定のようです。

2015幎3月9日月曜日午前9時5分、ティモシヌセントクレア<
[email protected]>
曞きたした

@thockin https://github.com/thockin re逆匕きDNS、手を振っおみたしょう
私たちの手はそれを芁件ず考えおいたす。

ZKは、他の倚くの分散システムず同様に、それなしでは機胜しなくなりたす。

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

。


このメヌルに盎接返信するか、GitHubで衚瀺しおください。

https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -78063150

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


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

特別なケヌシングの11VIPに+1。 それはよくあるこずだず思いたす。

DNSマッピングを動的に倉曎するこずに぀いおはただ心配です。 私はそれを必芁ずしないアプロヌチを奜みたす。

代替案を評䟡する際に留意すべき点は、叀いものず新しいものを同時に共存させるには、最終的に同じ圹割を持぀2぀のポッドが必芁になるず100確信しおいるずいうこずです。 したがっお、この圹割は、オブゞェクト名や、ポッドの䜜成時に䞀意であり、石に蚭定されおいる必芁がある他の䜕かに関連付けるこずはできたせん。

ロヌル割り圓おメカニズムをレプリケヌションコントロヌラヌに結び付けるず、ロヌリングアップデヌトやカナリアなどがほが陀倖されたす。可胜であれば、それを避けたいず思いたす。

@smarterclayton単玔なむンデックスは、芏暡が原因で問題にはなりたせん。 モデルによるものです。 数分前の私のコメントをご芧ください。 ポッドやRCのIDに関係なく動的に割り圓おるこずができる堎合は、単玔なむンデックスが最適です。

問題の1぀がシステム指向の仮定であるずするず、Linuxがここで私たちのためにできるこずはありたすか たずえば、サヌビスVIPのコンテナにIP゚むリアスなどを䜜成できたすか

やあみんな、

私は今週ずっず倖出しおいたす。 これは本圓に楜しい䌚話ですが、それは必芁です
手元にあるよりも倚くの時間。 座っお実際に話し合っお幞せです
来週の時間。

3時56分PMの火、2015幎3月10日には、ブラむアン・グラント[email protected]
曞きたした

問題の1぀がシステム指向の仮定であるこずを考えるず、そこにありたす
Linuxがここで私たちのために䜕かできるこずはありたすか たずえば、IPを䜜成できたすか
サヌビスVIPのコンテナ内の゚むリアスなど

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

私は次の2日間ポケットから出おいたす-来週はそうです。

2015幎3月10日には、1133 PMで、ティムHockinの[email protected]は曞きたした

やあみんな、

私は今週ずっず倖出しおいたす。 これは本圓に楜しい䌚話ですが、それは必芁です
手元にあるよりも倚くの時間。 座っお実際に話し合っお幞せです
来週の時間。

3時56分PMの火、2015幎3月10日には、ブラむアン・グラント[email protected]
曞きたした

問題の1぀がシステム指向の仮定であるこずを考えるず、そこにありたす
Linuxがここで私たちのために䜕かできるこずはありたすか たずえば、IPを䜜成できたすか
サヌビスVIPのコンテナ内の゚むリアスなど

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

—
このメヌルに盎接返信するか、GitHubで衚瀺しおください。

来週は+1、おそらくたたり堎。

関連するトピックがポップアップするため、このスレッドを再床突くhttps://github.com/GoogleCloudPlatform/kubernetes/issues/4825#issuecomment-76193417、https://github.com/GoogleCloudPlatform/kubernetes/issues/175#issuecomment-84423902 、https//github.com/GoogleCloudPlatform/kubernetes/issues/1607#issuecomment-88177147、6393。

  1. ネットワヌクIDDNS名やIPアドレスを個々のポッドに割り圓おるにはどうすればよいですかシングルトンたたは公称セットの䞀郚である可胜性がありたすか
  2. ポッド内のコンテナにIDをどのように䌝えたすか

ハングアりトをスケゞュヌルする必芁がありたすか、それずも毎週のコミュニティハングアりトを䜿甚する必芁がありたすか

たた、 https//github.com/openshift/mongodb/pull/14は、メンバヌシップセットの初期化の䞀般的なパタヌンのプロトタむプを䜜成し始めおいたすコンテナヌ、ラむブラリヌ、たたは...

@danmcp @mfojtik

- - - オリゞナルメッセヌゞ - - -

関連するトピックがポップアップするため、このスレッドをもう䞀床突く
 https://github.com/GoogleCloudPlatform/kubernetes/issues/4825#issuecomment -76193417、
https://github.com/GoogleCloudPlatform/kubernetes/issues/175#issuecomment -84423902、
https://github.com/GoogleCloudPlatform/kubernetes/issues/1607#issuecomment -88177147、

6393。

  1. ネットワヌクIDDNS名やIPアドレスをに割り圓おるにはどうすればよいですか
    シングルトンたたは名目䞊のセットの䞀郚である可胜性がある個々のポッド
  2. ポッド内のコンテナにIDをどのように䌝えたすか

ハングアりトをスケゞュヌルする必芁がありたすか、それずも毎週のコミュニティハングアりトを䜿甚する必芁がありたすか


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

IIUC、そのパズルの1぀は、マスタヌ遞挙1542です。

ええ、私たちはそれに぀いお話し合いたした。 独自の遞択メンバヌシップを実行できるほずんどのクラスタヌにずっお最も重芁ですKube゚ンドポむントからメンバヌシップを怜出し、クラスタヌに適甚したすが、それにアプロヌチする方法は垞に異なりたす。 たずえば、カサンドラは基本的にメンバヌシップの倖郚の真実の源ずしお久郚を䜿甚しおいるので、それはSEPであり、それはリヌダヌシップの遞挙を容易にしたす。 メンバヌの遅れによっおは、メンバヌシップがフラップした堎合にパヌティションが䜜成される可胜性があるず思いたす。

mongoの堎合、各メンバヌに連絡しお、既存のクラスタヌに参加させるか、新しいクラスタヌを圢成する必芁がありたす。 耇数のクラスタヌが存圚する堎合、それらを悪化させたくはありたせん。

サヌビスIPをコンテナに通信する問題は、倖郚IPをVMに通信するのず同様であるこずに泚意しおください //cloud.google.com/compute/docs/networking。 GCEは倖郚アドレスを内郚アドレスずの間で倉換し、倖郚アドレスはメタデヌタサヌバヌhttp://169.254.169.254/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip介しお通信されたす。 AWSも同様です http://169.254.169.254/latest/meta-data/public-ipv4 。

@smarterclayton mongoプロトタむプPRを曎新したした https 

珟圚、replicaSetを初期化するワンショットポッドを䜿甚しおいたす

再。 このメカニズムをレプリケヌション/シャヌドコントロヌラヌに結び付ける

DNS名をレプリケヌションコントロヌラヌやポッドオブゞェクト名に詊行するず、むンプレヌス曎新モデルが匷制されたす。 たったく異なる皮類の「むンプレヌス」ロヌリングアップデヌトを実装する必芁がありたすが、1぀のコントロヌラヌで同時に耇数のテンプレヌトをサポヌトする必芁がありたす。 たた、ある皮の曎新新しいホストぞの移動を含むを実行するには、ポッドを削陀しおから同じ名前で再䜜成する必芁があるこずも意味したす。これにより、新しいホストを远加するアプロヌチず比范しお、ダりンタむムが増加したす。叀いものを取り陀く前にポッド。

トヌクンプヌルのアむデアは玠晎らしいですね。 RCから切り離す必芁があるず思いたす。

これを远加する堎合は、これを䞊䜍レベルのコントロヌラヌに結合できたす。 1743および/たたは503に぀いおさらにコメントしたす。

これは、1743で提案されおいるDeploymentControllerず実際に結合するべきではありたせん。 耇数の独立したリリヌストラックのシナリオや、提案された名前亀換ロヌリングアップデヌトなど、別のメカニズムでロヌルアりトを制埡したい堎合には機胜したせん。 同様の理由で、DNS名をpod / RC / DCオブゞェクト名に関連付けたせん。

これで、ある皮のサヌビス、たたは完党に独立したコントロヌラヌに戻りたす。 おそらく、゚ンドポむントコントロヌラヌはサヌビス゚ンドポむントにむンデックスを割り圓おるこずができたすか ゚ンドポむント自䜓は、このデヌタを蚘録するのに十分な信頌性のある堎所ですか 倱われた堎合、すべおのポッドのむンデックスが再䜜成されたす。

ポッド内のコンテナヌたでのIDの通信を容易にするために2316で説明されおいるenv。var。substitutionを介しおなど、サブリ゜ヌスを介しお、圹割が割り圓お/割り圓お解陀されたずきにポッドにフィヌルドを蚭定するず䟿利です。 これにより、耐久性の問題にも察凊できたす。

名目䞊のむンスタンス甚にDNSスキヌマのスペヌスを予玄する必芁がありたす-6666。

https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -78071406に埓っお、ポッドIPを䜿甚し、公称むンスタンスのDNSを再マッピングするこずを詊みるこずができるこずを賌入できたした。

たた、これを2月の1.0マむルストヌンから削陀したしたただし、roadmap.mdではありたせんが、6393の説明では、远加し盎す可胜性があるこずを瀺しおいたす。

ええ、暙準の名前ツヌルを䜿甚するず、「私は誰ですか」が本圓に簡単になりたす。

2015幎4月10日には、午前8時11分PMで、ブラむアン・グラントの[email protected]は曞きたした

@thockinによる
http://en.wikipedia.org/wiki/Reverse_DNS_lookup

—
このメヌルに盎接返信するか、GitHubで衚瀺しおください。

/賌読

ここでの芁件を理解できおいるかどうかはわかりたせん。

サヌビスずポッドの間には、固有のN察Mの関係がありたす。
システムの蚭蚈。 逆匕きDNSのようなものは、䞀般的に
単䞀の応答ポッドのIPを指定しお、正芏名を取埗したす。 曞かれたすべおのドキュメント
DNSに぀いおは「耇数のリバヌスレコヌドを返さないでください」ず蚀っおいたす。 ポッドは
Nサヌビスでは、この単䞀の応答は実際にはサヌビスに関連するこずはできたせん。 我々
正芏名ぞの逆ルックアップを実行しおから、その名前でTXTルックアップを実行できたす。
「あなたが受けおいるサヌビス」の名前ですが、それを維持するのは難しく、
ずにかく本質的にカスタムプロトコル。

私がRCに名目䞊の䜕かを付けるこずを考えた理由はそれが
より具䜓的な関係。 しかし、それは均等ではありたせん。 ポッドは次の方法で䜜成できたす
1぀のRCが孀立し、別のRCに採甚され、それによっお砎壊されたした。 たたは
手動で砎壊

ですから、数を制限する以倖に、これで䜕をしたいのかわかりたせん
サヌビスのポッドは「䞋」にある可胜性があり、それはひどい音に聞こえたす。

行動芁件は䜕ですか 私たちは䜕を達成しようずしおいたす。 我々
DNSおよびヘッドレスサヌビスで単玔なセットセマンティクスを提䟛できたす。 それですか
十分な そうでない堎合、なぜですか

極端に進んで、SNAT / DNATポッドにiptablesルヌルを蚭定するこずができたす
圌ら党員がVIPでお互いを芋るようにサヌビス。 たずえば、ポッドのセットが䞎えられたす
P1、P2、P3圌らはVIPV1、V2、V3を取埗したす。 P1からV2ぞのトラフィックは
V1などから来おいるように芋えたす。クラむアントはV {1,2,3}にアクセスしたす。 しかし、䜕
問題は本圓に解決したすか 安定したIPを提䟛したすが、これは
ヘッドレスサヌビス党䜓の䞀般的な問題

2015幎4月21日火曜日午埌2時17分、David Oppenheimer < [email protected]

曞きたした

/賌読

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

目暙は非垞に具䜓的でした。 実際のクラスタヌ化されたシステムには、ノヌド障害が発生した堎合でも継続するこずが期埅される「ID」を持぀メンバヌがありたす。 そのIDは氞続ディスクたたは「名前」に付加されおいる可胜性がありたすが、他のシステムのIDの名前は倉曎できたせん。

たずえば、飌育係はノヌドごずのIDを持っおいたす。 そのIDは、クラスタヌメンバヌシップで安定しおいる必芁がありたす。2぀のポッドがhost1であるず芋なす可胜性がありたすが、host1がなくなるず、host435で眮き換えるこずはできたせん。 ある堎所から別の堎所に移動するそのポッド甚に再利甚された氞続ディスクがある堎合がありたすが、移動する堎合、ポッドはそのIDを定矩できる必芁がありたす。 しかし、そのを割り圓おる方法が必芁です。

私が名目䞊のサヌビスに぀いお考える方法は、完党に柔軟な数癟のナヌスケヌスではなく、垞に小さな3/5/7メンバヌシップで既存の゜フトりェアを有効にするこずだず思いたす。 おそらく、そのナヌスケヌスをこの議論から分割する必芁がありたす。

2015幎4月22日には、午前1時59 AMで、ティムHockinの[email protected]は曞きたした

ここでの芁件を理解できおいるかどうかはわかりたせん。

サヌビスずポッドの間には、固有のN察Mの関係がありたす。
システムの蚭蚈。 逆匕きDNSのようなものは、䞀般的に
単䞀の応答ポッドのIPを指定しお、正芏名を取埗したす。 曞かれたすべおのドキュメント
DNSに぀いおは「耇数のリバヌスレコヌドを返さないでください」ず蚀っおいたす。 ポッドは
Nサヌビスでは、この単䞀の応答は実際にはサヌビスに関連するこずはできたせん。 我々
正芏名ぞの逆ルックアップを実行しおから、その名前でTXTルックアップを実行できたす。
「あなたが受けおいるサヌビス」の名前ですが、それを維持するのは難しく、
ずにかく本質的にカスタムプロトコル。

私がRCに名目䞊の䜕かを付けるこずを考えた理由はそれが
より具䜓的な関係。 しかし、それは均等ではありたせん。 ポッドは次の方法で䜜成できたす
1぀のRCが孀立し、別のRCに採甚され、それによっお砎壊されたした。 たたは
手動で砎壊

ですから、数を制限する以倖に、これで䜕をしたいのかわかりたせん
サヌビスのポッドは「䞋」にある可胜性があり、それはひどい音に聞こえたす。

行動芁件は䜕ですか 私たちは䜕を達成しようずしおいたす。 我々
DNSおよびヘッドレスサヌビスで単玔なセットセマンティクスを提䟛できたす。 それですか
十分な そうでない堎合、なぜですか

極端に進んで、SNAT / DNATポッドにiptablesルヌルを蚭定するこずができたす
圌ら党員がVIPでお互いを芋るようにサヌビス。 たずえば、ポッドのセットが䞎えられたす
P1、P2、P3圌らはVIPV1、V2、V3を取埗したす。 P1からV2ぞのトラフィックは
V1などから来おいるように芋えたす。クラむアントはV {1,2,3}にアクセスしたす。 しかし、䜕
問題は本圓に解決したすか 安定したIPを提䟛したすが、これは
ヘッドレスサヌビス党䜓の䞀般的な問題

2015幎4月21日火曜日午埌2時17分、David Oppenheimer < [email protected]

曞きたした

/賌読

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

—
このメヌルに盎接返信するか、GitHubで衚瀺しおください。

ある皮のコントロヌラは、ポッドの䞀郚のフィヌルドを動的に蚭定/蚭定解陀できたす。 ポッドやRCIDず混同するこずはできたせん。 ネットワヌクIDをポッドたたはRCIDに結び付けるこずは完党に壊れおいたす。

通垞のサヌビスやヘッドレスサヌビスで逆匕きDNSルックアップを機胜させようずはしたせん。たた、ポッドごずに最倧1぀の公称サヌビスを課すのは䞍合理ではないず思いたす。他の皮類のサヌビスを制限する必芁はたったくありたせん。 。

長期的にはプッシュしたいDNSの制限がいく぀かありたすキャッシュの無効化、長いポヌリングのサポヌトなど。 耇数のPTRレコヌドは、おそらくそのリストに远加された単なる別の項目です。

もう1぀の方法は、名目䞊のサヌビスの各ポッドにサヌビスIPを割り圓おお、発生する問題を解決できるこずです。

- - - オリゞナルメッセヌゞ - - -

ある皮のコントロヌラは、ポッドの䞀郚のフィヌルドを動的に蚭定/蚭定解陀できたす。 これ
ポッドやRCIDず混同するこずはできたせん。 ネットワヌクIDを結び付ける
ポッドたたはRCIDぞの接続は完党に壊れおいたす。

通垞たたはヘッドレスで逆匕きDNSルックアップを機胜させようずはしたせん
サヌビス、および私はそれが名目䞊の最倧1぀を課すこずは䞍合理ではないず思いたす
ポッドごずのサヌビス-他のタむプのサヌビスを制限する必芁はありたせん
党お。

長期的にはプッシュしたいDNSの制限がいく぀かありたす
キャッシュの無効化、長いポヌリングのサポヌトなど。 耇数のPTRレコヌド
おそらく、そのリストに远加された別のアむテムです。

もう1぀の方法は、サヌビスIPを各ポッドに提䟛できるこずです。
名目䞊のサヌビスを提䟛し、発生する問題を解決したす。

これらのサヌビスの倚くは、所有しおいるIP名前が接続先のIPに解決されるこずを期埅しおいたす。したがっお、172.1.1.1でXに接続するず、Xは172.1.1.1ず芋なしたす。 それはすべおの゜フトりェアではありたせんが、䞀郚の゜フトりェアです。 通垞はDNS名ですが、これはIPがその䞋で倉曎される可胜性があるこずを意味したす。


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

これは私にずっおただ少し抜象的なものだず思いたす。

実際のクラスタヌ化されたシステムには、「アむデンティティ」を持぀メンバヌがありたす。
ノヌド障害が発生した堎合でも継続するこずが期埅されたす。 そのアむデンティティ
氞続ディスクたたは「名前」に接続されおいる可胜性がありたすが、名前は
他のシステムに識別しお倉曎するこずはできたせん。

これは必須ではありたせん。 非垞に曖昧なので、実装できたせん。

たずえば、飌育係はノヌドごずのIDを持っおいたす。 そのアむデンティティは残っおいる必芁がありたす
クラスタメンバヌシップで安定

アむデンティティずは䜕ですか IPアドレス ゜フトりェアに枡される文字列フラグ
およびenvvar zkプロセスはどのようにしお自身のアむデンティティが䜕であるかを孊習したすか

ある皮のコントロヌラは、ポッドの䞀郚のフィヌルドを動的に蚭定/蚭定解陀できたす

これにより、これらのポッドが再起動したすが、それでも応答したせん
どのフィヌルド、どの倀、およびポッドに䌝えるロゞックに぀いおの質問ですか

アノテヌションをコマンドラむンフラグに展開するようなものを芋るこずができたした
env varsず話し合っおいるようにたたはenvvarsだけに。 䟋えば
コントロヌラは泚釈を曞き蟌みたす["zookeeper.com/index"]= 9、倉換したす
$ .metatdata ["zookeeper.com/index"]をZK_INDEX環境に远加したす。 しかし、私はこれを䜜っおいたす
䞊に、私は正確に飌育係たたは
䜕でも必芁。

最倧1぀の名目䞊のサヌビスを課すこずは䞍合理ではないず思いたす
ポッドごず

そのような制限を実斜するのは難しいず思いたす。 システムはそうです
これらの制限を課すこずはより悪いかもしれないずいう緩く結合された非同期
問題を解決するだけです。

名目䞊のサヌビスの各ポッドにサヌビスIPを䞎えるこずができたす

これが私たちが始めたずころですが...

これらのサヌビスの倚くは、それらが持っおいるIPそれらの名前を期埅しおいたす
接続するIPに解決されたす-したがっお、172.1.1.1でXに接続する堎合、
次に、Xは172.1.1を考えたす。

サヌビスIPは、次のようなより詳现な凊理を行わない限り、これを満たしたせん。
SNAT / DNATで蚀及したした。 そしおそれでも本圓の欠点がありたす。

私は銖の痛みになろうずはしおいたせん、それは私たちがほずんど持っおいないずいうこずだけです
1.0たでの準備期間であり、ここには十分に明確なものはありたせん。
抂念実蚌でさえ、適切に実装するこずははるかに少ないです。

私は私たちが䜓隓したいこずを正確に特定しようずしおいるので、私は芋るこずができたす
実装できるもの。 DNSぞの繰り返しの参照を考えるず、私は保持しおいたす
ここで䜕が起こっおいるのかがわかるたで、DNSのやり盎しをオフにしたす。

午前10時12分AMで氎曜日、2015幎4月22日には、クレむトン・コヌルマン[email protected]
曞きたした

- - - オリゞナルメッセヌゞ - - -

ある皮のコントロヌラヌは、いく぀かのフィヌルドを動的に蚭定/蚭定解陀できたす
ポッド。 これ
ポッドやRCIDず混同するこずはできたせん。 ネットワヌクを結ぶ
身元
ポッドたたはRCIDぞの接続は完党に壊れおいたす。

通垞たたはヘッドレスで逆匕きDNSルックアップを機胜させようずはしたせん
サヌビス、そしお私は最倧1぀を課すこずは䞍合理ではないず思いたす
名目
ポッドごずのサヌビス-他のタむプのサヌビスを制限する必芁はありたせん
党お。

長い間プッシュしたいDNSの制限がいく぀かありたす
走る
キャッシュの無効化、長いポヌリングのサポヌトなど。 耇数のPTR
蚘録
おそらく、そのリストに远加された別のアむテムです。

もう1぀の方法は、サヌビスIPを各ポッドに提䟛できるこずです。
名目䞊のサヌビスを提䟛し、発生する問題を解決したす。

これらのサヌビスの倚くは、所有しおいるIP名前が解決されるこずを期埅しおいたす。
それらが接続するIPに-したがっお、172.1.1.1でXに接続する堎合、X
その172.1.1.1を考えおいたす。 それはすべおの゜フトりェアではありたせんが、䞀郚の゜フトりェアです。 通垞は
ただし、DNS名は、IPがその䞋で倉曎される可胜性があるこずを意味したす。


このメヌルに盎接返信するか、GitHubで衚瀺しおください。

https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -95266421

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

マルチポヌトの䟋のほずんどは、クラスタヌ化されたシステムです。 䟋えば
ZK 構成ファむル内の解決可胜なホスト名たたはIPアドレス、およびファむル内の「id」぀たり、むンデックス1、2、3、...

たた、いく぀かのDBを調べる必芁がありたす。

私たちが䜕をしおも、すべおがうたくいくわけではありたせん。 スむヌトスポットを芋぀ける必芁がありたす。

- - - オリゞナルメッセヌゞ - - -

これは私にずっおただ少し抜象的なものだず思いたす。

実際のクラスタヌ化されたシステムには、「アむデンティティ」を持぀メンバヌがありたす。
ノヌド障害が発生した堎合でも継続するこずが期埅されたす。 そのアむデンティティ
氞続ディスクたたは「名前」に接続されおいる可胜性がありたすが、名前は
他のシステムに識別しお倉曎するこずはできたせん。

これは必須ではありたせん。 非垞に曖昧なので、実装できたせん。

たずえば、飌育係はノヌドごずのIDを持っおいたす。 そのアむデンティティは残っおいる必芁がありたす
クラスタメンバヌシップで安定

アむデンティティずは䜕ですか IPアドレス ゜フトりェアに枡される文字列フラグ
およびenvvar zkプロセスはどのようにしお自身のアむデンティティが䜕であるかを孊習したすか

ある皮のコントロヌラは、ポッドの䞀郚のフィヌルドを動的に蚭定/蚭定解陀できたす

これにより、これらのポッドが再起動したすが、それでも応答したせん
どのフィヌルド、どの倀、およびポッドに䌝えるロゞックに぀いおの質問ですか

アノテヌションをコマンドラむンフラグに展開するようなものを芋るこずができたした
env varsず話し合っおいるようにたたはenvvarsだけに。 䟋えば
コントロヌラは泚釈を曞き蟌みたす["zookeeper.com/index"]= 9、倉換したす
$ .metatdata ["zookeeper.com/index"]をZK_INDEX環境に远加したす。 しかし、私はこれを䜜っおいたす
䞊に、私は正確に飌育係たたは
䜕でも必芁。

最倧1぀の名目䞊のサヌビスを課すこずは䞍合理ではないず思いたす
ポッドごず

そのような制限を実斜するのは難しいず思いたす。 システムはそうです
これらの制限を課すこずはより悪いかもしれないずいう緩く結合された非同期
問題を解決するだけです。

名目䞊のサヌビスの各ポッドにサヌビスIPを䞎えるこずができたす

これが私たちが始めたずころですが...

これらのサヌビスの倚くは、それらが持っおいるIPそれらの名前を期埅しおいたす
接続するIPに解決されたす-したがっお、172.1.1.1でXに接続する堎合、
次に、Xは172.1.1を考えたす。

サヌビスIPは、次のようなより詳现な凊理を行わない限り、これを満たしたせん。
SNAT / DNATで蚀及したした。 そしおそれでも本圓の欠点がありたす。

私は銖の痛みになろうずはしおいたせん、それは私たちがほずんど持っおいないずいうこずだけです
1.0たでの準備期間であり、ここには十分に明確なものはありたせん。
抂念実蚌でさえ、適切に実装するこずははるかに少ないです。

私は私たちが䜓隓したいこずを正確に特定しようずしおいるので、私は芋るこずができたす
実装できるもの。 DNSぞの繰り返しの参照を考えるず、私は保持しおいたす
ここで䜕が起こっおいるのかがわかるたで、DNSのやり盎しをオフにしたす。

それは賢明だず思いたす。私たちは、既知の䟋のセットを解決するために特に時間を割く必芁がありたす。 具䜓的な䟋MongoDBレプリカセット、Zookeeper、Mysqlマスタヌ/スレヌブず、kube / examplesの既存の䟋に掻甚できる3぀の方法がありたす。 おそらく、アむテムをハッシュ化し、解決できない問題に限界を蚭定し、残っおいるものを特定するための䜜業セッションです。

シャヌドID番号を割り圓おるバッチゞョブにも䜿甚できるため、この機胜の名前を倉曎するこずをお勧めしたす。

バッチゞョブの芁件は倚少異なるので、それを分けおおきたいず思いたす。

zookeeperの䟋 https 

名目䞊のサヌビスishのニヌズの䟋https://github.com/GoogleCloudPlatform/kubernetes/blob/master/examples/rethinkdb/image/run.sh#L26

なぜここで方向性がただはっきりしおいないのか、特にGoogle瀟員からは少し混乱しおいたす。 Googleは長幎Borgの䞋でステヌトフルサヌビスを実行しおおり、このタむプのワヌクロヌドに䜕が必芁かは非垞に明確です。

  • 珟圚のポッドが衚す「シャヌド」同䞀ではないレプリカのセットの1぀である安定した識別子ボヌグでは、これは「タスク番号」-単玔な敎数です。 この識別子は、ポッドの再スケゞュヌル/再起動党䜓で䞀定である必芁がありたす。
  • おそらく䜕らかの方法で安定した識別子を䜿甚しお、すべおの「ピア」シャヌドを列挙しお連絡する方法borgでは、これはタスク番号ずずもにぜっちゃりしたプレフィックスです

..これで完了です。

泚リ゜ヌスの陀倖が各シャヌドにずっお重芁である堎合、障害/再起動䞭にポッドの有効期間が重耇する可胜性が垞にあるため、アプリケヌションは独自の分散ロックを実行する必芁がありたすおそらくシャヌド識別子に基づくetcdロックを䜿甚したす。 朜圚的な゚キゟチックな機胜拡匵は、冗長性/負荷のために、各シャヌド内に耇数の同䞀のレプリカを蚱可するこずです。

これは、シャヌドごずに䞀意のサヌビス/ポヌトを䜜成し、レプリカでレプリケヌションコントロヌラヌを実行するこずで今すぐ停造でき

これをkubernetesに実装する自然な方法は次のずおりです。

  • ポッドは、独自のシャヌドむンデックス敎数ずシャヌドの総数を提䟛する远加の環境倉数を取埗したすたたは、䞋䜍APIを介しお通信したすか。
  • ReplicationControllersは「シャヌド」カりントデフォルト1を取埗し、「レプリカ」は「各シャヌド内のレプリカ」デフォルト1を意味するように再解釈されたす。 レプリカのセットを瞮小するずきは、シャヌドむンデックスを連続させるために最埌から匷制終了する必芁がありたす。 「シャヌド」を倉曎するには、制埡されたポッドをロヌリングリスタヌトしお「合蚈シャヌド」環境倉数を曎新する必芁があるこずに泚意しおくださいすぐに発生するこずは望たしくありたせん。
  • サヌビスは、連続する範囲のポヌトを通垞のセレクタヌず暗黙の「シャヌドむンデックス」セレクタヌにマップする同様の「シャヌド」カりントを取埗したす。
  • ポッドは、SERVICE_PORTたたはいく぀かの新しいenv var+シャヌドむンデックスオフセットを䜿甚しお、他のシャヌドを芋぀けるこずができたす。

shards = 1の堎合、䞊蚘は珟圚の動䜜に正垞に䜎䞋するこずに泚意しおください。

私は䞀般的にこれに同意したすそしおあなたが蚀うように、それはボヌグでの時間のテストに圹立ちたしたが、シャヌドごずに耇数のレプリカの「゚キゟチックな機胜拡匵」を䜿甚するこずはお勧めしたせんおそらく、移行のカバヌ。

先に述べたように、これは静的な䜜業割り圓おを䜿甚しおバッチゞョブをサポヌトするために必芁なこずず密接に関連しおいたすここでは「タむプ1」ず呌んでいたすhttps//github.com/GoogleCloudPlatform/kubernetes/issues/1624#issuecomment -97622142

RCを倉曎したたたは䜕か新しいものを远加した堎合に調敎する必芁がある他の機胜は、展開がどのように適合するか、具䜓的には次のずおりです。

次のロヌリングアップデヌトを行うにはどうすればよいですか。

  1. 通垞のRC
  2. PerNodeController
  3. シャヌディングされたRC
  4. バッチゞョブ

単玔なRCに察しおのみ機胜するデプロむメントにはいく぀かの問題があるず思うので、それぞれにストロヌマンができるたでデプロむメントの実装を保留するこずをお勧めしたす。

- - - オリゞナルメッセヌゞ - - -

私は䞀般的にこれに同意したすそしおあなたが蚀うように、それは時の詊緎に圹立ちたした
ボヌグで、「゚キゟチックな機胜を䜿甚しないこずをお勧めしたすが
シャヌドごずの耇数のレプリカの拡匵」おそらく䜕かが必芁ですが
移行の裏でそのように。

先に述べたように、これは私たちがしなければならないこずず密接に関連しおいたす
静的な䜜業割り圓お私が「タむプ1」ず呌んでいたものを䜿甚したバッチゞョブをサポヌトする
ここ
https://github.com/GoogleCloudPlatform/kubernetes/issues/1624#issuecomment-97622142
。


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

むンスタンスごずに1぀のサヌビス、RC、氞続ボリュヌムクレヌムを䜜成するなど、耇数の回避策があるため、1.0ではこれおよび自動生成された氞続ボリュヌムクレヌムを優先しないこずを遞択したした。

ボヌグで静的に割り圓おられたタスクむンデックスは非垞に広く䜿甚されおいたすが、いく぀かの欠点があるこずを孊び、過去数幎にわたっお代替案の開発に時間を費やしおきたした。 問題の倚くは、むンデックスがタスク自䜓のラむフサむクルずアむデンティティに関連しおいるずいう事実から生じおいたす。 これにより、倚くの展開戊略、移行、動的タスク管理、およびその他の倚くのシナリオを実装するこずが困難になりたす。 その他の耇雑さは、展開前のタスクごずにむンデックスごずの構成を静的に生成するこずに起因したす。これは、むンデックス倀ごずに1぀のRCを生成するこずず同じです。 圌らが本圓にしたいのであれば、それは誰かがするのは簡単でしょう。 ラベルは、セット党䜓を砎棄するために匕き続き䜿甚できたす。

ノヌド/デヌモンコントロヌラヌごず良い点。 密に割り圓おられたむンデックスは、その堎合の悪いモデルです。 たずえば、ノヌドが完党になくなるずどうしたすか むンデックスはたばらになりたす。 サポヌトしないこずをお勧めしたす。

バッチゞョブ1624で説明したように、珟圚実行䞭のポッドではなく、完了に基づいおむンデックスを割り圓おたいず思いたす。

䞊で説明したように、むンデックスの割り圓おでは、氞続的なボリュヌムクレヌムなどの関連するストレヌゞを考慮する必芁がありたす。IDはネットワヌクIDDNS名やIPアドレスずストレヌゞに由来したす。

割り圓おは、単䞀のレプリケヌションコントロヌラヌで駆動するこずはできたせん。 これは単に機胜したせん。 レプリケヌションコントロヌラヌは氞続的な゚ンティティではなく、カナリア、ロヌリングアップデヌト、耇数のリリヌストラック、耇数のクラスタヌなど、サヌビスごずに耇数のRCが存圚するず予想されたす。提案されたDeploymentオブゞェクト1743でさえ適切なスコヌプを持っおいたせん。

割り圓おには3぀の遞択肢がありたす。

  1. 割り圓おを特別な皮類のサヌビスに関連付けたす。 サヌビスには正確に適切な範囲がありたす。 最終的には地域サヌビスも必芁になりたす。これは、通垞のサヌビスずヘッドレスサヌビスのハむブリッドのようなものです。 それは私が最初にこのメカニズムを提案したずきに私が想像したものです。 割り圓おぱンドポむントに蚘録されたす。 ゚ンドポむントやヘッドレスのようなDNSは、すべおのピアを列挙するための明癜な方法です。
  2. Serviceに䌌おいたすが、名目䞊のサヌビス専甚の新しいタむプのオブゞェクトを䜜成したす。 たた、割り圓おを蚘録するために新しいオブゞェクトが必芁になる可胜性がありたす。 これにより、APIサヌフェス、IMOが䞍必芁に拡匵されたす。
  3. 「プッシュ」ではなく「プル」。 ポッドは、ノヌドの制玄セレクタヌたたは提案されおいる非アフィニティメカニズムの1぀https://github.com/GoogleCloudPlatform/kubernetes/issues/4301#issuecomment-74355529がある堎合でも、明瀺的なコントロヌラヌなしでホストにスケゞュヌルされたす。 これもサヌビスVIPの割り圓おに䌌おいたす。 名目䞊のサヌビスに぀いおも同様のこずができたす。 ポッドたたはポッドテンプレヌトは、むンデックスの割り圓お元のむンデックスプヌルを指定したす。 䞀般的なサヌビスずは異なり、ポッドに異なるプヌルから耇数のむンデックスを割り圓おる必芁はありたせん。 割り圓おはポッド仕様に蚘録されたす。
  4. 長所ナヌザヌにずっおよりシンプルです。 別のオブゞェクトは必芁ありたせん。 ナヌザヌによる割り圓おを蚱可したす。
  5. 短所他の皮類のサヌビスずは異なりたす。

PVCの割り圓おでは、理想的には同じモデルを䜿甚したす。

ポッド移行3949がどのように調敎されるかを怜蚎するこずも䟡倀がありたす。 コンテナの状態を転送するには、亀換するポッドを削陀する前に、亀換甚ポッドを䜜成する必芁がありたす。 これにより、プルモデルが少し問題になる可胜性がありたす。 ずにかく、割り圓おメカニズムは移行を意識する必芁がありたす。

その他の考慮事項

  1. むンデックス/ IDをピアに䌝達する方法。 DNSは明癜な答えです。
  2. むンデックス/ IDをポッド内のコンテナに䌝達する方法。 環境倉数、逆匕きDNS、...割り圓おられたむンデックスは動的に倉曎されたせんが、ポッドがただ存圚しおいる間にDNSバむンディングが倉曎される可胜性がありたす。 アプリケヌションが他の環境で動䜜するこずをすでに期埅しおいるメカニズムを遞択したいず思いたす。より広範なAPIの議論386ず同様に、アプリケヌションをKubernetes固有の環境倉数に結合したくはありたせんが、新しいEnvVarSource env var眮換7936はそれを回避するのに圹立ちたす。

私はあなたが蚀ったこずのいく぀かに同意したせんが、1.0以降たでこの議論を続けるのを埅ちたしょう。

この叀いスレッドを埩掻させお質問をしたす。 レプリケヌションコントロヌラヌの呜名ポリシヌに関心はありたすか 具䜓的には、䞊蚘のように名目䞊の名前を付けたす。このレプリケヌションコントロヌラによっお制埡されるすべおのポッドには、0001、0002などの番号付きのサフィックスが付いおいたす。

ナヌスケヌスの䟋は、ドメむン名でこれらのポッドのセットを指すnginxロヌドバランサヌです。 したがっお、ポッドが出入りするずきに、ドメむン名は垞にxxx-0001からxxx-000Nに固定されるこずが期埅されたす。

@ravigaddeこの問題に関する私の最埌のコメントを読んでください https 

RabbitMQコンテナをセットアップしようずしおいるずきに、この問題が発生したした。 Rabbitの氞続性はホスト名に䟝存するため、ホスト名が可倉であるずいうこずは、コンテナヌの再起動時にMnesiaデヌタベヌスが倱われるこずを意味したす。

image configホスト名ずRabbit、ENV倉数、およびDownwardAPIを䜿甚しお修正しようずしたした。 問題を解決するために䜕も取埗できたせんでした-Rabbitは生成されたポッド名を匕き続き取埗したす。 @mikedaneseの提案に埓っお、レプリケヌションコントロヌラヌの䜿甚から䞀時的に解決したす。

私が正しく理解しおいれば、 celerey-rabbitの䟋のrabbitmqポッドレプリケヌションコントロヌラヌで䜜成は、デヌタが氞続ディスクに保存されおいる堎合でも、ポッドの障害に関するデヌタを倱いたす。 rabbitmq docから

RabbitMQは、システムの珟圚のホスト名を䜿甚しおデヌタベヌスディレクトリに名前を付けたす。 ホスト名が倉曎されるず、新しい空のデヌタベヌスが䜜成されたす。 デヌタの損倱を回避するには、固定された解決可胜なホスト名を蚭定するこずが重芁です。

珟圚、これに察する適切な解決策はありたせんが、移行可胜な氞続ディスクを䜿甚しおポッドrcにバむンドされおいないを䜜成できたす。特定の障害の堎合、ポッドであるずいう譊告を手動で再スケゞュヌルする必芁がありたす。 これが、ホスト名を静的に保぀ために私が考えるこずができる唯䞀の方法です。

たたは、起動時にホスト名ディレクトリを安定した堎所にシンボリックリンクしたす

2015幎7月11日には、17:26で、マむクDaneseの[email protected]は曞きたした

私が正しく理解しおいれば、rabbitmqポッドレプリケヌションで䜜成
コントロヌラヌクレレりサギで
https://github.com/GoogleCloudPlatform/kubernetes/tree/master/examples/celery-rabbitmq
䟋では、デヌタがに保存されおいる堎合でも、ポッドの障害に関するデヌタが倱われたす
氞続ディスク。 rabbitmq docから

RabbitMQは、デヌタベヌスディレクトリに珟圚のホスト名を䜿甚しお名前を付けたす。
システム。 ホスト名が倉曎されるず、新しい空のデヌタベヌスが䜜成されたす。 避けるために
デヌタの損倱固定された解決可胜なホスト名を蚭定するこずが重芁です。

珟圚、これに察する適切な解決策はありたせんが、ポッドを䜜成するこずはできたす
移行可胜な氞続ディスクを䜿甚しおrcにバむンドされおいたす。泚意点はポッドです
特定の障害の堎合は、手動でスケゞュヌルを倉曎する必芁がありたす。 それは
ホスト名を静的に保぀ために私が考えるこずができる唯䞀の方法。

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

これは、ホスト名をポッド名から掟生させおはならない理由の䟋です-4825

これにちょっずしたキックを䞎えるには

解決する必芁のあるいく぀かの基本的な問題がありたす。

  1. 䞀郚のコンポヌネントは、ディスク䞊のストレヌゞに関連付けられおいるポッドごずに䞀意のIDを持っおいる必芁がありたす

    1. さらなる問題ずしお、それらのいく぀か堎合によっおはzookeeperは、ホスト名が解決可胜で䞀臎する必芁がありたす

  2. スケヌルアりトされた䞀郚のコンポヌネントは、ポッドごずに異なる氞続ストレヌゞを備えおいる必芁がありたすポッドは、ポッドごずに異なるPVCを指し、IDに関連付けられおいたす

    1. これらのボリュヌムは、スケヌルアップ時にオンデマンドで䜜成する必芁がある堎合がありたす

    2. これらのボリュヌムは、プヌルから再利甚する必芁があり、再䜜成しない必芁がある堎合がありたす

  3. 䞀郚のコンポヌネントは、数䞇のむンスタンスにスケヌルアりトする堎合があり、割り圓おられた個々のIDの远跡が実甚的ではなくなりたす。

    1. 名目䞊の甚途の倧郚分は、おそらくポッドの2〜7むンスタンスの間です最新のスケヌラブルDB、ほずんどのシャヌディングされたマルチマスタヌセットアップ

  4. 䞀郚のコンポヌネントは、独自のマスタヌ遞択を実装する必芁はありたせんが、IDの1぀を任意にするこずでプラットフォヌムに管理させたすID 1がマスタヌになりたす
  5. これらの問題を解決する堎合でも、ナヌザヌはポッドぞの倉曎をデプロむメントを介しおロヌルアりトし、IDが保持たたは再割り圓おされるようにする必芁がありたす。

これらは必ずしもすべお同じ゜リュヌションで解決する必芁はありたせん。 たずえば、小芏暡なクラスタヌID2〜7ず倧芏暡なクラスタヌID> 7には倧きな違いがあるず思いたす。 たずえば、倧芏暡なケヌスでは、その゜フトりェアはギャップにあたり関心がないか、既存のコンセンサス/メンバヌシッププロトコルを持っおいたす。 小さなケヌスでは、゜フトりェアはIDを確立するためにより倚くの支揎を必芁ずしたす。 これらをクラりドネむティブ> 7゜フトりェアず既存クラスタヌ2-7゜フトりェアに分けたす。

1a、1b、2aに同意したす。 2bは別の問題のように聞こえたすが、おそらく゜リュヌションは同じパタヌンを再利甚できたす。

スケヌル3は䞻に、クラりドネむティブずそうでないものの違いに同意したすが、むンスタンスごずに1぀のサヌビスずRCの回避策が適切でないこずを瀺しおいるず思いたす。

マスタヌ遞挙4は個別に察凊できたす。

5にも同意したす。

この時点で、ほずんどの蚭蚈芁件は明確だず思いたす。

残りの蚭蚈の質問

I. VIPを割り圓おるか、IPの倉曎を蚱可したすか VIPは珟圚システムを介しお怜出できないため、これに密接に関連しおいるのは、コンテナがLinuxを介しお独自のIPを怜出できる必芁があるかどうかです。 IPを怜出できる必芁があるず思いたすが、ポッドIP12595ず同様に、䞋䜍APIを䜿甚できたす。 ポッドIPを䜿甚するためにIPの倉曎を蚱可するこずは、DNS TTLずキャッシングの「バグ」のために、IPの倉曎率に制限があるこずを意味したす。 ある時点で、ポッドIPを移行可胜にする予定ですが3949、IPの倉曎が氞遠に続くわけではありたせん。

II。 プッシュポッドぞずプルポッドから。 サヌビスずRCは意図的にポッドに緩く結合されおいるため、どちらも「プッシュ」モデルを䜿甚したす。 名目䞊のサヌビスは、より本質的にポッドIDに関連付けられたすただし、氞続的ではありたせん。ポッドは亀換可胜である必芁がありたす。 その結果、プッシュモデルのモチベヌションが䜎䞋したす。 スケゞュヌリングやespなどの他の割り圓おの堎合。 氞続ボリュヌムぞの氞続ボリュヌムクレヌムなどの排他的バむンディングは、リク゚スト/ ackモデル別名「プル」を䜿甚したす。 それは珟圚、私が名目䞊のサヌビスに奜むモデルです。

Iに぀いお意芋はありたすか

マスタヌ遞挙は1542であり、HA実装の䞀郚ずしお議論されおいたす䟋12884。

プッシュずプルの意味がわかりたせん。

私はこの問題のほずんどを読み盎したした、そしお私は単䞀ではないず確信しおいたす
解決。 ブリッゞを構築するには、䞀連の機胜が必芁になりたす
これらの皮類のアプリ。

私は、ポッドが実行されるず、実際にはできないずいう公理から始めおいたす
実行䞭のポッドを倉曎したす。 これにはいく぀かの䟋倖がありたす䟋仮想
ファむルシステムの内容が重芁ず思われるものenv vars、IP、
ホスト名あなたはあなたが始めたものは䜕でも行き詰たりたす。

私はたた、間の緩い結合ずいう䞻匵から始めおいたす
サヌビスずポッドは残り、私たちが話しおいるこずは実際には
サヌビス。 ポッドは、どのサヌビスがポッドの前にあるかを実際には知りたせん。 倉曎した堎合
぀たり、それはもはやサヌビスではありたせん。

私はただ意識の流れをしお、䜕が悪臭を攟っおいないかを芋る぀もりです。

アむデア1ThingPoolsずパッチ。

新しいAPIオブゞェクトたたはのプヌルを定矩できるものを定矩したす
もの。 䜕ですか Thingは、文字列たたはJSONブロブであり、
列挙型がありたす。 あなたは物事ずそれらの物事のプヌルを䜜成するこずができたす
䜿甚するのはあなたです。 タむプには、VUIDホスト名、文字列、VIPが含たれたす。

操䜜を䜜成するために枡すこずができる新しいAPI構造を定矩したす-
パッチ。 パッチは、存圚するオブゞェクトにパッチを適甚する方法に぀いおの説明です。
䜜成した。 パッチオプションの1぀は、「ThingPoolからの割り圓お」です。

これらをたずめるには

ThingPoolを定矩したす{meatadata.namemy-quorum-hostnames、typeVUID、
自動生成5、} // 5぀の有効なVUIDのプヌルを䜜成したす

RCを定矩する{レプリカ5 ...}

RCの䜜成POSTでも、パッチを送信したす{what
"podTemplate.spec.containers [*]。metadata.VUID"、プヌル "my-quorum-hostnames"
}

POST操䜜はパッチをRCに適甚したす-1぀のVUIDを割り圓おたす
ThingPoolからのコンテナごず。 ポッドが匷制終了されお再䜜成されるたびに、
VUIDはプヌルに返され、次に起動するポッドがそれを取埗したす。

これを䜿甚しお、文字列のプヌル "0"から "99"を生成し、固定するこずができたす
それらをenv倉数に入れたす。 これを䜿甚しお、VIPのプヌルを割り圓お、
次に、それらのVIPをポッドに割り圓おたす新機胜になりたす-耐久性のあるポッド
IP-これがどのように拡匵されるかわからない:)あなたはのプヌルを生成するこずができたす
PersistentVolumeClaimは、各ポッドが䜿甚するクレヌムボリュヌムに名前を付けおパッチを適甚したす。

このアむデアは倚くの点で䞍完党ですが、私はそれが最もよく捉えおいるず思いたす
ポッドのセットを完党に定矩するこずなく、ポッドのセットのアむデア。

アむデア2ポッドのセットを定矩したす。 サヌビスのふりをしないでください。 近いです
ボルグゞョブに。 RCのようなものですが、ポッドに通垞性を割り圓おたす。
コントロヌル-シャヌド番号。 VUIDのプヌルを制埡したすただし、必芁ありたせん
ホスト名はナヌザヌが蚭定できるものにしたす、うヌん...。

もっずアむデアがあるず思いたしたが、そうではありたせん。 私は抜象化ず栌闘しおいたす
ず実装-私たちができない抜象化を定矩するこずは無意味です
埋め蟌む。 名目䞊のVIPは玠晎らしいように聞こえたすが、それは
iptablesの制限。 䞀連のポッドに䞀連の安定したホスト名を提䟛する
のセットのためのストレヌゞのセットで、最も重芁なこずのようです
尟が熱いポッド。

19:28で火、2015幎8月18日には、ブラむアン・グラント[email protected]
曞きたした

1a、1b、2aに同意したす。 2bは別の問題のように聞こえたすが
おそらく、゜リュヌションは同じパタヌンを再利甚できたす。

スケヌル3は、䞻に1぀のサヌビスの回避策ず
むンスタンスあたりのRCは適切ではありたせんが、
クラりドネむティブvs.

マスタヌ遞挙4は個別に察凊できたす。

5にも同意したす。

この時点で、ほずんどの蚭蚈芁件は明確だず思いたす。

残りの蚭蚈の質問

I. VIPを割り圓おるか、IPの倉曎を蚱可したすか これに密接に関係しおいるのは
コンテナは、Linuxを介しお独自のIPを怜出できる必芁がありたす。
VIPは珟圚、システムを介しお怜出できないためです。 私は圌らがそうするず思いたす
IPを怜出できる必芁がありたすが、次のように䞋䜍APIを䜿甚できたす。
ポッドIPを䜿甚12595 https://github.com/kubernetes/kubernetes/pull/12595。
ポッドIPを䜿甚するためにIPの倉曎を蚱可するこずは、レヌトの制限を意味したす
DNSTTLずキャッシングの「バグ」によるIPの倉曎。 ある時点で、
ただし、ポッドIPを移行可胜にする予定です3949
https://github.com/kubernetes/kubernetes/issues/3949、IPを倉曎する
氞遠ではないでしょう。

II。 プッシュポッドぞずプルポッドから。 サヌビスずRCは
ポッドに意図的に緩く結合されおいるため、䞡方ずも「プッシュ」を䜿甚したす
モデル。 名目䞊のサヌビスは、より本質的にポッドIDに関連付けられたす
氞続的ではありたせんが、ポッドは亀換可胜である必芁がありたす。 その結果、私は芋る
プッシュモデルのモチベヌションが䜎くなりたす。 割り圓おの他のケヌス、
スケゞュヌリング、および特に。 氞続ボリュヌムクレヌムなどの排他的バむンディング
氞続ボリュヌム、リク゚スト/ ackモデル、別名「プル」を䜿甚したす。 それは珟圚です
私が名目䞊のサヌビスに奜むモデル。

Iに぀いお意芋はありたすか

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

あなたが考えおいるように、私はおそらく本圓にマスタヌ遞挙を意味しおいたせんでした-それ以䞊
むンスタンスのセットを初期化する必芁がある機胜を構築する堎合
明瀺的に調敎せずにそれが
クラスタをブヌトストラップするには、通垞、他のポッドずの「1」の䌚話で十分です。 アン
䟋は、レプリカセットを開始する必芁があるmongodbです-ポッドの堎合
圌らが「2」たたは「3」の印心者であるず思うなら、あなたはあなたが
分割を開始したす。 しかし、「1」は毎回安党に開始でき、その埌
他のメンバヌ圌らが䜿甚できる氞続的な状態を持っおいるを远加しおみおください
それらがすでにクラスタヌの䞀郚であるかどうかを刀別したす。 に応じお
IDサヌビスによっお提䟛される保蚌は実際には埗られない可胜性がありたす
成功したクラスタヌですが、倖郚に別のポッドを䜜成する必芁はありたせん
サヌビスを初期化したすそれもひどいこずではありたせんが。

午埌11時59分火曜、2015幎8月18日には、ブラむアン・グラント[email protected]
曞きたした

マスタヌ遞挙は1542です
https://github.com/kubernetes/kubernetes/issues/1542 、
HA実装の䞀郚ずしお説明されおいたす䟋12884
https://github.com/kubernetes/kubernetes/pull/12884。

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

クレむトンコヌルマン| OpenShiftのリヌド゚ンゞニア

@smarterclayton名目䞊のサヌビスの問題は別ずしお、説明しおいるようにブヌトストラップするのは安党ではありたせん。 「1」が新しいマシンで再起動され、既存のノヌドに到達できない堎合は、再ブヌトストラップされ、2぀のmongodbが信頌できるず䞻匵したす。 ブヌトストラップが完了した埌にブヌトストラップする機胜を削陀するには、ゞョブ定矩を倉曎する必芁がありたす。

@thockinがほのめかしおいるかもしれないので、ここではいく぀かの類䌌しおいるが異なる機胜を䞍必芁に混同しおいるず思いたす。k8sレベルで厳密に必芁な以䞊のものを含めおいたす。

䞊蚘の2぀のたったく異なるナヌスケヌスがありたす。信頌できる情報源によっお異なりたす。

_Prescriptive_ "N個のシャヌドを実行したいのですが、それより倚いたたは少ない堎合は、倉曎を加えおNに戻したす。"
_説明_「利甚可胜なすべおのシャヌドを自動怜出し、それらが出入りするずきに䜕らかの方法で芋぀けさせたい。」

これらは異なっおいるので、異なっお説明する必芁があるず思いたすただし、実際に実行されおいるポッドず同様のメタデヌタを衚瀺する堎合がありたす。


ディスカッションには、リ゜ヌスフェンシングずシングルアクセス保蚌も組み蟌たれおいたす。 Afaics、これをk8s内で実行する必芁がある唯䞀のケヌスは、リモヌト氞続ボリュヌムをマりントするこずですfsマりントはコンテナヌの倖郚で実行する必芁があるため。これは、基盀ずなるリモヌトボリュヌムサヌビスがない堎合、etcdロックを介しお非垞に簡単に実行できたす。すでに内郚でフェンシングを提䟛しおいたす。 他のすべおのケヌスは、分散ロックサヌビスを䜿甚しおたたは内郚でロックを提䟛するサヌビスにアクセスしお、ナヌザヌゞョブ自䜓で凊理できたす。 ゞョブに独自のロックを実行するように䟝頌するず、あらゆる皮類のパタヌン固定割り圓お、日和芋割り圓お、「ホットスペア」などず到達䞍胜/回埩戊略ハヌドフェむル、最埌の既知の続行などが開かれたす。

䞀般的なリ゜ヌスフェンシング機胜リク゚ストをこのバグから移動するこずをお勧めしたすk8s自䜓が関䞎するこずなく、k8sでさたざたな分散ロックサヌビスを実行するためのレシピを提䟛するだけでフェンシングを実装したす。


念のために蚀っおおきたすが、1぀のVIPの背埌には_たくさんの_ポヌトがありたす。 基盀ずなるネットワヌクでは倧芏暡にIPを移行するのは難しいように思われるため、IPを移行したくないこずに同意したす。たた、障害/リカバリ゚ッゞの堎合にネットワヌクが䞀時的な重耇を凊理するのは厄介です。 ただし、非垞に倧芏暡なゞョブの堎合でも、各シャヌドメンバヌに䞀意のサヌビスポヌトを割り圓お、各ポッドむンスタンスにプロキシデヌタを割り圓おるこずは非垞に可胜だず思いたす。 この提案は、プロキシがただk8sで行きたい方向であるず想定しおいたす-私はこの領域に関する最近の議論に远い぀いおいない

プッシュずは、サヌビスやコントロヌラヌなどの別のリ゜ヌスが、ラベルセレクタヌを介しおポッドのセットを監芖し、それらに「もの」解決可胜なDNS名、VIP、PVCを付䞎するこずを意味したした。

プルずは、ポッドが「モノ」の割り圓おを明瀺的に芁求し、それが/ bindingなどを介しおそれにバむンドされるこずを意味したした。

実行䞭のポッドの倉曎に぀いお䜜成埌にポッドを倉曎するこずは、実行䞭のコンテナヌでポッドを倉曎するこずずは異なりたす。 スケゞュヌラヌは非同期を実行したす。 たずえば、初期化。 PodIPも遅れお割り圓おられたす。 より䞀般的には3585で説明されおいたす。

これが本圓に「サヌビス」であるかどうかに぀いお

  • ポッドのセット党䜓に物事を割り圓おる必芁がありたす
  • モノDNS名などは、ポッドのリ゜ヌス名に本質的に関連付けられおはなりたせん
  • あるポッドから別のポッドに移動できる必芁がありたす
  • ポッドは、割り圓おられたもの特に、DNS名ずVIPを「知る」たたは䞋䜍APIを介しお芋぀けるこずができる必芁がありたす。
  • サポヌトする必芁があるのは、解決可胜なDNSです。
  • VIPが必芁かどうかは、私の1぀の未解決の質問でした。 VIPを䜿わなくおも倧䞈倫です。
  • 理想的ではありたせんが、ナヌザヌは、DNSや゚ンドポむントを介したピア怜出のためにセット党䜓を察象ずする2番目のヘッドレスサヌビスを䜜成できたす。

アむデア1、ThingPools + Patchesは興味深いアむデアです。 私はそれを「プル」アプロヌチずしお説明したす。 ThingPoolは悪くはありたせんが、パッチが䜿いにくいのではないかず心配しおいたす。システム内のパッチからセマンティック情報をリバヌス゚ンゞニアリングしお、ストレヌゞラむフサむクルなどで蚱容できる動䜜を提䟛したくありたせん。 dよりドメむン固有のものを奜む。 たた、DNS名ずPVCの独立したThingPoolは、同じ割り圓おが必芁なため、機胜したせん。

アむデア2を「プッシュ」アプロヌチずしお説明したす。 RCずデプロむメントの䜜業を耇補したくないので、別のポッドコントロヌラヌを導入するべきではありたせん。 アサむナは倧䞈倫ですが、必芁以䞊に緩く結合されおおり、割り圓おの凊理方法の前䟋ず䞀臎したせん。

再。 env varsぞの情報の詰め蟌みこれはJobにも出おきたした。 情報をアノテヌションに詰め蟌み、特定のアノテヌションをリク゚ストできるように䞋䜍APIを拡匵したいず思いたす。 ナヌザヌが必芁な情報のみを芁求し、env倉数名を遞択できるようにしたいです。

再。 むンスタンスごずに異なるポヌトを割り圓おるこれは倚くのレガシヌアプリでは機胜せず、システム蚭蚈ずの互換性もありたせん。

再。 芏範的Nを実行し続けるこずは、ReplicationControllerが行うこずです。

再。 蚘述的それはすでに存圚するヘッドレスサヌビスです。

再。 ロックはい、それが進行䞭のリヌスAPIです。

ストレヌゞのプロビゞョニングに぀いおは、6773プッシュず12450プルで説明しおいたす。

今では手遅れですが、少し寝おからなんずかしお提案をする時間を䜜っおみたす。

簡単な芳察ヘッドレスサヌビスはVIPを割り圓おたせん

割り圓お/割り圓おをDNS公開から切り離すこずができたす。 珟時点で割り圓お/割り圓おがどのように行われるかを無芖するず、ホスト名を衚すポッドのフィヌルドから名前を取埗する、特別な皮類のヘッドレスサヌビスを䜿甚できたす。

そしお、耐久性のあるロヌカルストレヌゞの問題が関連しおいたす7562、1515、598

私は䞻に他のPRレビュヌを行うので、より迅速な曎新

サヌビスを䜿甚する利点の1぀は、ポッドに芁求されたホスト名がグロヌバルに䞀意であるこずを保蚌する必芁がないこずです。これは、サヌビスがDNSに公開された名前をスコヌプするためです。

再。 割り圓お/割り圓おReplicationController、Deployment、Daemonなどにテンプレヌトタむプを远加するこずは避けたいです。たた、ストレヌゞず名前をポッド間ず同じくらい簡単にコントロヌラヌ間で移行できるようにしたいですナヌザヌが望む堎合。

2015幎8月19日午前1時4分、AngusLeesの[email protected]は次のように曞いおいたす。

@smarterclaytonhttps //github.com/smarterclaytonそれは脇癜です
名目䞊のサヌビスの問題ですが、ブヌトストラップするのは安党ではありたせん
蚘述。 「1」が新しいマシンで再起動され、たたたたできない堎合
既存のノヌドに到達するために、それは再ブヌトストラップしたす、そしお今あなたは2぀を持っおいたす
mongodbが暩嚁を持っおいるず䞻匵しおいたす。 あなたは仕事を倉える必芁がありたす
ブヌトストラップ埌にブヌトストラップする機胜を削陀する定矩は
完了。

その堎合、重耇する可胜性は完党にありたすが、ほずんどの堎合
ロック付きの氞続ストレヌゞに぀いお話しおいるので、ブロックする堎合
ずにかく、gce / AWSがあなたのフェンスを解攟し、あなたが接続できるようになるたで。 そう
ブヌトストラップで可甚性を犠牲にしたすが、必ずしも実行時に犠牲にする必芁はありたせん
フェンスのないストレヌゞを䜿甚しおいる堎合を陀きたす。その堎合、これはそうではないこずに同意したす
安党な

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

2015幎8月19日午前1時35分、AngusLeesの[email protected]は次のように曞いおいたす。

@thockin https://github.com/thockinがほのめかしおいるかもしれないので、私は思う
ここでは、いく぀かの類䌌しおいるが異なる機胜を䞍必芁に混同しおいたす

  • そしお、k8sレベルで厳密に必芁な以䞊のものを含めおいたす。

䞊蚘の2぀のたったく異なるナヌスケヌスがありたす-゜ヌスによっお異なりたす
真実の

_Prescriptive_ "N個のシャヌドを実行したいのですが、倚かれ少なかれ存圚する堎合
それよりも、倉曎を加えおNに戻したす。」
_Descriptive_ "利甚可胜なすべおのシャヌドを自動怜出したいのですが、
圌らが行き来するずきに、どういうわけか調べさせおください。」

これらは異なっおいるので、異なっお説明する必芁があるず思いたすただし

実際に実行されおいるポッドず同様のメタデヌタを衚瀺する堎合がありたす。

ディスカッションには、リ゜ヌスフェンシングずシングルアクセスも組み蟌たれおいたす
保蚌したす。 Afaics、これをk8s以内に実行する必芁がある_only_ケヌス
afaicsはリモヌトボリュヌムをマりントしおいたす-fsマりントを実行する必芁があるため
コンテナの倖。 他のすべおのケヌスは、ナヌザヌゞョブで凊理できたす
分散ロックサヌビスを䜿甚しおたたは
内郚でロックを提䟛したす。 ゞョブに独自のロックを実行するように䟝頌するず、
あらゆる皮類のパタヌン固定割り圓お、日和芋割り圓お、「ホット」
スペア」などおよび到達䞍胜/回埩戊略ハヌドフェむル、
前回の既知の続行など。

䞀般的なリ゜ヌスフェンシング機胜を移動するこずをお勧めしたす-これからリク゚ストしおください
バグそしお、実行するためのレシピを提䟛するだけでフェンシングを実装したす
k8sでのさたざたな分散ロックサヌビス
k8s自䜓。

特定のタむプの実行を目的から切り離すこずはできないず思いたす
゜フトりェアアりト-蚭蚈は名目䞊のサヌビスを瀺しおいたすが、私たちのナヌスケヌスは
説明はIDずディスクの再利甚です。 私は同意したす、フェンシングはの財産です
ボリュヌム-しかし、ボリュヌムの取埗をの特定のプロパティに結び付ける
ポッドむンスタンスはそうではありたせん。


念のために蚀っおおきたすが、1぀のVIPの背埌には_たくさんの_ポヌトがありたす。 同意したす
基盀ずなるネットワヌクでは難しいず思われるため、IPを移行したくない
倧芏暡で、ネットワヌクが䞀時的な重耇を凊理するのは厄介です
障害/リカバリ゚ッゞの堎合。 しかし、私はそれがかなり実珟可胜だず思いたす
各シャヌドメンバヌに䞀意のサヌビスポヌトを割り圓お、それぞれにプロキシデヌタを割り圓おたす
ポッドむンスタンス-非垞に倧芏暡なゞョブの堎合でも。 この提案は、
プロキシはただk8sで行きたい方向です-私は远い぀いおいない
この分野に関する最近の議論で

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

@thockinのThingPool + Patchesのアむデアに少しひねりを加えたした

テンプレヌトリ゜ヌス+パラメヌタヌおよび眮換のリスト。 むンスピレヌションに぀いおは、 https//github.com/openshift/origin/blob/master/pkg/template/api/types.goを参照しお

TemplatePool。 基本的にThingPool。 レプリカ数ではなく、オンデマンドでテンプレヌトの高密床にむンデックス付けされたむンスタンスを生成したす。

楜しみ/䞀貫性のためにv2 ReplicationControllerは、ポッドだけでなく、任意のテンプレヌトを耇補できたす。 ref170䞀皮。 すべおの割り圓おがポッドレプリケヌションによっお駆動される堎合は、おそらく必芁ありたせん。

䞻な代替案は、ホスト名ずPVCプヌルに焊点を圓おた、よりドメむン固有のものですが、それぞれに個別のプヌルは機胜したせん。 単䞀のプヌルは、ホスト名のタプルず堎合によっおは耇数のPVCを割り圓おるこずができる必芁がありたす。 TemplatePoolの利点の1぀は、誰かがそれを䜿甚しおレプリカごずに1぀のサヌビスおそらく倖郚を割り圓お、珟圚のZookeeperの回避策を自動化できるこずです。 誰かがポッドを䜿っお1察1で同様に耇補したいず思う他のリ゜ヌスがあるかどうかはわかりたせんが、APIの成長率を考えるず、そうなるこずはないず思いたす。

@smarterclayton参考たでに、むンラむンコメントを䜿甚しおメヌルで返信するず、Gmailず

ええ、Gmail + github + iPhoneに䜕か問題がありたす。

2時24分PMの朚、2015幎8月20日には、ブラむアン・グラント[email protected]
曞きたした

@smarterclayton https://github.com/smarterclaytonFYI返信するずき
むンラむンコメント付きの電子メヌルを介しお、あなたの応答は䞡方ずも読めたせん
Gmailずgithubで。 Gmailでは改行はなく、githubではそこにありたす
匕甚笊の接頭蟞がないので、あなたの応答は、
匕甚されおいるテキスト。

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

クレむトンコヌルマン| OpenShiftのリヌド゚ンゞニア

今日は簡単なチャットをしたした。いく぀かのハむラむトがありたす。

アプリの3぀のクラスに぀いお話したした

  • ステヌトレスWebアプリであるアプリRCでのみ機胜したす
  • 倖郚マスタヌを䜿甚し、既存の䞀貫性を備えた巚倧なスケヌルのアプリ
    コンセンサスを凊理するためのプロトコルCassandra、Infiniband
  • Mongodb、rethinkdb、voltなどの小さなクラスタヌ化されたステヌトフル゜フトりェア、
    zookeeper、riak、redisクラスタヌ、これらはうたく機胜するためにいく぀かのパタヌンが必芁です

    • 䞀意のID通垞

    • 再利甚されるむンスタンスごずの䞀意の氞続ボリュヌム通垞

    • 安定したIPアドレスたたはDNS名通垞-DNS名は通垞

      安定したIPアドレスの代甚

    • 安定したホスト名たれに

今日、あなたはNを持぀こずによっおナニヌクなアむデンティティず氞続的なボリュヌムを解決するこずができたす
レプリケヌションコントロヌラヌ、Nサヌビスの安定したIPアドレス。 私たちそうしたい
これらのナヌスケヌスの䞀郚では、NRCずサヌビスを必芁ずしたせん。

ティムずブラむアンの提案に぀いお、順䞍同で話したした。

  • TemplatePoolは、レプリケヌタヌが
    クラスタ党䜓でオブゞェクトを䜜成する暩限があり、知っおいる必芁がありたす
    すべおのAPI゚ンドポむントがありたす。

    • テンプレヌト゚ンドポむントをむンスタンス化するこずもできたすが、それでも

      暩限委任の問題を解決したすサヌビスアカりントを䜿甚したすか

    • オブゞェクトの怜玢ず暩限の制限は長期的なものです

  • 私たちが話し合った「ポッドアむデンティティ」、別名vuidフィヌルド-議論がなされた
    そしお、それがグロヌバルにナニヌクである必芁はなく、ただ
    ポッドがそれを䜿甚するこずを期埅するドメむン内で䞀意。

    • 架空のむンデックスアサむナスパヌスたたはデンスがその倀を蚭定できたす

      䜜成埌、kubeletはポッドが起動するたで埅機できたす。

      アむデンティティ圌らが1぀を埅っおいるこずを瀺す必芁があるかもしれたせん

    • 密なむンデックスは䞀般的に単玔なものに圹立ちたすが、これは

      䜜成埌に䜜成され、kubeletから切り離されたす。

      代入アルゎリズムの皮類高密床数倀、コンシステントハッシュリング、

      ランダムなど

  • ポッドでの単玔なテンプレヌト䜜成は開始するのに適した堎所のようですが、必芁なのは
    既存のツヌルチェヌンず䞀貫性を保぀ために、
    完党に壊す

    • IDフィヌルドを䜿甚しお、他のフィヌルドをテンプレヌト化したす

  • ナヌザヌが自分で蚭定できるポッド仕様にホスト名フィヌルドを远加し、
    アむデンティティでパラメヌタ化する
  • ヘッドレスサヌビスが゚ンドポむントのDNSク゚リに応答できるようにする
    ID゚ンドポむントコントロヌラヌにポッドからのIDを具䜓化させる
    ゚ンドポむントにある皋床の安定性を保蚌したす
  • どういうわけか、氞続的なボリュヌムクレヌムをパラメヌタ化するか、次のように倉曎するこずができたす
    プヌルから描画したすたたはプヌルコントロヌラヌに、ごずに1぀のボリュヌムがあるこずを確認したす
    アむデンティティ、たたはアむデンティティコントロヌラにプヌルから描画させる、考える必芁がありたす
  • 環境/䞋向きのAPIを簡単に倉換できるツヌルが必芁
    構成ファむル盎亀したすが、より簡単なはずです
  • パタヌンに関するただいく぀かの懞念

2015幎8月20日朚曜日午埌3時34分、Clayton Coleman
曞きたした

ええ、Gmail + github + iPhoneに䜕か問題がありたす。

2時24分PMの朚、2015幎8月20日には、ブラむアン・グラント[email protected]
曞きたした

@smarterclayton https://github.com/smarterclaytonFYI返信するずき
むンラむンコメント付きの電子メヌルを介しお、あなたの応答は䞡方ずも読めたせん
Gmailずgithubで。 Gmailでは改行はなく、githubではそこにありたす
匕甚笊の接頭蟞がないので、あなたの応答は、
匕甚されおいるテキスト。

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

クレむトンコヌルマン| OpenShiftのリヌド゚ンゞニア

クレむトンコヌルマン| OpenShiftのリヌド゚ンゞニア

もう1぀の問題名目䞊のサヌビスのメンバヌのTLS蚌明曞

䞀般的なサヌビスのTLS蚌明曞も良いこずです眲名枈み
芁求に応じお、クラスタCAによっお自動的に。

17:19の朚、2015幎8月20日には、ブラむアン・グラントの[email protected]は曞きたした

もう1぀の問題名目䞊のサヌビスのメンバヌのTLS蚌明曞

—
このメヌルに盎接返信するか、GitHubで衚瀺しおください。

クレむトンコヌルマン| OpenShiftのリヌド゚ンゞニア

はい11725

再

  • ナヌザヌが自分で蚭定できるポッド仕様にホスト名フィヌルドを远加し、
    アむデンティティでパラメヌタ化する
  • ヘッドレスサヌビスが゚ンドポむントのDNSク゚リに応答できるようにする
    ID゚ンドポむントコントロヌラヌにポッドからのIDを具䜓化させる
    ゚ンドポむントにある皋床の安定性を保蚌したす

コンテナヌによっお衚瀺されるホスト名が他のコンテナヌによっお解決可胜になるように、DNSはポッド仕様に蚭定されたホスト名その機胜を远加するずIDによっおパラメヌタヌ化される可胜性がありたすを䜿甚しおサポヌトされる必芁があるこずに同意したず思いたす。

サブドメむンを蚭定するには、明瀺的たたは暗黙的に、どのサヌビスがサブドメむンをタヌゲットにしおいるかをポッドに通知する必芁がありたす。 明瀺的なデメリットは、より倚くの構成の接着剀/テンプレヌトが必芁になるこずです。 暗黙的の䞍利な点は、システム内の緩い結合で私たちが抱える課題になりやすいこずです。䜜成順序の競合ず䞍敎合、1察1の斜行の難しさなどです。私は明瀺的に傟いおいたす。 盞互参照スコヌプの改善に取り組む必芁がありたす。

䜕かのようなもの

Hostname string
Subdomain string

PodSpecのHostNetworkの䞊。

サブドメむンが適切なタむプのサヌビスのDNSず䞀臎した堎合にのみ、ホスト名ベヌスのDNSを配信したす。 2぀を1぀のフィヌルドにスムヌゞングするこずもできたす。

そのために問題4825を再利甚し、誰かに取り組んでもらう必芁があるず思いたす。 それは他のものよりはるかに具䜓的で䜜業が少ないです。

どういうわけか、氞続的なボリュヌムクレヌムをパラメヌタ化するか、次のように倉曎するこずができたす
プヌルから描画したすたたはプヌルコントロヌラヌに、ごずに1぀のボリュヌムがあるこずを確認したす
アむデンティティ、たたはアむデンティティコントロヌラにプヌルから描画させる、考える必芁がありたす

私がここで圹立぀ず思うクレヌムに぀いおの2぀のこず

  1. バむンディングを11から1Nに倉曎したす

    1. バむンディング参照ずしおのpvc.Spec.VolumeNameからpvc.Spec.VolumeNames []

  2. pvc.Spec.Singeltonブヌル倀は、共有のためにクレヌムを1回だけバむンドする必芁があるか、たたはクレヌムを䜕床もバむンドできるようにするかを瀺したす。

RCは、必芁に応じお新しいボリュヌムにバむンドできたす。 バむンダヌでこれを凊理する方法を理解したす。

それでも、正しい音量を適切なポッドに䞀臎させるこずが重芁です。

IDずボリュヌム名のマップが必芁になりたす。

15:17時金、2015幎8月21日には、マヌクTuransky [email protected]
曞きたした

どういうわけか、氞続的なボリュヌムクレヌムをパラメヌタ化するか、次のように倉曎するこずができたす
プヌルから描画したすたたはプヌルコントロヌラヌに、ごずに1぀のボリュヌムがあるこずを確認したす
アむデンティティ、たたはアむデンティティコントロヌラにプヌルから描画させる、考える必芁がありたす

私がここで圹立぀ず思うクレヌムに぀いおの2぀のこず

  1. バむンディングを11から1Nに倉曎したす

    1. バむンディングずしおのpvc.Spec.VolumeNameからpvc.Spec.VolumeNames []

      リファレンス

  2. クレヌムをバむンドする必芁があるかどうかを瀺すpvc.Spec.Singeltonブヌル倀
    共有するために1回だけ、たたはクレヌムを䜕床もバむンドできるようにしたす。

RCは、必芁に応じお新しいボリュヌムにバむンドできたす。 私はこれを凊理する方法を理解するだろう
バむンダヌで。

それでも、正しい音量を適切なポッドに䞀臎させるこずが重芁です。

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

クレむトンコヌルマン| OpenShiftのリヌド゚ンゞニア

0:56で金、2015幎8月21日には、ブラむアン・グラントの[email protected]は曞きたした

サブドメむンを蚭定するには、どのサヌビスがサブドメむンをタヌゲットにしおいるかをポッドに通知する必芁がありたす。
明瀺的たたは暗黙的に。 明瀺的の欠点は、より倚くを必芁ずするこずです
構成接着剀/テンプレヌト。 暗黙の欠点は、次のようになるこずです。
システム内の緩い結合で私たちが抱える課題になりがちです䜜成-
泚文の競争ず矛盟、1察1の執行の難しさなど。私は傟く
明瀺的に。 盞互参照スコヌプの改善に取り組む必芁がありたす。

明確にしたしょう-サブドメむンを蚭定しないず、ナヌザヌに提䟛させるこずはできたせん
独自のホスト名。 サブドメむンを蚭定する堎合は、
ナニヌクな方法-十分DNSスペヌスでは、珟圚、
名前空間。 サブドメむンをサヌビスの名前にするこずは
十分にナニヌクです。

DNS単䞀のTLDの制限のいく぀かを考えるず、これは
珟実的には、ナヌザヌに2぀のDNS_LABELフィヌルドホスト名を䞎えるこずを意味したす
ず名目䞊のセット。 具䜓的な䟋

pod.spec.metadata.name: my-pod-1bd3
pod.spec.metadata.namespace: my-app
pod.spec.identity.name: foo
pod.spec.identity.surname: bar

これにより、ポッドが次のように衚瀺されたす。

$ hostname
foo

$hostname -f
foo.bar.my-app.nom.cluster.local

foo.bar.my-app.nom.cluster.local DNSサヌビングAおよびPTRレコヌド

これは珟圚のDNS構造よりも1レベル深いですが、私は
珟圚のndots = 5がこれをカバヌしおいたす。 あるいは、次のように蚀うこずもできたす
名前空間は名前空間であり、ナヌザヌに戻しお䞀意の名前空間を割り圓おたす
名前空間内のホスト名。 DNSの結果は次のようになりたす
foo.my-app.pod.cluster.localこれはサヌビスを反映しおいたす。 私たちもできた
オプションのホスト名フィヌルドをサヌビスに远加しお、それらをより類䌌させたす。

サブドメむンがホスト名ベヌスのDNSず䞀臎する堎合にのみ、ホスト名ベヌスのDNSを配信したす
適切なタむプのサヌビス。 2぀を1぀のフィヌルドにスムヌゞングするこずもできたす。

これの私の最も嫌いな郚分は、ポッドが「私は䞀郚です
of Service'bar '"䞊蚘の䟋。前もっお。アプリオリ。

滑りやすい坂道は、䞀般的にこれを蚱可しないのはなぜですか それは
今日は仮定できないこずの束を単玔化する
緩い結合の実際には単䞀のポッドが衚瀺されるこずはめったにありたせんが
耇数のサヌビスの背埌にありたす。 すべおのポッドが0たたは1未満だった堎合
サヌビス、システムはもっずシンプルになりたすか

そのために問題4825を再利甚し、誰かに取り組んでもらう必芁があるず思いたす。 それは他のものよりはるかに具䜓的で䜜業が少ないです。

それは確かにすぐに始めるこずができるものですが、それらのために
自宅でフォロヌポッドを実装するためのメカニズムにすぎたせん
IDのセットを管理するポリシヌではなく、ID。

15:17時金、2015幎8月21日には、マヌクTuranskyの[email protected]は曞きたした

私がここで圹立぀ず思うクレヌムに぀いおの2぀のこず

  1. バむンディングを11から1Nに倉曎したす

これが私が始めたずころですが...

2015幎8月21日金曜日12:38 PM、Clayton Coleman
[email protected]は次のように曞いおいたす

IDずボリュヌム名のマップが必芁になりたす。

うん。 これは実際にはテンプレヌトの問題であるこずが刀明しおいたす。
問題を「ポッドテンプレヌト」ず考えるかどうか
フィヌルドには、「眮換タプル」で埋められるプレヌスホルダヌがありたす
実行時にプヌルから描画されるか、完党に掗緎されたポッドず芋なされたす
プヌルから匕き出された「眮換タプル」で「パッチされた」スペック
実行時-それらは同圢であり、同様に䞍快です。

それでも、これは私たちが解決する必芁のある倧きな問題の1぀だず思いたす。
これらのストロヌマンの提案を䜜成し始める必芁がありたすか

ポッドが2぀たたは3぀のサヌビスを受けおいる䟋がいく぀かありたす。
1぀は暎露甚、もう1぀は暎露詊隓甚です。

IDに関しおは、デヌモンコントロヌラヌによっお䜜成された各ポッドには、ノヌドIDずコントロヌラヌIDから掟生したIDが割り圓おられおいる必芁がありたす。 これは、IDが明らかでありホストyのポッドxがID fyを持っおいる、デヌモンの責任の䞀郚である堎合がありたす。

@smarterclaytonなので、ここでの䞀般的なただし普遍的ではない必芁性は、グルヌプメンバヌの安定した順序付きリストを維持するこずです。 IDがポッドがスケゞュヌルされおいるノヌドに関連付けられおいる堎合、これはどのように機胜したすか

デヌモンコントロヌラ_only_は、ポッドが存圚するノヌドのコンテキストでIDを持っおいたす
それでも僕らは走りたす。 レプリケヌションコントロヌラヌずサヌビスは異なりたす。 デヌモン
コントロヌラは、「各ノヌドでこれらのいずれかが実行されおいる必芁がありたす」ず蚀いたす。 侉
ポッドが持぀こずができるIDは、そのノヌド以倖にはありたせん。

1:13で金、2015幎9月11日には、アンガスリヌズ[email protected]
曞きたした

@smarterclayton https://github.com/smarterclaytonずおも䞀般的ですしかし、そうではありたせん
ナニバヌサルここで必芁なのは、グルヌプの安定した順序付きリストを維持するこずです
メンバヌ。 それは、アむデンティティがに結び付けられるべきではないこずを意味するず思いたす
ポッドがたたたたスケゞュヌルされおいるノヌド。

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

クレむトンコヌルマン| OpenShiftのリヌド゚ンゞニア

@smarterclaytonああ、この問題は明らかに元の機胜芁求以䞊のものに倉化したした-私はここで構築しようずしおいたものに迷っおいるので、ノむズを远加し続けるのではなく、元に戻したす...

申し蚳ありたせんが、ポむントが関連しおいないこずを意味するものではありたせんでした。 課題は、セットを定矩し、それをポッドに䌝播する必芁があるこずです。 ポッドがセットのメンバヌシップに反応する必芁がありたすセットのポッドIDず䞀臎するボリュヌムXをマりントしたす。 未解決の質問がありたす-ポッドは同時に2぀のセットのメンバヌであり、どちらかで䞀意のIDを持぀こずができたすか

デヌモンコントロヌラヌによっお実行されるポッドのIDが「明らか」である堎合がありたすデヌモンコントロヌラヌは䞀連のノヌドで動䜜し、RCは䞀連のポッドで動䜜したす。

アむデンティティの芁件の1぀は、セット内で䞀意であるこずです。 ポッド名ずポッド名の生成を掻甚しお、その䞀意性を確保できたすか たずえば、RCはランダムな名前を生成したす。 RCは、遞択したポッドのセットに基づいお、決定論的な方法でポッドの名前を生成できたすか

ラベルa = bのポッドを遞択するRCに぀いお考えおみたす。 䜜成する次のポッドを蚈算するには、ポッドをフェッチしおカりントに枛らす必芁がありたす。 それを䞀意の名前セットに枛らした埌、RCがそのセット内の名前生成パタヌンに埓おうずした堎合はどうなりたすか オヌバヌラップしないが、サヌビスラベルにポッドを䜜成した2぀のRCは、䞀意の名前を生成できたせん名前を争う可胜性がありたすが、それは暗黙的です。 名前は削陀埌に再利甚できたす

次に、ポッド内の氞続ボリュヌムは、ポッド名に基づいおPVCを䜿甚できたす。 PVCプヌラヌは、芳察されたRCのプヌルに察しお十分なクレヌムがあるこずを確認できたす。 デヌモンコントロヌラヌは、ノヌド名に察しお決定論的な名前を遞択できたす。 いく぀かのパタヌンに基づいお、サヌビス内のポッド名にDNS名をワむダリングするこずもできたす。

これは、ポッドに個別のIDフィヌルドを远加するよりも倹玄的です。 これは、ポッドがただペットではないこずを意味したすが、その名前はペットである可胜性がありたすこれは䞍合理なステヌトメントではありたせん。 同じポッドプロセスの2぀のむンスタンスがクラスタヌ䞊で同時に実行されるのを防ぐこずはできたせんが、その名前が珟圚1぀の堎所でのみ䜿甚されおいるこずを保蚌するこずはできたす。

䞊蚘の「芳察された名前のプヌル」を意味したす。 ゚ンドポむントDNSはhashpodname.ept.service.namespace.svc.cluster.localになりたす。 ゚ンドポむントにはすでにポッド名があるので、䜕も远加する必芁はありたせん。

https://github.com/kubernetes/contrib/tree/master/service-loadbalancerに関連しおおり、次の反埩の可胜性ずしおこの問題の解決を提案しおいたす

ここでDaemonSetに぀いお説明するのはなぜですか それは12893、IMOによっお解決されたした。

@smarterclaytonポッド名からIDをhttps 

1぀の可胜性は、必芁に応じお@smarterclaytonが蚘述した方法で名前を生成できるRCオプションず、オプションの蚭定方法に応じお䜿甚できる機胜の個別のセットを甚意するこずです。 したがっお、このオプションを有効にするず、「タスクむンデックス」アプロヌチでは実装が難しいものは利甚できなくなりたすが、ここで説明する機胜は利甚できたす。 逆に、デフォルトの動䜜オプションが無効では、これらの他の機胜は提䟛されたすが、ここで説明する機胜は提䟛されたせん。

ボヌグのタスクむンデックスの抜象化のようなものの有甚性は、_特定のナヌスケヌスで_出続けおいるようで、オプションずしお提䟛できない理由は私にはわかりたせん。

DaemonSet分散ファむルシステムストレヌゞのケヌスを解決するずは思わない
Gluster各ホストが再参加するために䞀貫したIDを持っおいる必芁がある堎合
クラスタヌ。 もっず掘り䞋げたすが、ただ䜕かが必芁かもしれないず思いたす
260のニヌズ-再接続した堎合にホスト名が十分かどうかはわかりたせん
新しいむンスタンス䞊のホストディスク。 たぶん私はDaemonSetが䜕であるか理解しおいたせんでした
提䟛され、12893が配信されたしたが、それは問題ではないず思いたす。
ディスクを再利甚したいシステムホスト。

0:22の氎、2015幎9月16日には、ブラむアン・グラント[email protected]
曞きたした

@smarterclaytonhttps //github.com/smarterclayton再蚪しないで
ポッド名からIDを取埗するこずも、RCを䜿甚しおIDを割り圓おるこずもできたせん。
これらのアプロヌチの問題はここで議論されたした260コメント
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -102107352

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

クレむトンコヌルマン| OpenShiftのリヌド゚ンゞニア

具䜓的な䟋ずしお、etcdクラスタヌを想像しおみおください。 7぀のむンスタンスず7぀のむンスタンスがありたす
ボリュヌム。 議論のために名前ず巻などが欲しいd-1
etcd-7からetcd-pvc-1からetc-pvc-7たで。

ロヌリングデプロむメントでは、MaxUnavailableが90たたは同等、MaxSurgeが0です。 これ
叀いRCを瞮小し、新しいRCを拡倧したす。 叀いRCを優雅に
etcd-5を削陀したす。 それは即座に効果的なRCセットから抜け出したす。 新しい
RCはetcd-5を䜜成しようずしたす蚭定されたギャップの芳察による。 それは受け取りたす
「AlreadyExistsException」。 これをバックオフおよび再キュヌずしお扱いたす。 䞀床
etcd-5は本圓になくなっおおり、続行するこずができたす。 etcd-5の準備ができたら、DC
次のステップに進みたす。

別の方法ポッドに蚭定されたIDの堎合、叀いRCは瞮小されたす。 A
新しいポッドは新しい名前で即座に䜜成されたす。 新しいポッドを起動できたせん
どのPVCをマりントするかを刀断するためにIDを蚭定する必芁があるためです
音量。 Kubeletで埅機ルヌプに入りたす。 IDコントロヌラヌ
䞀郚のラベルセレクタセットを監芖し、IDなどを監芖したす-5はそうではありたせん
割り圓おられたす。 アむデンティティetcd-5を新しいポッドに蚭定したす。 kubeletは芳察したす
その倉曎により、マりントするPVCを特定し、ポッドを起動したす
ボリュヌムが他のノヌドから切り離されおいるず仮定したす。

構造的に、これらは非垞に䌌おいたす。 埌者では、開始のオヌバヌラップが可胜です。
どちらもPVCをマッピングする必芁がありたす。

2015幎9月16日氎曜日午前0時39分、Clayton Coleman
曞きたした

DaemonSet分散ファむルシステムストレヌゞのケヌスを解決するずは思わない
Gluster各ホストが再参加するために䞀貫したIDを持っおいる必芁がある堎合
クラスタヌ。 もっず掘り䞋げたすが、ただ䜕かが必芁かもしれないず思いたす
260のニヌズ-再接続した堎合にホスト名が十分かどうかはわかりたせん
新しいむンスタンス䞊のホストディスク。 たぶん私はDaemonSetが䜕であるか理解しおいたせんでした
提䟛され、12893が配信されたしたが、それは問題ではないず思いたす。
ディスクを再利甚したいシステムホスト。

0:22の氎、2015幎9月16日には、ブラむアン・グラント[email protected]
曞きたした

@smarterclaytonhttps //github.com/smarterclayton再蚪しないで
ポッド名からIDを取埗するこずも、RCを䜿甚しおIDを割り圓おるこずもできたせん。
これらのアプロヌチの問題はここで議論されたした260コメント
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -102107352

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

クレむトンコヌルマン| OpenShiftのリヌド゚ンゞニア

クレむトンコヌルマン| OpenShiftのリヌド゚ンゞニア

私にずっおこの問題を難しくしおいるのは、名前の安定した䞀意のプヌルを生成したり、PDのプヌルを䜿甚したりしおいないこずです。 問題は、䞡方を同時に実行するこずです。 そしお、それを拡匵するず、仕様内のほがすべおの識別子をこのようにプヌルできないのはなぜですか

パックされたむンデックスの問題を私が知っおいる限りほずんどは䞭叀、それらは䜏みやすいかもしれないず思いたす特に、Davidが提案し、他の機胜ず盞互に排他的にする堎合。 しかしたた、私がそれを煮蟌むほど、いく぀かのモロンがアップスレッドに投皿したパッチのアむデアを嫌うこずは少なくなりたす。

この問題は長匕いおおり、分析の麻痺が発生しおいるのではないかず思いたす。

他のプヌリングのナヌスケヌスの䟋がもっずあればいいのにず思いたす。 Glusterだず思った
異なるでしょうが、それは䞊の別の倉皮です
cassandra / etcd / mongo / zookeeper "ボリュヌムを再利甚したいので、
私が前に誰だず蚀ったか芚えおおいおください」。
最初のNポッドコヌディネヌタヌず次のMワヌカヌを䜜成したい䟋
掻甚する。

0:46の氎、2015幎9月16日には、ティムHockin [email protected]
曞きたした

この問題を難しくしおいるのは、私にずっお、安定したものを生成しおいないこずです
名前の䞀意のプヌルたたはPDのプヌルを䜿甚したす。 問題は䞡方を行うこずです
同時に。 そしお、あなたがそれを拡匵するならば、なぜほずんど䜕もできない
仕様の識別子はこのようにプヌルされたすか

私が知っおいる限りほずんどは䞭叀、パックされたむンデックスの問題です。
圌らは䜏みやすいかもしれないず思いたす特にDavidが提案し、
それらは他の機胜ず盞互に排他的です。 でもたた、煮蟌むほど
それは、私がパッチのアむデアを嫌うこずが少ないほど、いく぀かのmoronがアップスレッドに投皿したした。

この問題は長匕いおおり、分析が行われおいるのではないかず思いたす。
麻痺。

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

クレむトンコヌルマン| OpenShiftのリヌド゚ンゞニア

DaemonSet

12893は、ホストネットワヌクを䜿甚するずきに、ポッドのホスト名をノヌドのホスト名に蚭定したす。これは、DaemonSetに䜿甚するのに完党に合理的です。そうしないず、ずにかくhostPortが䜿甚されるためです。

たた、DaemonSetをノヌドコントロヌラヌず統合しお、暗黙の無期限の蚱し1574を提䟛し、䞀般にノヌドに察しおスケゞュヌリングを有効にする前に「スケゞュヌリング」を有効にするこずを目的ずしおいたす。 暗黙の優先順䜍付けも合理的かもしれたせん。

クラスタストレヌゞシステムの堎合、ストレヌゞシステムによっおのみhostPathを介しおアクセスされる各ホストに远加のディスクをプロビゞョニングするこずを想像できたす。これらのディスクはDockerやemptyDirによっお䜿甚されたせん。

IDに関しおは、ここでの提案に問題はありたせん https 

この問題は、䞻に十分な優先順䜍の欠劂、IMOが原因で長匕いおいたす。

クレむトンをリフするにはたたは、同じこずを蚀うだけで、面倒です

$ kubectl create -f -
kind: IdentityPool
apiVersion: v1
metadata:
  name: my-etcd-idents
  namespace: default
spec:
  identities:
    - etcd-0
    - etcd-1
    - etcd-2
^D

$ kubectl create -f -
kind: VolumePool
apiVersion: v1
metadata:
  name: my-etcd-volumes
  namespace: default
spec:
  volumes:
      - etcd-disk-0
      - etcd-disk-1
      - etcd-disk-2
^D

$ kubectl create -f -
kind: Replicationcontroller
apiVersion: v1
metadata:
  name: my-etcd-rc
  namespace: default
spec:
  selector:
    job: etcd
  identityPoolName: my-etcd-idents
  podTemplate:
    containers:
        - name: etcd
          image: coreos/etcd:2.0
          volumeMounts:
              - name: data
                path: /data
    volumes:
        - name: data
          identity:
              volumePoolName: my-etcd-volumes
^D

これは、RCたたは䜕かがこれがIDセットであるこずを認識し、identityPoolからむンデックスを割り圓お、そのIDをポッド名に割り圓おおから、内郚を芗いお他のID䞭心のフィヌルドが蚭定されおいるかどうかを確認するこずを意味したす-IDこの堎合のボリュヌム。

完党に䞀般的ではありたせんがランダムフィヌルドをプヌルするこずはできたせん、必芁に応じおID察応オプションを远加できたす。

気に入ったスペックを決めれば、早く完成するのではないかず思いたす。

スペックを曞くだけでも時間がかかりたす。

IdentityPool / VolumePoolに関しおは、かなり前に、耇数のプヌルが機胜しないこずをすでに決定したした。

1.1のコヌド完了期限は金曜日です。 今これをしないでください。

関連もありたす170。 それはポッドテンプレヌトを分割するこずを提案したしたが、テンプレヌトスキヌムパッチよりも匷く奜むを遞択する堎合は、それらを䞀緒に怜蚎する必芁がありたす。

私は少なくずもv1.2候補にデザむンを茉せたした。

申し蚳ありたせんが、スケッチでは明確ではありたせんでした-RCたたはICには次の抂念がありたす
プラむマリプヌルたたはむンデックス。 ポッドにICでむンデックスが割り圓おられるず、
indexは、すべおのプヌル䞭心のフィヌルドにむンデックスを付けるために䜿甚されたす。

テンプレヌトを分割する堎合、RCは分割できないず仮定したす
テンプレヌトを倉曎したす。 それは少しトリッキヌです。

今週は話をやめお倧䞈倫です。 それはちょうど私の䞭に飛び蟌んだ
受信トレむず私はこのアむデアを噛んでいたした...

22:09で火、2015幎9月15日には、ブラむアン・グラント[email protected]
曞きたした

スペックを曞くだけでも時間がかかりたす。

IdentityPool / VolumePoolに関しおは、私たちはすでに長い間決定したした
以前は、耇数のプヌルは機胜したせん。

1.1のコヌド完了期限は金曜日です。 今これをしないでください。

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

ええ、私たちの偎で議論を匕き起こしたものがありたした。
お客様の問題は、リリヌスプロセスがなくなるのを埅ちたす。

1:14の氎、2015幎9月16日には、ティムHockin [email protected]
曞きたした

申し蚳ありたせんが、スケッチでは明確ではありたせんでした-RCたたはICには次の抂念がありたす
プラむマリプヌルたたはむンデックス。 ポッドにICでむンデックスが割り圓おられるず、
indexは、すべおのプヌル䞭心のフィヌルドにむンデックスを付けるために䜿甚されたす。

テンプレヌトを分割する堎合、RCは分割できないず仮定したす
テンプレヌトを倉曎したす。 それは少しトリッキヌです。

今週は話をやめお倧䞈倫です。 それはちょうど私の䞭に飛び蟌んだ
受信トレむず私はこのアむデアを噛んでいたした...

22:09で火、2015幎9月15日には、ブラむアン・グラント[email protected]
曞きたした

スペックを曞くだけでも時間がかかりたす。

IdentityPool / VolumePoolに関しおは、私たちはすでに長い間決定したした
以前は、耇数のプヌルは機胜したせん。

1.1のコヌド完了期限は金曜日です。 これをしないでください
今

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

。

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

クレむトンコヌルマン| OpenShiftのリヌド゚ンゞニア

議論はすべおIP番号ずポッドに関するものですが、MongoZookeeperでの私の経隓では、IPは無関係のたたである必芁がありたすペットになるこずはありたせん。 このボリュヌムは他の「ボリュヌム」のIP番号を蚘録するため、氞続的な_volume_には呌び数が必芁です。 そのボリュヌムをマりントするポッドが䜕であれ、蚘録されたIP番号を䜕らかの方法で䜿甚できるはずです。 ボリュヌムはペットです...

ボリュヌムに察しお時間的に䞀定であり、ボリュヌムをマりントするポッドに割り圓おられたDNS名は、私が思うに長い道のりを歩むでしょう。

MongoずZKでアンサンブルのメンバヌシップを倉曎するには、実行するために垞にカスタムコヌドが必芁であり、他のほずんどのアンサンブルでも同じであるず思いたす。 したがっお、Replication Controllerは間違った名前です。これらのペットには、より倚くのMemberShipコントロヌラヌが必芁です。 メンバヌシップコントロヌラヌは、初期蚭定を凊理しおから、アンサンブルぞの増分倉曎を凊理し、最埌にそれを匷制終了できる必芁がありたす。

マりントされたボリュヌムに基づく䞀定のDNS名ず、カスタムコヌドでアンサンブルメンバヌシップを凊理できる可胜性がある堎合、これらのタむプのシステムを凊理できるようになるはずです。

はい、ポッドIPは短期間のハックです。

この提案が進むのは、DNSずボリュヌムの䞡方を超えるものです。
結合を維持するために掻甚できたす。 懞念されるのは、DNS名を定矩するボリュヌムです
すでに確立したカップリングの逆であり、
ポッド仕様の他の郚分にそのより高い抂念を掻甚させたい
アむデンティティ環境のダりンワヌドAPIのように。 それは適応する
異なるアンサンブル゜フトりェアぞの識別が容易になりたす
タむプ。

アンサンブル以倖のナヌスケヌスがないこずを確認する必芁がありたす
ここで重耇し提案されたものを聞いたこずがありたせん、次に
最小限か぀適切であるず感じる具䜓的な提案。 ティムは持っおいるず思う
最近ここに芁玄したした。

2015幎9月23日午前11時33分、PeterKriensの[email protected]は次のように曞いおいたす。

議論はすべおIP番号ずポッドに぀いおですが、私の経隓では
MongoZookeeperのIPポッドは無関係のたたにする必芁がありたすペットにならないでください。
このボリュヌムは蚘録するため、氞続的な_volume_には呌び数が必芁です
他の「ボリュヌム」のIP番号。 そのボリュヌムをマりントするポッドは䜕でも
その蚘録されたIP番号をなんずかしお䜿甚できるはずです。 ボリュヌムは
ペット..。

ボリュヌムに察しお時間的に䞀定であり、ポッドに割り圓おられおいるDNS名
ボリュヌムをマりントするこずは私が思うに長い道のりを来るでしょう。

MongoZKのアンサンブルメンバヌシップの倉曎には、垞にカスタムが必芁です
実行するコヌドは、他のほずんどのアンサンブルでも同じであるず思いたす。 そう
レプリケヌションコントロヌラヌの名前が間違っおいたす。これらのペットにはさらにメンバヌが必芁です
船のコントロヌラヌ。 メンバヌシップコントロヌラヌは、
初期蚭定、アンサンブルぞの段階的な倉曎、そしお最埌に
それを殺したす。

マりントされたボリュヌムに基づいお䞀定のDNS名が䞎えられ、
アンサンブルメンバヌシップをカスタムコヌドで凊理するず、次のこずが可胜になりたす。
私が思うに、これらのタむプのシステムを凊理したす。

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

/ ping

https://hub.docker.com/r/elevy/zookeeper/で、既存の機胜を䜿甚しおKubernetesでZKクラスタヌを蚭定する䟋を芋぀けるこずができ

@smarterclayton @thockin

数日前にオフィスに自転車で行ったずきの考え

最初に説明したように、私は珟圚、これをPetSetコントロヌラヌ、たたは人々がそのように考えたい堎合はShardSetコントロヌラヌずしお考えおいたす //github.com/kubernetes/kubernetes/issues/260# issuecomment- 57671926。

私たちが察凊しようずしおいるのは、類䌌したペットがN匹いる堎合ですが、それでもペットであり、代替可胜ではありたせん。

これをReplicationControllerに結び付けるこずは、䞀郚にはReplicationControllerにテンプレヌトが1぀しかないため、ただ機胜しないず思いたす。 PetSet / ShardSetは、DeploymentやDaemonSetのように、より高レベルの抜象化である必芁がありたす。 PetSetは、むンスタンスごずに1぀のPodTemplateオブゞェクトを生成する可胜性がありたす。

DeploymentAPIを再利甚できるずは思いたせん。 特に、珟圚kubectlずDeploymentにあるロヌリングアップデヌトのロヌルアりト戊略は、この堎合は機胜したせん。 ほずんどのペットはおそらく曎新の再䜜成を望んでおり、ロヌリング曎新が必芁な堎合は、シャヌド数を超えるサヌゞを凊理できず、曎新の順序に泚意を払うこずになりたす。

私はこのアむデアが奜きですが、ボトムアップのID割り圓おが機胜するずは思いたせん。 割り圓おられたIDをプヌルに戻すこずず、新しいIDを割り圓おるこずによる、競合状態が倚すぎたす。 JobでRabbitMQの䜿甚を怜蚎しおいるずきに、 @ erictuneが遭遇した問題ずよく䌌おいたす。

コントロヌラヌずIDプヌル、たたはコントロヌラヌずサヌビスなど、耇数の堎所でPetSetのスケヌルを衚珟したくないのは、スケヌリングが難しい/厄介になるためです。

この堎合、汎甚テンプレヌトは必芁ないず思いたす。 関連するストレヌゞず予枬可胜で耐久性のあるネットワヌクIDを䜿甚しおポッドをスタンプする必芁がありたす。 ボヌグでは倧たかな同等物で十分です。 したがっお、私は12450に沿ったものに匷く傟いおいたすが、ポッド自䜓ではなくポッドテンプレヌトに傟いおいたす。 おそらく、podTemplateに加えおpersistentVolumeClaimTemplatesの配列です。 ずにかくそれらを非掚奚にしたいので、私はすべおのクラりドプロバむダヌ固有のボリュヌム゜ヌスの代わりに掟手なものを远加したくありたせん。 PVCに远加の芁件やセレクタヌを远加するだけで十分です。 たた、ある時点で氞続ボリュヌムを䜕らかの方法でプロビゞョニングできる必芁がありたす。

最終的にはロヌカルストレヌゞに぀いお䜕かをする必芁がありたすが、それは分離可胜だず思いたす。

次に、䞊蚘のホスト名ずヘッドレスサヌビスの倉曎をここで行いたす。
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -133318903

珟圚提案に取り組んでおり、たもなくドラフトが䜜成されたす。

...では、PetSetはどこにありたすか

Kubernetes䞊にHAデヌタベヌス゜リュヌションを構築しおいたす。 䞀郚の、特にシングルマスタヌデヌタベヌスでは、特定のポッドからのむベントに基づいお特定のポッドにマップする゚ンドポむントを備えたサヌビスが必芁です。 䟋えば

  1. サヌビス「postgres」はラりンドロビンをReplicaSet内のすべおのポッドにマップしたすが、サヌビス「postgres-master」は1぀のポッドにのみマップしたす。
  2. マスタヌポッドが死にたす。
  3. フェむルオヌバヌが発生したす。 フェむルオヌバヌの䞀環ずしお、新しいマスタヌはAPIを介しおKube-masterを曎新し、postgres-masterサヌビスを「取埗」したす。
  4. これを行うず、postgres-masterぞの以前の接続はすべお終了したす。

@jberkus PetSetsを有効にするための最初のアルファコヌドがマヌゞされたか、マヌゞが保留されおいたす。 私のチヌムの@ingvagabundは、PetSetを利甚した䟋をたずめお、䜕がうたく機胜し、䜕がただ改善が必芁かを確認し始めたす。 たずめおテストしたい特定のナヌスケヌスがある堎合は、圌に連絡するこずをお勧めしたす。

@ncdc v1.3ではこれのためにすべおが行われおいたすか 提案が統合されおおらず、これを参照しおいる他のPRがしばらくないため、䞍明です。

@bprashanth ^

私たちはe2esを䞊陞させ、䟋に取り組み続けおいたす。 アルファ版です
今、しかし提案はアルファフィヌドバックの最初のラりンドを取る぀もりです
マヌゞする前に。

2016幎5月19日午前10時25分、ブランドンフィリップス[email protected]
曞きたした

@ncdc https://github.com/ncdcこれはv1.3ですべお実行されおいたすか です
提案が統合されおおらず、他のPRがないため、䞍明確
しばらくこれを参照したす。

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

このためのドキュメントはどこにありたすか デヌタベヌスフェむルオヌバヌのナヌスケヌスに぀いおテストしたいず思いたす。

ああ、私たちに必芁なのはpostgresの専門家です:)

䟋に぀いおは、 https//github.com/kubernetes/contrib/pull/921を参照しお@philips。 私はただドキュメントを曞いおいたせんが、1.3の最埌の数週間に向けお曞きたす金曜日にコヌドが完成しおからリリヌスするたでただ5週間です。

かなり䞀般的であるため、postgresを䜿甚しおフェむルオヌバヌを自動化しおみおください。 珟圚のずころ、それは私が望むほど簡単ではないこずを認めたす。おそらく番犬が必芁です。 @jberkusどのパタヌンがそれを簡単にするかに぀いおのフィヌドバックを聞きたいです。

今日のペットセットを簡単に確認するず、ネットワヌクにマりントされたボリュヌムず䞀臎する䞀貫したネットワヌクIDDNS、ホスト名ず泚文保蚌が提䟛されたす。 したがっお、 replicas: 3でペットセットを䜜成するず、次のようになりたす。
管理サヌビス*。galear.default.svc.cluster.local
mysql-0-volume0
mysql-1-volume10が実行され準備が敎うたで開始されたせん
mysql-2-volume20たで開始せず、1は準備ができおいたす

ポッドは、管理サヌビスの䞋に挿入されたSRVレコヌドを怜玢するこずにより、サヌビス怜出にDNSを䜿甚できたす。 これが、この単玔なポッドの機胜です https 

ボリュヌムは動的プロビゞョニングツヌルhttps://github.com/kubernetes/kubernetes/blob/release-1.2/examples/experimental/persistent-volume-provisioning/README.mdによっおプロビゞョニングされるため、ボリュヌムがない堎合はクラスタで実行されおいるが、プロトタむプを䜜成したい堎合は、単にemptyDirを䜿甚できたす。 「data-gravity」https://github.com/kubernetes/kubernetes/issues/7562のケヌスはただ機胜しおいたせんが、最終的には機胜したす。

珟圚、initコンテナを介しお、ピアのリストを含む「開始時」の通知を配信する方が簡単であるこずを付け加えおおきたす。 「倉曎時」の通知も必芁であるこずは明らかです。 珟圚、クラスタヌメンバヌシップの倉曎に気付くには、カスタムpid1を䜿甚する必芁がありたす。 共有されたpid名前空間は、サむドカヌを䜿甚できるため、これを簡単にする可胜性がありたす。これも、正しく機胜する必芁があるものです。

私はりォッチドッグを持っおいたす、それは私が望むよりも耇雑なサヌビスフェむルオヌバヌです。 テストしたす、ありがずう

etcdもサポヌトする必芁があるので、将来的にはたくさんのテストがあるかもしれたせん。

@ncdcこのためのアルファコヌドのステヌタスは䜕ですか テスト/実装を開始したいのですが。 ここですぐにcassandraクラスタヌをデプロむする必芁がありたす。 私は既存のコヌドベヌスでそれを行うこずができたすが、ペットセットのものをテストするのはいいこずです。

HEADからビルドすれば入手できたす

@bprashanthはメむンリポゞトリにマヌゞされたしたか たこずにありがずうございたす。 したしょう。

泚釈文字列にyamlを埋め蟌みたすか oof、ouch :(。ありがずう、カサンドラセットの䜜成を調査したす。

それはjsonです。 これは、GAオブゞェクトポッド内のinitコンテナヌに远加されたアルファ機胜です。
@chrislovecnmはCassandraに取り組んでおり、圌を埅ちたいだけかもしれたせん。

@paralinは私が取り組んでいるものです。 今すぐドキュメントを䜜成しおk8sリポゞトリに取り蟌む時間はありたせんが、それは長期的な蚈画です。 https://github.com/k8s-for-greeks/gpmr/tree/master/pet-race-devops/k8s/cassandraロヌカルでHEADで䜜業しおいたす。

デモの最新のC *むメヌゞはうたく機胜したす。

より倚くのドキュメントのために未解決の問題がありたす。 りむンクりむンク、ナッゞ@bprashanth

etcdクラスタヌを䜿甚したPetSetsの䟋[1]。

[1] https://github.com/kubernetes/contrib/pull/1295

レビュヌが終了したら、必ず提案ドキュメントで蚭蚈の質問をキャプチャしおください

2016幎6月30日には、125 AMで、月Chaloupkaの[email protected]は曞きたした

etcdクラスタヌを䜿甚したPetSetsの䟋[1]。

[1] kubernetes / contrib1295
https://github.com/kubernetes/contrib/pull/1295

—
あなたが蚀及されたので、あなたはこれを受け取っおいたす。
このメヌルに盎接返信し、GitHubで衚瀺しおください
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -229594658、
たたはスレッドをミュヌトしたす
https://github.com/notifications/unsubscribe/ABG_pwVgiaLvRKbtcJG9wzMEZcCNgae8ks5qQ32PgaJpZM4CIC6g
。

ペットセットのドキュメントはhttps://github.com/kubernetes/kubernetes.github.io/blob/release-1.3/docs/user-guide/petset.mdずhttps://github.com/kubernetes/kubernetes.githubです。 io / tree / release-1.3 / docs / user-guide / petset / bootstrapping 、この問題を閉じお、誰かが反察しない限り、ペットセットをベヌタ版に移行するこずに察凊する新しい問題を開く予定です。

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