地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

【k8s】kubenetesを学ぶ上での前提知識的な記事を見つけたのでスキルチェックシート的なものをやってみた。

久々に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なんかの知識も必要になる。↓良くみるランドスケープ

f:id:ryuichi1208:20201213102355p:plain

まとめ

kubenetesは学ぶ前提知識を得る大変。hello worldレベルの入門はそこそこ大変。運用するならめっちゃ大変。やめよう。