インターン

【インターン感想】2日間のKubernetesハンズオンに参加してきました

先日、サイバーエージェントさんの『Kubernetes完全ガイド』著者によるDocker/Kubernetesハンズオン 〜基礎勉強会〜 Vol.2に参加してきました。

記事内容は以下の通りです。

  • インターンシップの概要
  • 参加したモチベーション
  • 2日間のインターンで実際にやったこと
  • 参加しての感想と振り返り
  • これからやっていきたいこと

たっぷりKubernetesに浸かれる充実した2日間でした。

早速中身に入っていきます!

インターンシップの概要

画像引用元: https://www.cyberagent.co.jp/careers/students/event/detail/id=22797

まずはインターンシップの概要。サクッとこんな感じです。

『Kubernetes完全ガイド』著者によるDocker/Kubernetesハンズオン 〜基礎勉強会〜 Vol.2

  • 期間(3/23 – 3/24)
  • 場所(AbemaTowers 10階セミナールーム)
  • 参加人数(20人程度)
  • 参加者特典
    • 『Kubernetes完全ガイド』
    • 著者による直接の解説
    • 遠方在住の方には宿泊場所を手配
    • 交通費全額支給

AbemaTowersは、本当に出来たての超新しいタワー。
参加当日の朝に、引越しセンターの人たちが作業してたレベルで、めちゃくちゃキレイでした。

実際にやったことを一行で表すと、「Kubernetes完全ガイド 著者である、青山さん直々のハンズオン」です。

こちらの本↓

サイバーさんのインターンに参加するのは今回で二回目なのですが、宿泊場所・交通費・お弁当など手配してくれるのが本当ありがたいm(_ _)m

参加したモチベーション

今回のインターンで学んだのは「Docker/Kubernetesです。

Docker

コンテナ型の仮想化環境を提供するオープンソースソフトウェア。

Kubernetes

コンテナ化したアプリケーションのデプロイ、スケーリング、および管理を行うための、オープンソースのコンテナオーケストレーションシステム。

wikipediaより引用

Dockerはもはやエンジニアなら知ってて当然のような技術となってきている感じがしますKubernetesに関しても、多くの企業がどんどん取り入れている技術で、デファクトスタンダードなコンテナ基盤となりました。

これらについてほぼゼロと言っていいほど知識のなかった僕は、「めちゃくちゃ詳しいエンジニア」の方々から学べる機会をサイバーさんのサイトで見つけます。

参加しようと思った一番のモチベーションは、DockerとKubernetesについての知識を増やし、実際どんな感じで使われているのか知ることです。

Dockerは個人でも使っている人は多い感じがしますが、Kubernetesを一人で使っている人はあんまり多くないと思うんですよね。


特にアルバイトも長期インターンもまだ行ったことない僕みたいな一人でやってる学生にとって、Kubernetesを学ぶモチベーションは湧きづらい。

でもやっぱり、上のように、どんなものか知りたいし興味はあったので、エントリーしました。

二次締切の一日前くらいに応募して、数日後に参加決定のメールが届きました。

やったぜッ!!

2日間のインターンで実際にやったこと

ということで、参加が決定してから当日まで数日しかなかったこともあり、分からないことだらけの状態で臨みました。


事前に出来たことは、Dockerの基本的な使い方とKubernetesがどんなものなのか、さらっていったくらいのみでした。

【1日目】DockerからKubernetes基礎

地方民ですが、今年で四回目という慣れた渋谷。
Abema Towersは駅から徒歩10分くらいで、迷うこともなかったです。

受付のところで見渡してみると、知っている人が数人。
色んなインターンとかイベントに行っている人と遭遇することがマジで増えてきました(笑)

受付でKubernetes完全ガイドを受け取り、少し経ってハンズオンが開始。完全ガイドの章に沿ってやっていきます。

Kubernetes完全ガイドの目次

  • 第1章 Dockerの復習と「Hello, Kubernetes」
  • 第2章 なぜKubernetesが必要なのか?
  • 第3章 Kubernetes環境の選択肢
  • 第4章 APIリソースとkubectl
  • 第5章 Workloadsリソース
  • 第6章 Discovery & LBリソース
  • 第7章 Config & Storageリソース
  • 第8章 ClusterリソースとMetadataリソース
  • 第9章 リソース管理とオートスケーリング
  • 第10章 ヘルスチェックとコンテナのライフサイクル
  • 第11章 メンテナンスとノードの停止
  • 第12章 高度で柔軟なスケジューリング
  • 第13章 セキュリティ
  • 第14章 マニフェストの汎用化を行うオープンソースソフトウェア
  • 第15章 モニタリング
  • 第16章 コンテナログの集約
  • 第17章 Kubernetes環境でのCI/CD
  • 第18章 マイクロサービスアーキテクチャとサービスメッシュ
  • 第19章 Kubernetesのアーキテクチャを知る
  • 第20章 Kubernetesとこれから

たっぷり過ぎるッ・・・!!


青山さん曰くこの本を網羅すれば、Kubernetesに大分詳しいと言えるレベルになれます。

1日目に触ったのは、第1章~第7章まで。

  • 第1章 Dockerの復習と「Hello, Kubernetes」
  • 第2章 なぜKubernetesが必要なのか?
  • 第3章 Kubernetes環境の選択肢
  • 第4章 APIリソースとkubectl
  • 第5章 Workloadsリソース
  • 第6章 Discovery & LBリソース
  • 第7章 Config & Storageリソース

Dockerをサクッと復習して、お昼ゴハン。
今回、写真取るのを完全に忘れていましたが、唐揚げ弁当をいただきました。(美味しかった)

午後からはおやつ・恒例ドリンクたちと一緒に、ガッツリKubernetes漬けです。

 

 

ありがたいことに、GKEのクラスターを一人ずつ用意してもらっていて、それを使ってハンズオンしていきました。

1日目は正直コマンドを入力などについていくのに精一杯で、うまく理解出来ていない部分もありました。

特に第6章Discovery&LBリソースの、Kubernetesクラスタのネットワークについてのところ。
ここが個人的に理解しづらかったところですが、青山さんの解説・例え話が上手でだんだん理解が進んでいきました。

1日目の終わりには、「明日までの宿題の発表 + AbemaTV広告本部の福永さんによるLT 」がありました。


実際にどのようにk8sが使われているのか知ることで、イメージ出来ることも増えました。

2日目 たっぷりKubernetesに触れる+演習

二日目は、6,7章の落ち穂拾いを最初にやり、第7章から第14章メインでやっていきました。
この辺りです。

  • 第7章 Config & Storageリソース
  • 第8章 ClusterリソースとMetadataリソース
  • 第9章 リソース管理とオートスケーリング
  • 第10章 ヘルスチェックとコンテナのライフサイクル
  • 第11章 メンテナンスとノードの停止
  • 第12章 高度で柔軟なスケジューリング
  • 第13章 セキュリティ
  • 第14章 マニフェストの汎用化を行うオープンソースソフトウェア

最初に宿題の解説がありました。
僕にとっては難しかったため、ちゃんと復習したい。

このハンズオンでは、青山さんの他にもインフラエンジニアの方々がメンターとしてサポートしてくれていました。

分かりやすい解説でめっちゃありがたかったです!

2日目もたっぷりKubernetesに触れました。
1日目より、今何をやっているのか理解しながら進められた部分が結構増えた感じがありましたね。

2日目の最後には、総復習を兼ねた演習をやっていきました。
問題を解く形式は考える時間が生まれるのでありがたいです。

演習が終わったあとは、懇親会。
青山さんと席が隣で、色々聞けたので勉強になりました。

 

食べた郷土料理も美味しかったです!
(懇親会で郷土料理が一人ずつ出てくる贅沢)

参加しての感想と振り返り

一人で2日間同じように勉強しても、多分理解が全然進んでなかったと思います。

参加前の「分からないことだらけの状態」と比べると、Kubernetesの知識が身についた感じがします。

今回のハンズオンで、実際の仕事においてのKubernetsについての知識も得ることが出来ました。

例えば、Kubernetesのコマンド自体(kubectrl)は、完全ガイドにもあるようにあまり業務で直叩きすることは少ないそう。

普段一人でやっていると、「何が仕事で使われていて、何が使われていないのか」があんまり分からず、意味の少ない勉強をしがちです。


で、おそらくコマンド一つ一つを覚えようとするとか、もしかしたらやりかねなかった(笑)

知ってれば楽出来ることは知っておいた方が確実に得で、そういう情報を生で得ることがこういう機会だなと改めて感じました。

また、こういったイベントなどに参加して思うのですが、来る前に「結構勉強しておいたほうが良い」です。
そのほうが理解も深まりますし、メンターの方々へレベル上がった質問も出来るようになります。

今回のハンズオンでKubernetesと一緒にご飯に行けるくらい仲良くなれました。
これからは一緒に仕事出来るくらい、更に仲良くなりたい。

 

そのためにはやっぱりちゃんと復習して、自分でKubernetes使って手を動かして行く必要があるので、勉強続けていきます。

PS: 今回のハンズオンセミナー, 社会人になって受けようとすると○万ほどかかるとお聞きしたので、次が気になっている学生がいたらチャンスを逃さないように..(笑)

これからやっていきたいこと

DockerとKubernetesについて誰かに教えられるくらいまで、完全ガイドを読み込んで理解を深めるのが今の近い目標です。

それから、おうちKubernetesにも挑戦したい。
(意外とお金かかるのが難点)

加えて、Kubernetesには認定資格があるので、それに向けて勉強するのも良いなと思いました。

資格はいらないって結構叫ばれていますが、AWSやk8sなどインフラ周りの知識をまとめて得るには、資格の勉強って割と効率的じゃないかなと最近思います。

終わりに

2日間楽しかったです。ありがとうございましたm(_ _)m

参加者の方々もまたどこかでお会いしたら、よろしくお願いします!