Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

物理は⾯倒なので「仮想化」されました 物理サーバー 業務アプリを 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

Slide 15

Slide 15 text

クラウド化で根っこの物理も不要に 仮想マシン増えて 管理や増設⾯倒… 物理ホストすら もう持ちたくない 祝!⾃社データセンター卒業。 レイヤー低めなインフラエンジニアは ここで職を失うことに 仮想サーバー 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

Slide 16

Slide 16 text

仮想マシンすら邪魔になってきた 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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

手順書は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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

参加者アンケート

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

おまけ

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

༧ࠂ

Slide 34

Slide 34 text

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