
<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Kubernetes | monolog</title>
	<atom:link href="https://blog.monora.me/tag/kubernetes/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.monora.me</link>
	<description>monora log #=&#62; ものろーぐ</description>
	<lastBuildDate>Mon, 21 Jun 2021 14:15:51 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.0.1</generator>
<site xmlns="com-wordpress:feed-additions:1">21279848</site>	<item>
		<title>そろそろ Kubernetes 入門する (1)</title>
		<link>https://blog.monora.me/2021/06/sorosoro-kubernetes-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sorosoro-kubernetes-1</link>
		
		<dc:creator><![CDATA[きょんたん]]></dc:creator>
		<pubDate>Mon, 21 Jun 2021 14:15:47 +0000</pubDate>
				<category><![CDATA[Cloud Native]]></category>
		<category><![CDATA[Kubernetes]]></category>
		<category><![CDATA[n0stack]]></category>
		<category><![CDATA[Server]]></category>
		<guid isPermaLink="false">https://blog.monora.me/?p=2296</guid>

					<description><![CDATA[<p>いい加減クラウドネイティブっぽいことをやりたいと言い出して早数年、世の中の流れには完全に乗り遅れた感がありますが、今更入門することにしました。 この記事を書いている時点で、すでにこのブログが構築したクラスタ上で動いている [&#8230;]</p>
The post <a href="https://blog.monora.me/2021/06/sorosoro-kubernetes-1/">そろそろ Kubernetes 入門する (1)</a> first appeared on <a href="https://blog.monora.me">monolog</a>.]]></description>
										<content:encoded><![CDATA[<p>いい加減クラウドネイティブっぽいことをやりたいと言い出して早数年、世の中の流れには完全に乗り遅れた感がありますが、今更入門することにしました。</p>



<p>この記事を書いている時点で、すでにこのブログが構築したクラスタ上で動いているところまでは来ていますが、ゆっくり備忘録がてらまとめていくことにします。</p>



<p>ただkubeadmでシングルノードで立てても面白くないよね、ということで、色々と試してみることにしました。</p>



<ol><li>実験のしやすさを考慮して<strong>VMの上に建てる</strong><ol><li>VM基盤は n0stack を使う</li></ol></li><li>可能な範囲でちゃんと<strong>冗長化する</strong></li><li>ちゃんと<strong>アプリケーションを乗っける</strong></li><li>完全な<strong>お遊び用のクラスタは別に作る</strong></li></ol>



<p>あたりを基本方針にしました。</p>



<h3>ホストについて</h3>



<p>さて、まずサーバはどうするかという問題がありました。現代なので冗長化するなら3台欲しいので、お手軽かつ高速なマシンが3台必要でした。</p>



<p>また、過去にも同じことをやろうとして、<a href="https://akiba-pc.watch.impress.co.jp/docs/wakiba/find/1088686.html">秋葉原で安く売っていたサーバ</a>(通称赤鯖)を3台買ってはいましたが、CPUもRAMも足りない &amp;&amp; ファンの音がうるさいということで放置されて早3年が経過したので、次は静かなマシンが良かったわけです。</p>



<p>というわけで安くて速くて静かでRAMが積めるマシンを検討した結果、 <a href="https://kakaku.com/item/K0001307634/?cid=shop_google_dsa_00010001_direct&amp;gclid=CjwKCAjw8cCGBhB6EiwAgOReyxZcWi0C0wSqHRzfkyFRluRvWuDv91OxBaqiQAZwCQ9ZlUKHZtgU9BoCqs4QAvD_BwE">Lenovo の M75q Tiny Gen2</a> を購入しました。定番ですね。Ryzen 7はコアが多くて速い。<br />ただ、予算の都合でまだ2台しか買えてません。</p>



<p>購入後の感想ですが、静かで小さいので自室の足元に置いても気にならずかなり満足しています。CPU使うと流石にファン回って気になりますけどね。</p>



<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
<blockquote class="twitter-tweet" data-width="550" data-dnt="true"><p lang="ja" dir="ltr">LenovoのUEFI、レガシーな見た目のままマウスカーソルが出てくるの面白いな <a href="https://t.co/8gnOWiTasF">pic.twitter.com/8gnOWiTasF</a></p>&mdash; kyontan (@sukukyon) <a href="https://twitter.com/sukukyon/status/1382987513598382081?ref_src=twsrc%5Etfw">April 16, 2021</a></blockquote><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</div></figure>



<p>一方で、色々構築をすすめるにつれ、ストレージが256GBだと足りないか? と思うことがあり、SATAのSSDを追加することを検討しています。<br />ストレージ足すなら別に小さい必要はなかったのでは……という気持ちがあり、 <a href="https://kakaku.com/item/K0001314866/">V55t Mini-Tower</a> とかでも良かったのでは……という気持ちに。計画性がない。</p>



<p>ストレージをどうするか問題は常に付きまといますね。後述するかもしれませんが、現在は、このクラスタとは別に以前から運用していた FreeBSDサーバに刺さっている雑なディスクをミラーリングしてNFS共有しています。RDBMSとかやろうとするとiSCSIの方が良いかもしれない……</p>



<p>OSは雑に Ubuntu 20.04 Server を選択。</p>



<h3>n0stack</h3>



<p>今回のVM基盤です。別にlibvirtでもOpenStackでもなんでも良いのですが、構築が楽 &amp; 動作が軽くて、コードはなんとなく分かるので気になったら自分で直せるし、ぐらいの気持ちで選択しました。</p>



<p>n0tsack は 友人の @h-otter が主となって開発していて、過去には ICTトラブルシューティングという大会で数百VM規模で動いた実績があります。紹介記事は本人が書いてるので読んでください。</p>



<blockquote class="wp-block-quote"><p>n0stackの紹介 &#8211; h-otterの備忘録</p><cite>https://h-otter.hatenablog.jp/entry/2019/09/22/164251</cite></blockquote>



<p><a href="https://github.com//n0stack/n0stack">https://github.com//n0stack/n0stack</a> を眺めて、 n0core と n0cli があれば動くことが分かったので適当にやります。</p>



<p>VMを起動する/管理する本体である n0core は、全体の管理をする api とQEMU等を制御する agent からなります。<br />データストアは api にいて、デフォルトでは設定不要の LevelDB を使用します。LevelDB は特にデーモン等が不要のDBで、api が動くホストの <code>/var/lib/n0core</code> あたりに勝手に保存されます。<br />冗長化したければ etcd も使えます、が構築時点では<br />etcd or LevelDB を使っていて、デフォルトだと LevelDB を使うので、特にDBの設定は不要です。雑に <a href="https://github.com//n0stack/n0stack#deploy-all-in-one">GitHub の README</a> を見てデプロイします。</p>



<p>VMのセットアップはあまり考えずに<a href="https://docs.n0st.ac/en/master/user/usecases/boot_vm_from_iso.html" title="https://docs.n0st.ac/en/master/user/usecases/boot_vm_from_iso.html">ドキュメント</a>を参照すれば良い、と思いきやハマりました。QEMUの仕様が変わったらしい? <a href="https://github.com/n0stack/n0stack/pull/239">https://github.com/n0stack/n0stack/pull/239</a> で解決。そのうちマージします。</p>



<p>適当な Ubuntu が起動することを確認したところで一旦ここまで。(ホスト名は k8s-0X だが別に Kubernetes は動いていない)</p>



<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
<blockquote class="twitter-tweet" data-width="550" data-dnt="true"><p lang="ja" dir="ltr">GW1日目の成果です <a href="https://t.co/8NY30hSQ4e">pic.twitter.com/8NY30hSQ4e</a></p>&mdash; kyontan (@sukukyon) <a href="https://twitter.com/sukukyon/status/1390780779911802884?ref_src=twsrc%5Etfw">May 7, 2021</a></blockquote><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</div></figure>



<p><br /></p>The post <a href="https://blog.monora.me/2021/06/sorosoro-kubernetes-1/">そろそろ Kubernetes 入門する (1)</a> first appeared on <a href="https://blog.monora.me">monolog</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2296</post-id>	</item>
	</channel>
</rss>
