Cloud Native Days Tokyo 2021

2021/11/4,5に実施されたCloud Native Days Tokyo 2021(CNDT 2021)。

リアルタイムにはほとんど参加できなかったので、後追いでのイベント参加でどこまで内容を把握できるかチャレンジしてみる。

Networking

Single前提のDockerとクラスタ前提のKubernetesの比較、overlayネットワークの位置付けと重要性の紹介
・Node Network(not overlay
・Service Network(overlay)
・Pod Network(overlay)

他にも、以下のような項目が説明されていて、理解が曖昧な部分をしっかりと補完してくれる内容。
・CNI(Container Network Interface)の例示としてのKubenet, Flannel, Calico, Cilium, Amazon VPC CNI plugin
・Cluster IPの実態であるkube-proxyの説明。加えてkube-proxyのパフォーマンス上の課題。
・Kubernetesでクラウドリソースを管理するのは、kube-cloud-controller-manager。例えば、LoadBalancer ServiceをEKSで作成すると、ELBが作成される。

CI/CD, DevOps

以下が紹介された、非常に実践的な内容。(プレイベント)
・複数環境へのブランチ戦略:dev=PR, stage=main, prod=latest tag
・インフラリポジトリの分離:GitHub Actionsでinfra repoを操作
・ChatOpsでタグ打ち
・図らずもCIOpsになっていた部分をGitOps化するためにKubernetes Operatorパターンを導入

所感としては、実運用を考えると、Kubernetes Operatorの導入が手段として考えらえるが、まだまだ安定的な実装方式が世の中に普及していないような印象。

Argo CDの挙動をコードレベルで追いかけた内容。同期時の挙動など詳細に説明されています。

Argo CDとArgo Rolloutsでのカナリアリリースの紹介。以下のような事項の説明があり、非常に実践的な内容。
・Circle CIに多くの権限を付与
・EKS移行
・カナリアリリース時のスティッキーセッション対応 → 最終的には不要に
・AppProjectレベルでのロールアウト

Observability

Grafana Lokiの利用方法の詳解。
「Lokiはマイクロサービス」ということで、Production Readyとするための、以下のような様々な考慮点が説明されている。
・Lokiを構成するコンポーネント
・ログ設計
・ストレージの障害設計

1)ログの書き込みプロセス
以下の構造が理解できるようになる
・Clients
・Loki(Disributor, Ingesters)
・Storage(S3, Chunk Cache)

2)ログの読み込みプロセス
以下の構造が理解できるようになる
・Loki(Query Frontend, Queriers, Ingesters)
・Storage(S3, Chunk Cache, Index Read Cache, Query Result Cache)

3)障害時の挙動を知る
以下のような勘所が理解できるようになる
  (1) 書き込み時の耐障害設計
・Flushは非同期 →  書き込み自体は失敗しない
・WALは実質MemoryのSnapshot → ロード成功しても近いうちにOOM → ボトルネックはIngesterのMemory

 (2) 読み取り時の耐障害設計
・Strage障害時にもログを検索するための条件

Chaos Engineering

Chaos EngineeringとChaos Meshの紹介。具体的な事例をもとに、他のツールとの立ち位置の違いを示しつつ説明されている。

Chaos MeshはCNCF sandboxプロジェクト。リッチな UIを持ち、「Design for Kubernetes」で、Kubernetesでの利用が可能なのが特徴。Network, Disk, Podなど様々な対象に、障害注入可能。

開発環境

開発環境として必要な以下の事項を紹介。
・コンテナビルド:CloudNative Buildpacks
・パイプライン:tecktoncd/pipeline
・必要なサービスのみローカルで起動:Telepresence

所感としては、EclipseとJenkinsの時代は割とシンプルだった気もするが、こういった開発環境のセットのベストプラクティスが、まだそこまで浸透していないような印象

サービスメッシュ

以下の事項が説明されていて、マイクロサービス時代のサービスメッシュ構成の構築のための1事例。
・GKE×ASMがどういったケースにお勧めされるのか
・アップグレードサイクルをどう設定すれば良いのか
・GKEのアップグレード戦略:Inplace, Blue/Green, Cluster Migration
・ASMのアップグレード戦略:Inplace, Canary

まとめ

全体を通して、後追いでも学習可能。

以下のような言い訳が通用しなくなってきた。
・子育て世代の自分としては、リアルタイムでのイベント参加は難しい
・今回のように平日でも業務都合で参加不可

その分、開催側の負荷は格段に上がっているものと思われ、こういうコンテンツを共有いただけることに感謝。

いいなと思ったら応援しよう!