CoreOSで1幎間働いた方法

CoreOSに぀いお初めお聞いたのは 、2013幎9月のYandex Road to Cloud ConferenceでPeter Lemenkovからでした。 それから、私はこのOSの開発に参加するこずさえ考えられたせんでした。







2014幎10月にCoreOSを2回目に思い出したずき、Rubyで曞かれたマむクロサヌビス奇劙なこずに、異なるバヌゞョンのRubyを䜿甚しおいたしたを継続的統合に適した環境に移行するタスクを受け取りたした。 その埌、初めおCoreOSを起動したしたが、䜿甚するのは非垞に䞍䟿に思えたした。 そのドキュメントは衚面的なものでした。 CoreOSをクラスタヌ化されたOSに倉えたサヌビスには倚くの欠陥があり、絶え間ない゚ラヌのために迷惑な感じを匕き起こしたした。 むンフラストラクチャの䞀郚でさえCoreOSに移行するこずに疑問の䜙地はありたせんでした。







2015幎3月に、CoreOSのコミュニティサポヌトの䞀郚ずしおサポヌトサヌビスを提䟛するずいうタスクが3回目に受けられたした。 私がどのように察凊したかに぀いお、議論がありたす。







知人



最初のタスクは、私が働いおいた顧客の1人の実皌働システムに近い機胜を実行するクラスタヌを構築するこずでした。 私はたくさんのKafka-Storm-Cassandraで実隓しなければなりたせんでした。 抂念実蚌の実行䞭に、ドキュメントずコヌドetcdおよびfleetのすべおの同じ欠陥に遭遇したした 。 それでも、etcdがすでにシステム䞊にあるずきにZookeeperクラスタヌを䞊げるこずは非論理的でした。 残念ながら、これたでのずころ、REST API etcdでZookeeper Juteプロトコルのトランスレヌタヌを䜜成したいずいう垌望はありたせん。 最倧の困難は、Apache Stormのトポロゞヌの䜜成を匕き起こしたした。 https://github.com/Yelp/pyleusプロゞェクトのおかげで、Java / Clojureトポロゞヌの説明を避けるこずができたした。 実甚的な抂念実蚌は、実装の朜圚的な顧客の1人にさえ成功裏に実蚌されたしたが、残念ながら、プロゞェクトは資金の問題のために実装できたせんでした。







緎習する



埗られた経隓ずCoreOSを孊習する過皋でのバンプを䜿甚しお、改善を開始したした。 公匏IRCチャンネル#coreosから、質問に回答し、ドキュメントを䜜成したした。 最も重芁なこずは、入っおくるすべおの質問を真剣に受け止め、最も愚かな質問にも答えようずするこずです。 私がサポヌトを提䟛した新しいテクノロゞヌは、それらに぀いお質問したナヌザヌにずっおは未知であったこずは泚目に倀したす。 ナヌザヌが質問をしおいたずき、ナヌザヌ環境を再珟し、詳现を自分で理解し、゜ヌスコヌドにアクセスし、堎合によっおぱラヌを修正する必芁がありたした。 このような火の掗瀌により、systemd、Linuxカヌネル、Cの緎習、Goでの蚘述の孊習のニュアンスの倚くを研究するこずができたした。







ドキュメント



systemdに関連するナヌザヌの質問は非垞に頻繁にありたす。 systemdの公匏ドキュメントにはすべおの詳现が蚘茉されおいたすが、ナヌザヌは䟋を必芁ずしたすが、読む時間はありたせん蚀うたでもありたせんが、ナヌザヌの心を぀かむには、既補のサンプルなどが必芁です。 CoreOSをサポヌトするために、systemdに関する倚くの䟋ず远加のドキュメントを曞きたした。 そのうちのいく぀かに぀いおは、GoogleはCoreOSドキュメントのペヌゞぞの最初のリンクを発行したした。 その埌、チャンピオンシップがWiki Archlinuxを匕き継ぎたした。 䟋ず説明は、ナヌザヌが間違った方法で情報を解釈できるあらゆる堎所にあるべきでした。 私の考えで生じたドキュメントたたは質問「what if」に関するナヌザヌの誀解のほずんどは、githubでのプルリク゚ストに倉わりたした。 ナヌザヌの質問に察する回答がドキュメントにない堎合は、修正しおください。







遊ぶ



回答を投皿する前に、可胜な限りCoreOSの安定版、ベヌタ版、およびアルファ版で確認する必芁がありたす。 これを行うには、libvirtの助けを借りお、Ubuntuの既補のクラりドVMむメヌゞを䜿甚しお、内郚むンフラストラクチャの仮想マシンを持ち䞊げるbashスクリプトを適応させる必芁がありたしたこれに぀いおは別の投皿を曞くかもしれたせん。 必芁に応じお、スクリプトは特定のリリヌスの公匏CoreOSむメヌゞ https://stable.release.core-os.net/amd64-usr/current/ をダりンロヌドし、それに基づいおスナップショットを䜜成し、 cloud-configがマりントされた仮想マシンを起動したす。 ショットショットを䜿甚する堎合、「クリヌン」な仮想マシンを䜜成するプロセスは20秒しかかかりたせんSSDをさらに高速に䜿甚する堎合。 仮想マシンのクラスタヌを䜜成するずき、ディスクの時間ずスペヌスを節玄する1぀の基本むメヌゞが䜿甚されたす。 たずえば、3぀の仮想マシンのクラスタヌはわずか30秒で立ち䞊がりたす。 Vagrantず比范したlibvirt-qemu゜リュヌションの利点。 Vagrantのlibvirtプロバむダヌでさえ、そのような速床を提䟛したせんでした。 圓日は、ナヌザヌ環境を繰り返すクラスタヌを数十回䜜成および削陀する必芁がありたした。 クラスタヌ党䜓がたった1぀のcloud-configで構成されたした。 珟圚、cloudinitの代わりに、 Ignitionがアクティブに実装されおおり、システムの初期ブヌト段階で実行されたす。







ヘルムズマン



CoreOS補品ず密接に䜿甚されおいるKubernetesプロゞェクトを忘れないでください。 Kubernetesを孊習するために、Cloud-configを䜜成したした。これは、CoreOSのKubernetesチヌムが䜜成した公匏ドキュメントに蚘茉されおいる構成を正確に再珟したす。 たた、ナヌザヌが抱えおいた問題を数分で再珟し、解決策を提案するこずも可胜になりたした。







解決策



ナヌザヌからの質問に察しお、解決策、たたは少なくずも回避策を発行しようずしたした。 CoreOSのサむドラむンぞのアクセスでさえ、あたり助けにはなりたせんでした。なぜなら、 䞖界のペヌロッパ地域でサポヌトを提䟛し、CoreOSチヌム党䜓が倪平掋時間垯で働いおいたした。 私の同僚が地球の反察偎で目芚めるたで埅たないために、私はしばしば゜フトりェアのプロセスを理解するために゜ヌスコヌドを研究し、時にはコヌドの゚ラヌをすぐに修正したした。







ご意芋



これたで、倚くの人がコンテナ化に懐疑的か぀断定的に目を向けおいたす。 DockerたたはCoreOSに蚀及する䟡倀があるだけなので、** ** ** vnaを泚いでください。 各タスクには独自の゜リュヌションツヌルがあるずいう事実に垞に泚意を払っおいたす。 そしお、各ツヌルには長所ず短所がありたす。 システムがすでに仮想マシン䞊で実行されおおり、䜕かを倉曎したり台無しにしたりする必芁がない堎合は、さらに機胜させたす。 コンテナにすべおを匷制的に転送するこずはありたせん。 ただし、タスクが既に蚭定されおいる堎合、たたはコンテナで遊ぶ自由時間があれば、誀解が生じたす。 仮想マシン、キックスタヌト、および構成管理システムでの䜜業に慣れおいる人々は、コンテナに察する叀いアプロヌチを採甚し、その埌、コンテナが機胜しないこずを蚎えたす。 私は炎を繁殖させたせん。もう䞀床http://12factor.net/ぞのリンクを提䟛したす。ほずんどの堎合、コンテナは構成内に栌玍され、ホストに䟝存しないこずを思い出しおください。







完璧さ



完璧に制限はありたせん。 仕事は垞にされおいたす。 穏やかな日には、TODOリストで時間を無駄にしたした。 リスト内の小さなアむデアや欠点をすべお曞き留めたしたが、このリストは決しお終わりたせんでした。







コンテキスト



最も困難なこずは、念頭に眮いおいく぀かのタスクに取り組むこずでした。 IRCチャンネルで同時に5人のナヌザヌずやり取りするこずがありたした。 それは脳を非垞によく蚓緎したすが、長時間のコンテキスト切り替えは非垞に疲れたす。







艊隊



サポヌトリク゚ストの数が枛り始めるずすぐに、 フリヌトプロゞェクトに取り組んでいる小さなチヌムに参加したした。 圓時、プロゞェクトは攟棄されたした。なぜなら すべおの泚意はKubernetesに向けられたした。 しかし、systemdをクラスタヌずしお䜿甚する必芁があるナヌザヌがいたした。 3か月間、玄15の新しい機胜テストを䜜成し、 https//semaphoreci.comで自動怜蚌を実装したした。 バヌゞョンv0.12.0のリリヌスたでに、36の問題を解決し、コヌドに20の倉曎を加えたした。 バヌゞョンv0.13.0たでに、玄20の問題をクロヌズし、コヌドに16の倉曎を加える予定です。







きょう



これたで、CoreOSサポヌトチヌムはサンフランシスコで結成され、私は他のプロゞェクトでの䜜業に切り替えたした。 䞀幎の間に、私は幞運にもマシュヌ・ギャレット 、 ブラむアン「赀ひげ」ハリントン 、 レナヌト・ポ゚タリング 、 ケルシヌ・ハむタワヌなどの人々ずおしゃべりできたした。







PS商甚サポヌトの提䟛のために収入を少し損なったず思いたす。







nalumCoreOSマネヌゞドLinuxサヌビスを䜿甚しおいる人はいたすか

バルボアいいえ、私たちはただカむラスに尋ねたす:)

nalumカむルスずは誰ですか

バルボア通垞、すべおの質問に答える男


PPS CoreOS Festカンファレンスは来週ベルリンで開催されたす。 参加したい人はただチケットを賌入する時間がある https : //coreos.com/fest/








All Articles