そもりーんのおうち

雑多な記事多め。多趣味。

kubernetesハンズオンにて

 2018年12月上旬のこと。

 2dayのインターンシップで「kubernetes実践ガイド」を使ってkubernetesを演習しながら学習しました。ハンズオン*1型のインターンシップですね。

book.impress.co.jp

動機はおそらくこんなところかな↓

 k8sにすでに興味があった。インフラ技術者の間でk8sの話が飛び交っていてどんなものか気になっていた。そんなときに演習できる機会があると知って、すぐに飛びついた。 

Kubernetesとは(*゚▽゚)ノ?

 kubernetesとは、ITインフラを管理する技術です。主にサーバーを自動で増減させ、リソースの自動管理を実現するものです。呼び方は様々でよくk8sと訳されたりします。

 情報サービスを運用するには、必ずサービスを提供するためサーバーが必要です。例えば、スマホゲームを発売するときにどれだけの人がサーバーを使うか予想が困難です。いきなり1億人がサーバーにアクセスするかもしれませんし、1ヶ月したら100万人ほどかもしれません。

 そんなとき、使わないサーバーはいらないですよね。維持費もとてもお金かかるし、別のサービスに利用した方がいいですよね。逆にめちゃくちゃ使われるときにサーバーが足りないとゲームできなくなっちゃいますよね。

 そこでkubernetesの出番!!

 ...なのかな?まあ、AWSの方が一般的かもしれない。でも、kubernetesでサービスの処理を任意に透明化できるというメリットがあるのかも。実際のところどうなのかな〜??この辺のことを調査するためにも実際に業務に関わってみたいな。

 あと、k8sGoogleさんが社内でサーバー管理するのに使ってたシステムがベースらしいですわよ。

1日目

  • アイスブレイク(人間環境構築)
  • 環境構築(Docker&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とこれから

 どれをどの順序でやったか忘れたけど、基礎的なことは全部やった。主に1章〜5章中心だったかな。最後に課題がでた。

2日目

 課題は全部クリアできなかった(T ^ T)

前日にコメダ珈琲で粘った。管理のイメージ図は完成したけど、マニフェストファイルのyamlに書き落とせなかった。エラーが出まくってた。

 翌日、全角スペースが混入していることが判明。頑張った時間が虚無になって放心状態になった。

 さて、本日主に行ったことは

  • 演習(応用編)
  • 選択演習(各自選択)
  • CKAD*2模擬試験

 演習は1日目の復習と他の主要部分を全部やった。あとはもくもくCKADの模擬試験に向けてお勉強してた。CKADはkubernetesの認定資格で、k8sできちゃうぞって証明になるらしい。模擬試験はサイバー...じゃなかった、あ、いや、合ってる。著者のお兄さんやその師匠さんが作ってくれた。

 模擬試験。結果はああああああでした。自分は2/10点。お兄さんの師匠さんは難しく作りすぎちゃったと言ってたけど。ぼくはNamespaceの使い方がわかってなかった。書く場所間違えてて、進まなかったの(*´∇`*)

まとめ・感想

 全て終えて、kubernetesなんとなくフワーッと理解した。少し奥が深い。あと、k8sは使い方に相当癖があるね。yamlとか、マニフェストファイル編集するの初めてだったからどうでもいいところで躓いた。

 楽しかった。 さらにインフラ方面に興味が湧いたし。周りが修士の院生多くていろんなお話も聞けた。NW関係の研究してる人がいてNWにも興味が湧いた。バイトでフロントの開発してる人も少なくなかった。BlockChainの運用してる人や統計学専攻で全然情報系知らないですって人もいた。すごい!!

 こういう機会はもっと見つけて飛び込んで行こうと思う。できるときに。

*1:ハンズオンとは実習や演習を意味します

*2:

Certified Kubernetes Application Developer (CKAD) - Cloud Native Computing Foundation