Upgrade to Pro — share decks privately, control downloads, hide ads and more …

EKS使って社内でコンテナ勉強会やってみた件

みのるん
February 16, 2022

 EKS使って社内でコンテナ勉強会やってみた件

みのるん

February 16, 2022
Tweet

More Decks by みのるん

Other Decks in Technology

Transcript

  1. EKS使って
    社内でコンテナ勉強会
    やってみた件
    御田 稔 SRE / KDDI株式会社

    View Slide

  2. お前誰?
    š 御田 稔(おんだ みのる)
    KDDI 情シス系部門のSRE
    š 業務では協力会社さんに頼りがち
    週末いろいろ触って勉強中
    š JAWS-UG SRE支部運営
    š 好きなAWSサービス:
    @minorun365

    View Slide

  3. 最近、新人研修資料の社外公開がブーム?
    サイボウズ
    ミクシィ
    サイバー
    エージェント
    リクルート

    View Slide

  4. これをたまたま読みました
    サイボウズ
    ミクシィ
    サイバー
    エージェント
    リクルート

    View Slide

  5. めちゃくちゃ良かった!!!
    サイボウズ
    https://cybozu.github.io/introduction-to-kubernetes/
    「Kubernetesを使った開発入門」

    View Slide

  6. そうだ!
    社内でハンズオン会開いて
    みんなに広めてあげよう!

    View Slide

  7. ユーザー企業(情シス)あるある?
    š 最近コンテナ、CI/CDが色んな上流検討で浮上するが
    社員がイメージわいておらず若干ついてけてない
    š そもそもCI/CD以前に、ふだん社員がコード書いたり
    ビルドもデプロイもしないためメリットが刺さらない
    この状態で「ECS vs EKS」とか言われても、
    本質的な議論にならないのでは…?

    View Slide

  8. ユーザー企業(情シス)あるある?
    š 最近コンテナ、CI/CDが色んな上流検討で浮上するが
    社員がイメージわいておらず若干ついてけてない
    š そもそもCI/CD以前に、ふだん社員がコード書いたり
    ビルドもデプロイもしないためメリットが刺さらない
    この状態で「ECS vs EKS」とか言われても、
    本質的な議論にならないのでは…?
    ⼿を動かせ!!
    ⽂化が必要

    View Slide

  9. ハンズオンの課題
    ① 社用のOA端末は制限いっぱいなWindows。
    でも「私用PC持ち込み」にしちゃうとハードル↑
    ② CLI操作がメインだと「ハンズオンできました!
    …で結局これは何?」となってしまう懸念あり
    ③ みんな忙しいので長くても1h程度が限度
    (離席長いと遊んでると思われると気にする人も…)

    View Slide

  10. 課題① PC環境どうするか問題
    サイボウズさんの研修資料では
    ローカルPCにminikubeを直接インストール
    会社の学習用AWSアカウントを用いて
    CloudShellを使うことに。ブラウザさえあればおk!

    View Slide

  11. 課題② CLI何やってるか分からん問題
    š クラスターやノードの実態がGUIでも見られるよう
    minikubeではなくEKSを使ってアレンジ。
    š EKSクラスター作成の待ち時間を利用して
    「コンテナとは何ぞや」紙芝居を披露。
    š ハンズオン中にやってることも
    しつこく概念図でおさらいするイラストを挿入。

    View Slide

  12. EKSならコマンド1行でおうちクラスター完成!
    š eksctl create cluster 打つだけで、VPCから
    サブネットから何から諸々、EKSが自動作成してくれる
    š デフォルトだとワーカーノードはEC2×2台のマルチAZ構成。
    (ランダムで変なクラスター名が付きます)

    View Slide

  13. 待ち時間の紙芝居をちょっと紹介
    コンテナって何?
    (Kubernetes入門)
    https://speakerdeck.com/
    minorun365/kontenatuteh
    e-kubernetesru-men
    むかしむかし「サーバー」がいました
    物理サーバー
    業務アプリを
    24h稼働できる
    つよいコンピューター。
    データセンターに⽣息
    スペック⾜りない
    台数増やしたい
    機材注⽂、搬⼊…
    くそメンドイし時間かかる。
    気軽に構成変更できない。

    View Slide

  14. 物理は⾯倒なので「仮想化」されました
    物理サーバー
    業務アプリを
    24h稼働できる
    つよいコンピューター。
    データセンターに⽣息
    物理機器そのままで
    サーバーをいくつも
    動かせればいいのに
    1台の物理マシン上で
    複数の仮想マシンを動かせる。
    (VMware社のvSphereなど)
    これが15年前ぐらいのトレンド
    仮想サーバー on 物理
    OS(Linuxなど)
    アプリ
    仮想ホストOS(ESXなど)
    仮想マシン1
    ゲストOS1
    アプリ1
    仮想マシン2
    ゲストOS2
    アプリ2
    待ち時間の紙芝居をちょっと紹介
    コンテナって何?
    (Kubernetes入門)
    https://speakerdeck.com/
    minorun365/kontenatuteh
    e-kubernetesru-men

    View Slide

  15. クラウド化で根っこの物理も不要に
    仮想マシン増えて
    管理や増設⾯倒…
    物理ホストすら
    もう持ちたくない
    祝!⾃社データセンター卒業。
    レイヤー低めなインフラエンジニアは
    ここで職を失うことに
    仮想サーバー on クラウド
    パブリッククラウド
    EC2
    ゲストOS1
    アプリ1
    EC2
    ゲストOS2
    アプリ2
    仮想サーバー on 物理
    仮想ホストOS(ESXなど)
    仮想マシン1
    ゲストOS1
    アプリ1
    仮想マシン2
    ゲストOS2
    アプリ2
    待ち時間の紙芝居をちょっと紹介
    コンテナって何?
    (Kubernetes入門)
    https://speakerdeck.com/
    minorun365/kontenatuteh
    e-kubernetesru-men

    View Slide

  16. 仮想マシンすら邪魔になってきた
    EC2増設するたび
    Linux構築⾯倒…
    アプリ+環境だけ
    持ち運べないかな
    アプリ+ライブラリ+ミドルウェアを
    包み込んでOSから分離(Dockerなど)
    超軽量で開発しやすく、デプロイも⾼速!
    これが10年前ぐらいのトレンド
    コンテナ on 仮想サーバー
    仮想サーバー on クラウド
    パブリッククラウド
    EC2
    ゲストOS1
    アプリ1
    EC2
    ゲストOS2
    アプリ2
    パブリッククラウド
    EC2
    ゲストOS1
    コンテナ1
    アプリ1
    コンテナ2
    アプリ2
    EC2
    ゲストOS2
    コンテナ3
    アプリ3
    待ち時間の紙芝居をちょっと紹介
    コンテナって何?
    (Kubernetes入門)
    https://speakerdeck.com/
    minorun365/kontenatuteh
    e-kubernetesru-men

    View Slide

  17. Kubernetes
    の世界
    ちょっと待ってコンテナ増えすぎた
    コンテナ on Kubernetes
    パブリッククラウド
    EC2
    ゲストOS1
    コンテナ1
    アプリ1
    コンテナ2
    アプリ2
    EC2
    ゲストOS2
    コンテナ3
    アプリ3
    EC2
    ゲストOS3
    Kubernetes
    管理ミドルウェア
    管理
    Googleのすごい⼈が
    作った管理ツール
    待ち時間の紙芝居をちょっと紹介
    コンテナって何?
    (Kubernetes入門)
    https://speakerdeck.com/
    minorun365/kontenatuteh
    e-kubernetesru-men

    View Slide

  18. Kubernetes
    の世界
    低レイヤーはどんどんマネージド化
    コンテナ on EKS
    パブリッククラウド
    コンテナ1
    アプリ1
    コンテナ2
    アプリ2
    EC2
    ゲストOS2
    コンテナ3
    アプリ3
    管理
    EKS
    Kubernetes
    管理ミドルウェア
    Fargate
    待ち時間の紙芝居をちょっと紹介
    コンテナって何?
    (Kubernetes入門)
    https://speakerdeck.com/
    minorun365/kontenatuteh
    e-kubernetesru-men

    View Slide

  19. 課題③ サッサと終わらせたい問題
    š 基本リソースのデプロイと動作確認を中心に
    理解☆実感できる最低限のスコープに絞る
    š 途中参加・退出してもキャッチアップしやすい
    よう懇切丁寧な手順書を準備。
    š IAMユーザーなど全員分を事前に作っておき、
    ログインすれば即始められる状態に

    View Slide

  20. 手順書はQiitaで公開。世界の初心者に届け!
    Kubernetes初心者がAWSを活用してコンテナ入門ハンズオンやってみた
    https://qiita.com/minorun365/items/0441e4878f0984a9fc0a
    Copyright (c) 2019 Cybozu
    Released under the MIT license
    https://github.com/cybozu/introduction-
    to-kubernetes/blob/master/LICENSE

    View Slide

  21. しつこくスクショと概念図を入れました

    View Slide

  22. しつこくスクショと概念図を入れました
    コンテナ(Pod)を作ってみる
    あなた
    会社PC
    AWSアカウント
    CloudShell
    IAMユーザー
    Kubernetesクラスター
    コントロール
    プレーン
    EC2(ノード) EC2 (ノード)
    データプレーン
    注⽂書のとおりPodを作ってね
    (kubectl apply ‒f 注⽂書)
    定義ファイル
    (注⽂書)
    YAML
    my-
    nginx
    作成
    Pod
    アップロード
    今どこから何に対して
    操作しているのか、、
    どシロートでも
    迷子にならないように
    イラスト化

    View Slide

  23. そして、ハンズオン当日…

    View Slide

  24. そして、ハンズオン当日…
    しくじった!!

    View Slide

  25. しくじりポイント
    eksctlでクラスター作成時「エラー出ました!」が多発
    → みんなで同時作成しすぎてAWSクォータに抵触
    同僚のとっさの判断に助けられる
    リージョン分散しますか。
    みなさん⾃分の地域つぶやいてください
    ˞ ো֐ରԠ
    ྺઓͷ໠ऀ

    View Slide

  26. しくじりポイント
    eksctlでクラスター作成時「エラー出ました!」が多発
    → みんなで同時作成しすぎてAWSクォータに抵触
    同僚のとっさの判断に助けられる
    リージョン分散しますか。
    みなさん自分の地域つぶやいてください
    上限緩和しよう!
    ˞ ো֐ରԠ
    ྺઓͷ໠ऀ

    View Slide

  27. いろいろあったけど…
    š なんとか無事に終了。
    š なんだかんだ2hぐらい掛かったが、
    定時後だったのも幸いして多くの人が残ってくれた
    š 30名弱が参加してくれた。ウワサを聞きつけたCCoEが
    イベント宣伝に来たりして結構盛りあがった

    View Slide

  28. 参加者アンケート

    View Slide

  29. 参加者アンケート(コメント抜粋)
    正直、●●社のコンテナ研修よりも
    分かりやすかったです(笑)
    「コンテナって何?」状態だったが
    理解がとても進んだ。
    案件でも積極的に検討したい
    Qiita手順が親切で良かった。
    容易に再現練習できるので助かる
    他の人のエラーへの対処も
    目の当たりにできて勉強になった
    Kubernetes楽しくて、
    「もっと触ってみたい!」って思った

    View Slide

  30. まとめ
    š 非エンジニア層が多いIT職場でも
    手を動かして理解の解像度を上げ、上流業務に生かそう!
    š EKS&CloudShellを使えば
    誰でも簡単にK8sクラスターで遊べる
    š サイボウズさんマジ感謝!!

    View Slide

  31. おまけ

    View Slide

  32. 「ECS vs EKS」で悩んだことある方へ
    Toriさんのブログに神記事があるので読んでみてください
    https://toris.io/2019/12/what-i-think-about-when-i-think-about-kubernetes-and-ecs/

    View Slide

  33. ༧ࠂ

    View Slide

  34. 【2/25金】JAWS-UG SRE支部 #2 開催!!
    どこかで聞いたようなタイトルの通り、
    色んな現場のSREsに生の声を聞いていきます。
    LTはもちろん、熱いパネルディスカッションにも
    ご期待ください!
    テーマは「突撃!となりのSRE」
    ぜひConnpassから参加登録を!
    https://jawsug-sre.connpass.com/event/237152/

    View Slide