zaki work log

作業ログやら生活ログやらなんやら

Ansible Night オンライン!2020.06 でKubernetes構築(kubeadm)の自動化でLT登壇した振り返り

登壇から1週間空いてしまいましたが、「Ansible Night オンライン! 2020.06」で(人生2度目の)LT枠で登壇をしましたので、振り返りたいと思います。

ansible-users.connpass.com

発表スライド

speakerdeck.com

内容について

少し前にkubeadmを使ったKubernetesクラスタ構築を行い、ここのブログにも3月にアップしたことがありました。
(ちなみに当時はCNIにFlannel使ってますが、現在Kubernetesのサイトのリストから消えており、個人環境ではCalico使っています。そしてインストールが旧バージョンより楽になってたりするので、その辺まとめたい…)

zaki-hmkc.hatenablog.com

そしてその後、このときの構築をAnsibleで自動化する、というの細々とやってました。
(この自動化については、まだブログにまとめたりしてないんですが、最近のAnsibleネタのブログのネタ元はだいたいこのplaybook書いたりしてる過程で出てきたものです)

github.com

で、せっかくの機会なので、「流行りの技術であるKubernetesクラスタが作れますよー」という切り口から、「既存の構築作業の自動化」みたいな感じで話をしてみたら面白いかなと思いました。

申し込み(CfP)

今回の発表枠は、先着や抽選でなく、Call for Proposalに申し込んで採択という形式だったので、まず最初に発表内容の概要を作成して申し込みました。
で、CfPというものを書くのが初めてだったので、書きっぷりや粒度がわからず、割と勢いで書いてしまいました。
ちなみに備忘録を兼ねて、こんな内容です。

タイトル: 「Kubernetesクラスタ構築を例に既存の作業をAnsible化するポイント」

概要:

クラウドサービスのマネージドKubernetesではなく、kubeadmという公式CLIツールを使った任意の環境へのKubernetesクラスタのの構築手順を例に、手順の内容の紹介から必要なモジュールの探し方・使い方について説明し、入門者向けに既存の手作業の構築手順をAnsibleのPlaybookとして作成する際のポイントについて紹介します。
Playbookにしておけば、マネージドサービスのような手軽さでKubernetesを手元の環境に構築することもできます。

  • kubeadmの紹介
  • 見るべきドキュメントの場所
  • 大まかな構築の流れ
  • Ansible化のポイント

申し込みのこの段階でゴールを決めて、それから発表内容を作成・5分に縮小していく、、、という感じに今回はなったのですが、初めにゴール(今回で言うと「Ansible化のポイント」)を明確にしてしまったため、(時間短縮のために)内容を削ったり、削った部分に合わせてゴールを変更したりすることができなかったのが難しかったです。

正直に言うと「kubeadmを使ったKubernetesクラスタ構築を自動化した」くらいにしておけばよかったと、準備中に何度も思いました(笑)

といいつつ、このCfPの内容をちゃんと話せたかと言うと微妙な感じですね。。
話のポイントも「自動化のポイント」よりも「自動化の練習に良いよ」感を強くし過ぎた気がします。

企画の参加

今回実は初めて企画から参加させていただきました。

コミュニティイベントの企画というかお手伝いをやってみたいと前から思っていたのですが、今回はAnsibleユーザー会でメンター枠にいる関係で企画の段階から参加する機会がありました。
GW(がまんのウイーク)頃から企画会議を実施し、どんな方向性にするかやQAの方法や使用するツール類などなどについて話し合いを行いました。(でもって、バーチャルAnsible飯やってました笑)

で、これは私の反省点なんですが、運営のお手伝いに入っていたのに発表枠に申し込んでしまった関係で、企画のネタ出し以降はあまりお手伝いできなくて申し訳なかったです。

ちなみに今回運営に参加した関係で、初めてconnpassの「管理者」枠になったのですが、参加者登録があるとconnpassのダッシュボードのフィードのところに参加登録の情報が表示されるので、一瞬でフィードの情報が流れてしまうという経験をしました。 (普段はフォローしてる方がどんな勉強会に参加してるのかをフィードの部分で興味深く見てたりしてたので、「人気の会の運営をいくつも持ってる人ってこの部分は機能してないのかなー」という気付きがありました)

企画会議自体は、Zoomとあとmiroというオンラインのコラボレーションツールを使用しました。
実はこのツール、前から知ってはいたけど使う機会がなく使い勝手も分からなかったのですが、実際に触ってみると操作性も良くオンラインで複数人で話し合いとかするにはすごく便利だと思いました(こなみ)

utilly.jp

初めてのオンライン発表

前回の初めてのLT登壇はオフラインでしたが、今回はオンラインということで。。
めっちゃカンペ見ながら話しをしました

で、2回目だからというよりは、、やはり目の前に人がいないのが影響してると思うのですが、緊張感も前回よりはあまりなく、呼吸困難(笑)になることもなく、なんとか喋り切れたかなと思います。
何と言っても練習のときと全く同じ、自宅のPCの前で座って喋るという環境だったので、「本番特有の緊張」があまりなかったかなと感じました。

※ とはいえ、本番前はそれなりに緊張してたので、実況ツイート量も激減しています(笑)

ちなみに在宅ワーク用にヘッドセットを購入してたんですが、私用ノートPCのイヤホンジャック、どうやらマイクの端子が付いてないっぽく(全く認識しなかった)、結局USB接続のマイクを用意しました。
オンライン飲み会とかで事前にチェックした限りでは悪くない感じです。

…で商品ページを載せようと思ったんですがAmazonから無くなってる…
この機種の旧バージョン(AU-GM10という型番)だと思われ。

www.amazon.co.jp

発表に入れられなかったこと

「自動化によって得られるスピード感」

自動化で重要な要素の一つだと思うんですが、話の構成と時間の関係で具体的な処理時間のお話が入りませんでした。
発表のテーマである「kubeadmによるKubernetesクラスタ構築」をAnsible使って自動化すると、使用している回線やサーバー側の帯域の関係もあると思いますが、CentOS7のminimalインストール直後の状態からの構築で、masterが1ノード・workerが2ノード構成だと、速いときで6分程度(日本時間の朝がなんとなく速いことが多い)・遅いときでも10分強くらいでpodがデプロイできる状態になります。
クラウドのマネージドサービスと比べてもそこまで差はないレベルかなーというところまで話せたらよかったのですが、時間的に厳しかったです。

それから、イベント冒頭のパネルセッションで英語ドキュメント・翻訳ドキュメントのお話があり、話を聞いてる最中に「kubeadmは日本語ドキュメントもあるけれど、コマンドのオプションが最新版に追従されてない箇所も若干あるので、英語のドキュメントベースで作業した方が良いです(翻訳されてる方スミマセン)」的な一言を付けたそうと思ってましたが、完全に抜け落ちてました。

というかこの辺の翻訳作業、お手伝いしてみたいんだけど、inductorさんに聞いてみたら良いのかな…(英語力は無い)

あと実際に構築してみたい人向けの「ご参考」として最後にパラパラッと飛ばしたCNI(スライドはCalicoについて記載)のところで、本記事の冒頭にも少し書きましたが、以前存在していたFlannelがリストから消えたという話もちょっと入りませんでした。

usansible

こちらは逆に話す予定は当初はなかったのですが、モジュールの検索の話をする関係で、ついでだと思って一瞬だけ、名前を出す程度に話しましたが、タグ検索で遡ってみた感じだと、割とウケが良かったらしく、これはこれで嬉しかったです。

まぁ、スライドタイトルにもシレっと入れたままでしたからね…(笑)

usansibleはこちら

chrome.google.com

qiita.com

ツイートまとめ

togetterの作成、いつもありがとうございます!

togetter.com