Kubernetes(AKS)をやさしく学ぶ旅 その11
更にディープな Kubernetes を学ぶ旅へ(つづき)
その11 はざっくりとしたまとめになってしまいますが、残りの学んだ方がよい部分をピックアップ形式でお届けする形にします。ちなみに、長かった旅も今回でひとまず Closed とし、今後は知識を付加していく記事としてこの手の話題を上げていくようにします。
保守性
Kubernetes クラスターを運用する上で「バージョンアップ」がついて回ります。
・Kubernetes コンポーネントのバージョンアップ
・Kubernetes を動かすサーバーのバージョンアップ
機能の拡張は要/不要の判断が入るのですが、セキュリティの脆弱性他クリティカルな事項は基本「要」のみになるかと思います。ちなみに、Kubernetes でのバージョンの見方は下記の通りです。
(例)1.11.1 左:メジャー 真ん中:マイナー 右:パッチ
当記事を記載している 2019/10/31(木) 時点では 1.16.2 が最新です。
Pod が動作する Node を再起動する際に可能な限り影響する範囲をコントロールしたいです。Kubernetes には下記リンク先のような様々なしくみが提供されています。
また、Node の再起動を必要とする場合に再起動のコントロールをするしくみも提供さています。Kubernetes 自体がオープンソースですが、当しくみの Kured もオープンソースとして公開されています。マイクロソフトのドキュメントに Kured 関連記事が上がっていたので貼っておきます。
ちなみに、コンポーネントのアップグレードに関しても前述の Drain や Uncordon の仕組みを利用します。
リソース分離
こちらに関しては下記記事が非常にまとまっているのでオススメです。
実際に Kubernetes(クラスター) を運用していく上でトラブルを起こさないためにもセキュリティについては事前設計し考慮する必要がありそうです。
可観測性
そもそも、「可観測性」の定義とはなにかというところから。NTTソフトウェアイノベーションセンタの夏目様が Kubecon + CloudNativeCon Europe 2019 に参加された際の記事に非常によくまとまっています。
可観測性(Observability)動向 - nttlabs - Medium
メトリック・ログ・トレースの3本を主体として「可観測性」が成り立ちます。個人利用もしているツールなのですがはてなさんが開発されている「mackerel」はサービス監視(外形監視)可能なツールとして紹介されています。
Azure 上でも「Azure Monitor」のようなメトリックとアラートのバックエンドサービス、更には可視化手段を提供してくれるサービスがあります。
コンテナー用 Azure Monitor の概要 | Microsoft Docs
リソース分離と同様ですが「絶対に必要」というわけではない(いや、必要か。笑)もののなかったことで後で痛い目を見ることがないようにしたいものです。
おまけ(1)
結果、今まで Kubernetes の記事として10近く上げてきたのですが結局、Kubernetes は使うべきなの使わないべきなの?という話題がついて回ると思います。これに関してマイクロソフトの寺田様がまとめてくださっている記事があるのでリンクを貼ります。
これに関連して Kubernetes のハンズオンイベントをときどき見かける(2days?)のですがどこかで参加したいなぁ・・・・。
おまけ(2)
プラスでハンズオンでも何度も実行している「kubectl」の手引きリンクを掲載致します。
Overview of kubectl - Kubernetes
おまけ(3)
こんなところをキャッチアップしていかないといけないところなのですが、Kubernetes に関わる記事として「Open Application Model」と「Dapr」があります。今月中旬頃に発表された記事ですが、今後のクラウド開発者の潮流がこの2サービスでどう変わっていくのかが楽しみなところです。自分自身も追随できるように日々是精進ですね!
おそらく、11/4~11/8にオーランドで開催される Microsoft Ignite でなにかしらの続報があるかも!?
追記(Appendix)
2019/11/04
Twitter でフォローしている方から Microsoft Learn に k8s のモジュールがあると聞き、早速やってみました。が、実は既にやっていました。復習の意味も兼ねてですが、短いモジュールながらも良くまとまっています。