2020年も残すところ数時間なので、今年の振り返りをサクッとします。

第一子誕生

1月に長男が誕生しました。

2, 3ヶ月は夜に起こされることも多く心身ともに疲労がありましたが、 妻の実家に近いこともあり、かなり助けられました。

大変な時期も含めて、とてもとても可愛くて毎日の成長が楽しみです。

来週には1歳になりますが、まだ誕生日プレゼントを決めきれずにいます。 年始のセールで決めちゃいましょう。

自宅ラボ構築

5月に自宅ラボを構築しました。

今でも十分に大活躍していますが、仮想化基盤としてはメモリ不足を感じているのでスケールアウトかスケールアップしたいですね。 (沼の気配がする)

仮想化基盤のパーツ購入&構築
仮想化基盤のパーツ購入&構築
先月の投稿で自宅ラボの機器選定をしました。結論を言うと、DeskMini A300 を買いました。 仮想化基盤のハードウェア選定 つよつよエンジニアには「自宅ラボ」という検証環境をお持ちの方が多いようです。 「自宅ラボある⇒つよつよエンジニアになる」ではないですが、自宅ラボあれば勉強する機会が増えるのではということで、自宅ラボ構築を目指します。 「逸般の誤家庭」と呼ばれる常軌を逸した環境(褒め言葉)を構築されている方もいらっしゃるようですが、お財布のほうも常軌を逸してしまいそうなのでコスパ重視で自宅ラボを構築を検討します。 今回は、仮想化基盤用マシンのハードウェア選定をしていきます。ネットワークについては別途検討予定。 目的(なぜ仮想化基盤用のマシンを用意するのか) 自宅でも快適にKubernetesクラスタを検証するためです。 現在は自宅PC(Win10)にVMware Workstation Playerを入れ、その上にESXiを入れてしてネスト仮想化基盤を構築しています。 しかし、PCのスペックがそこまで高くうえにネスト構成にしたためESXiのVMは激重になってしまいました。 当初はOpenShift4を動かしてみるつもりでしたが、インストール作業が終わりませんでした。OpenShiftは要求スペックが高いですね…。 Chapter 1. Installing on bare metal | Red Hat Product Documentation Chapter 1. Installing on bare metal | Red Hat Documentation 代わりにkubeadmでK8sクラスタ(master3台, worker3台)を組んでみたのですが、クラスタできたもののPrometheus-Operatorを入れてみたら無事に死亡しました。 そのようなこともあり、快適にK8sクラスタを動かすことができる自宅ラボを構築することが目的となっています。 機器選定 マザーボードと電源が一体となった「ベアボーン」 or パーツをそれぞれ自分で選ぶ「自作PC」の2通りから考えます。 (ベアボーンも自作PCに含まれると思いますが、適切な表現が不明なので分けて記載します。) DeskMini A300を選んだ理由 機器選定で3パターン検討していて、なぜメリットを感じなかったDeskMini A300を選んだのか、なぜ選んでいた自作PCにしなかったのか。それは「Micro ATX用ケースが思いの外でかい!」ということが大きいです。

初 LT (オンライン)

6月の Ansible Night で初めてのLTをしました。

Ansible コミュニティ (ansiblejp) では新型コロナが広まる前から、オンラインでのイベント配信やもくもく会が開催されていました。 地方住みということもあり、Ansible コミュニティイベントは参加の敷居が低く、モチベーションを維持しやすかったです。

そこで色々な方と出会い(主にTwitterで)刺激を受けていく中で、いつしか「LTをしてみたい」という気持ちが湧いてきました。 ちょうど新型コロナの影響で Ansible Night がオンラインで開催されることになったので思い切ってエントリーしてみました。

Ansible Night オンライン! 2020.06 (2020/06/23 18:00〜)

# Ansible Night オンライン 2020.06 〜オンラインだからこそ実力を発揮〜 ▼視聴用URL▼ https://youtu.be/2cOx7wIT5ac ※トラブルなどにより変更する場合には、Twitterでご案内いたします。 ## イベント概要 Ansibleユーザのコミュニティミートアップ、Ansible Nightをオンラインで開催いたします。 新型コロナウイルスの件で中々物理イベント、ミートアップが開けない状況ですが、こんなときだからこそ、Ansibleを使っている活用例などをシェアする場にできればと考えています。また、企画途中ではありますが、登壇者...


なんとか無事(?)にLTをやり遂げたのですが、発表内容やプレゼンの仕方についてはまだまだ未熟だと自身でも感じたので、 なるべく機会を見つけてLTなどの経験を積んでいきたいです。

初オンライン飲み

7月に初めてオンラインで飲み会をしました。

Twitterで仕事の愚痴をつぶやいていたところ、Ansible 関連で知り合った(フォローし合った)方からオンライン飲みに誘われました。

初めて喋る方とする初めてのオンライン飲み、始める前は緊張しかなかったのです。 しかし、お酒の力や参加された方々の人柄もあり、終盤はいつもの飲み会と変わらない楽しさがありました。 (その節は愚痴を聞いていただき本当にありがとうございました)

その後も何度か誘っていただき、オンラインならではの「移動が必要ない」とか「安上がり」といったメリットを実感しました。 今後、コロナが収まっても居酒屋に行く機会は減りそうです。

マイホーム

7月に家が建ちました。

2019年3~9月あたりで間取りなどをハウスメーカーの担当さんと計画していたのですが、この時期に妊娠発覚して後半はほぼメーカーにお任せ状態でした。

ところどころ「ここにコンセント欲しかった」とか「冷蔵庫はここじゃなかった」とか、もう少し考えておけばという後悔もありますが、住めば都です。

書斎も作らせてもらったので、今後テレワークになったとしても快適に仕事ができるように「城」を築いていこうと思います。

2回目のLT

12月の Kubernetes Meetup Novice で2回目のLTをしました。

Kubernetes Novice Tokyo #7 (2020/12/08 19:00〜)

## Kubernetes Novice Tokyoとは? * Kubernetesに関連するテーマのLTを通して、Kubernetes初心者の方に対してアウトプットの機会を提供します。 * ゲストスピーカーとしてKubernetesのエキスパートをお呼びして、テーマに関連したセッションをお願いしています。 ## 想定する参加者 * 「Kubernetes初心者」の中で、下記のような思いを持つ人を主なターゲットとしています。 * Kubenetesに関連するLTを行ってみたい * Kubenetesに関して、アウトプットの練習をしてみたい * K...


Kubernetes 関連は仕事では触れる機会がなく完全に趣味レベルではあったのですが、 こちらのコミュニティでは自分のような「Kubernetes初心者」の登壇機会を提供してくださっています。

そして今回のテーマが「○○試してみた」ということで、ちょうど11月に触っていた ExternalDNS をネタにして登壇しました。

自宅 k8s クラスタのサービスに FQDN で繋がるようにした
自宅 k8s クラスタのサービスに FQDN で繋がるようにした
自宅の検証用マシン (Deskmini A300) に ESXi を入れて検証環境として利用しています。 最近はそこへ k8s クラスタを構築して色々試しているのですが、クラスタ内に立ち上げたサービスへは IP アドレスでアクセスしていました。 IP アドレスでアクセスするのはとても面倒だったのですが、やっと k8s で動かしているサービスに FQDN で繋がるようになったので投稿します。 システム構成図 完成後のシステム構成図になります。 (構成図描くの下手で分かりにくいと思います…) [f🆔nnstt1:20201113012536p:plain] 見てもらって分かる通り、LAN 用の DNS サーバを VM で建てています (k8s クラスタの外です)。 これは、k8s クラスタを構築する前に DNS サーバ (dnsmasq) を構築していて、それを流用しているためです。 使用するプロダクト 今回利用しているプロダクトは以下になります。 名前 バージョン 用途 Kubernetes 1.19.0 コンテナオーケストレーション Docker 19.03.12 コンテナランタイム ExternalDNS 0.7.3 DNS プロバイダに DNS を登録 CoreDNS 1.8.0 DNS サーバ etcd 3.4.13 DNS レコード格納 MetalLB 0.9.3 ベアメタルロードバランサー 構築 以下の手順で環境を構築しました。 DNS サーバ (CoreDNS & etcd) 構築 MetalLB デプロイ ExternalDNS デプロイ DNS サーバ (CoreDNS & etcd) 構築 CoreDNS & etcd を使った DNS サーバを構築します。 この DNS サーバに k8s クラスタのサービス用の DNS レコードを格納していきます。 なぜ dnsmasq を流用しないかというと、後述する ExternalDNS が dnsmasq に対応していないからです。

初回に比べればまだマシになったかな?という程度でまだまだ経験値が足りないと反省しました。

総括

2020年は人生としても大きなイベントがあり、初めての経験もたくさんできました。

繋がってくださった方々、機会をいただいた方々、助けてくださった方々にはとても感謝しています。 本当にありがとうございました。

2021年はアウトプットをたくさんして、自分から機会を提供できればと考えています。