前職では撃沈したのでこの辺の知識を学び直して再入門してる。改めて前提知識の多さに撃沈しそう。https://t.co/5XWYnPLnPB
— Ryuichi@vimなにもわからない (@ryuichi_1208) 2020年12月12日
久々にk8sを触って遊んでいて「Kubernetesを始める前に必要そうな知識をまとめてみた」という事前に知っておくと良いよいうよな知見たっぷりのとても嬉しい記事を見つけたのでスキルチェック的な感じでやってみました。今までは漠然と「k8sはなんか難しい」って感じていたけどなんで難しいか、自分がどこが苦手かがわかってよかったです。
- ◎ : 実務(プロダクション)で利用経験あり(2年以上)
- ○ : 実務(プロダクション)で利用経験あり(2年未満)
- △ : 実務(検証) or 自宅環境で利用経験あり
× : 入門記事を読んだレベル
【○】Docker(コンテナ)
- 【○】Git
- 【×】アジャイル
- 【×】マイクロサービス
- 【×】DevOps
- 【◎】Infrastructure as Code(IaC)
- 【◎】CI/CD
- 【○】REST(HTTP)
- 【○】クラウドインフラの基本的な構成
- 【○】ストレージ
- 【○】*NIX OSの基本
- 【○】分散処理
- 【○】セキュリティ
- 【×】認証認可
- 【△】機密情報の管理方法
- 【△】ネットワーク
- 【△】DNS(名前解決)
元記事にもあるけど知っておくべき知識だけでもとてつもなく多い。しかもこれがあって初めてスタートラインの直前にたったくらいでここからk8sの独自の用語やらどでかいコマンドを理解してスタートラインだと思う。
ただ単純にpod動かしてクラウドベンダーのロードバランサに紐づけてアプリを動かすだけならLinuxの知識が少しあれば問題なくできると思う。ただ障害が起きた場合は上記で挙げたような知識がないと正直太刀打ちできないケースが多いと思う(運用経験はほぼないので世間の声的に)。
さらにCI/CDする場合とか戦略的なデプロイをしたいみたいな実運用でこれまで当然だったことをk8sの世界に持ち込むには上記の知識プラスでエコシステム、進化のめちゃくちゃ早いOSSなんかの知識も必要になる。↓良くみるランドスケープ
まとめ
kubenetesは学ぶ前提知識を得る大変。hello worldレベルの入門はそこそこ大変。運用するならめっちゃ大変。やめよう。