Kubernetes the Hard Way on Azure:振り返り

こんにちは。

Kubernetes the Hard Way on Azure を一通り終え、何らかの形でまとめておきたいなと思いつつ早数日・・・ようやく重い腰をあげました。

今回の内容は以下です。

  • Kubernetes the Hard Way を振り返る
    • 当初立てた目標と照らし合わせる
    • Hard Wayで得た知識を整理する
      • 図にまとめる


ざっくばらんな振り返り

Hard Wayを行うにあたって、開始時に掲げていた目標は以下でした。

  • Kubernetesコンポーネント、リソースをより深く理解する
    • Control Plane
    • Worker Node
    • Network
    • Certification
  • Azure 上で構築することで、AKSの構成・仕組みの理解を深める
  • とっつきやすくする
    • K8s the Hard Way on Azure の簡易日本語版を記す
    • 図解する
  • プレゼン内容のヒントを得る


コンポーネントやリソースの理解を深める

ある程度効果を得られたと実感しています。例えばDNSについて、得た知識を業務で扱う環境(AKS)に反映することがあったり、同僚からの質問に答えられたり。

あとは、Kubernetesに対してのワクワク感が高まりました。

書籍では気に留めない、マネージドなら意識しないKubernetesの機能や構成に出会って、改めて考え抜かれた仕組みであることに驚き、ますますKubernetesへの興味が湧きました。

Kubernetes the Hard Way on Azure : 14. ダッシュボード より

知らないから怖い・避けたくなるのであって、知る努力を重ねることで、恐怖感が薄れて前向きに頑張れるようになる。そんな効果もありました。

一方で、細かい作業時(証明書発行したりServiceを用意したり)には、自分の基礎的な知識、特に証明書関連やネットワークが不足していることを痛感しました。インフラの全体的な知識をフル活用しながらクラスタを構築した感覚があり、自身の課題の再認識ができたのも収穫でした。


AKSの構成・仕組みの理解

今回構築した条件とは完全にイコールのものでは無い(VMとVMSSとか)ものの「AKSのコレは、Azureリソースとしてはコレに当たる」という紐付けが、以前よりスムーズにイメージできるようなりました。

これができるようになることで、リソース管理の「確実性」が上がると思っています。

AKSの場合 az コマンドを叩けばクラスタが構築されるわけですが、それにより自動生成されたリソース類は命名規則やタグ付けが独特(Kubernetesの仕様に合わせている様子)で、何のためのリソースなのかや要不要の判断がパッと見では難しい状態です。

リソースグループ名で絞り込めば、AKSクラスタに紐づくリソースかどうかはわかります。しかし、セキュリティの観点や金銭的な判断が必要な時のためにも「なぜこのリソースがあるのか、AKSコンポーネントでは何にあたり、何のためのものなのか」は説明できる状態であるべきと思っています。

マネージドだからAKSの構成をよく知らなくてもクラスタを構築できるし、その学習コストの低さが良さでもある。けれど運用に着目すると、コスト面やトラブルシューティングなどでは間違いなく理解しておく必要がある、という考えです。Azure側・ユーザの責任分界点を知っておくことも大事。https://docs.microsoft.com/ja-jp/azure/aks/concepts-security


とっつきやすくする

まず、私のような経験の浅いエンジニアでもK8sクラスタ構築を「やろうと思えばできる」ことは証明できたかなと思います。これまでの投稿を見て「Hard Way、自分もやってみようかな」と思っていただけたらすごく嬉しいです。

次に、英語のハードルを下げるという点。当初の目標設定が曖昧でしたが「自分の」ハードルという点では概ね達成しました。ただし誰かのために和訳したいなら、正式な手順でGitHub上で行うべきことなのかも、という思いもあります。GitHubの使い方がよく分からないので勉強しないと・・・

「図解」は実際は過去に描いた物を使い回す程度で、最低限のことしかできませんでした。せめて各ユニットの導入で「今、どの部分を構築しようとしているのか」を意識するために取り入れてみました。


Kubernetes the Hard Way on Azure を俯瞰する

Hard Way を進めている間は、手順を追うことに力を入れすぎて Kubernetes クラスタ構築の全体的な流れを見渡す視点に欠けていたな、という反省点がありました。
※実際の記事は HardWay タグでご参照ください

ここではHard Way 全体を項目単位でゆるく可視化してみようと思います。

f:id:dombri:20200301074350j:plain

HardWayの手順を一枚にまとめてみました。描いてみることで、各項目の関係性が整理できました。


参考程度に、AKSクラスタを構築した場合の手順はこちらです。

f:id:dombri:20200301074356j:plain

いやぁAKSクラスタ構築簡単ですね。Hard Wayしてみたからこそわかる、マネージドのありがたさ。

まとめ

総じて、Kubernetes the Hard Way on Azure をやってみて良かったです。

  • Kubernetes の構成の理解を深められた
  • AKS の構成とAzureリソースの紐付けを想像できるようになった
  • インフラ知識のおさらい、自身の知識不足の確認ができた
  • 英語の読解練習になった

そういえば、一つ大事なことを忘れていました。

  • プレゼン内容のヒントを得る

完全にコレを流用することはできないけれど、HardWayを絡めたAKSの仕組みのお話ができたらいいか・・・なんて考えています。いい加減作り始めないとまずい。どうなることやら・・・


何はともあれ今回はここまで。Hard Way、楽しかったです!!