Slide 1

Slide 1 text

GKEで学ぶ Kubernetes入門 吉海 将太 1

Slide 2

Slide 2 text

自己紹介 2

Slide 3

Slide 3 text

自己紹介 吉海 将太(よしかい しょうた) 仕事 サーバーサイドエンジニア ▫ 開発 ▪ Python, Golang ▫ 運用 ▪ Kubernetes ▪ GKE ▪ GCP ▫ Webの連載 ▪ Kubernetesによる スケーラブルな Webアプリ環境の 構築 趣味 ▫ YouTube ▪ 輝夜 月が熱い ▫ クソアニメ ▪ ポプテピピック ▪ ダイナミックコード ▫ Action on Googleのア プリ開発 ▫ 電子工作 ▪ Raspberry Pi ▪ ESP8266 3

Slide 4

Slide 4 text

今日のゴール 4

Slide 5

Slide 5 text

● Kubernetesについて知る ● Kubernetesをざっくり使えるようになる ● 家に帰ったらKubernetesクラスタ立てる 今日ゴール 5

Slide 6

Slide 6 text

今日話すこと 6

Slide 7

Slide 7 text

今日話すこと 1. Kubernetesついて 2. なぜKubernetesなのか 3. Google Kubernetes Engineについて a. Google Kubernetes Engineを使う理由 4. Google Kubernetes Engineを使ってみよう i. Kubernetesの用語や概念について ii. ハンズオン 5. Kubernetesお役立ち情報 7

Slide 8

Slide 8 text

Kubernetesついて 8

Slide 9

Slide 9 text

“ みなさんに質問 Kubernetes使ったこと ありますか? 9

Slide 10

Slide 10 text

Kubernetesついて オープンソースのコンテナ化されたアプリケーションのためのオー ケストレーションシステム ▫ オートデプロイ ▫ スケーリング ▫ 管理 最新 Versionは1.9 略称はK8S Kubernetesはギリシャ語で航海長 発音はクーバネイティスが、英語圏では一般的 日本語の表記はクーべネティスが何故か多い・・・・・ 10

Slide 11

Slide 11 text

Kubernetesついて Github レポジトリhttps://github.com/kubernetes/kubernetes 言語はGolang GoogleのBorgというクラスタシステムを参考にオープンソース化し たのがKubernetes その時のプロジェクト名は Seven of Nine 参考: Google から世界へ : Kubernetes 誕生の物語 https://cloudplatform-jp.googleblog.com/2016/08/google-ku bernetes.html 11

Slide 12

Slide 12 text

Kubernetesついて Cloud Native Computing Foundation(以下 CNCF)という団体が 運営している Googleが最初のプロジェクトとして CNCFに寄贈 12

Slide 13

Slide 13 text

Kubernetesついて Github レポジトリhttps://github.com/kubernetes/kubernetes 言語はGolang GoogleのBorgというクラスタシステムを参考にオープンソース化し たのがKubernetes その時のプロジェクト名は Seven of Nine 参考: Google から世界へ : Kubernetes 誕生の物語 https://cloudplatform-jp.googleblog.com/2016/08/google-ku bernetes.html 13

Slide 14

Slide 14 text

なぜ Kubernetesなのか 14

Slide 15

Slide 15 text

なぜKubernetesなのか ▫ コンテナ管理ツールの需要が高い! ▪ アプリケーションをDockerコンテナ化するのが一般的 ▪ コンテナを運用する上でコンテナ管理ツール必要 ▫ デファクトスタンダードに! ▪ Google, AWS, Azureなど大手ベンダーが K8Sの Serviceを提供!!! 15

Slide 16

Slide 16 text

Google Kubernetes Engineについて 16

Slide 17

Slide 17 text

“ みなさんに質問 Google Cloud Platform 使ったことありますか? 17

Slide 18

Slide 18 text

Google Kubernetes Engineについ て ▫ Googleが提供しているKubernetesのクラスタの実行環境 ▫ ワンコマンドでKubernetesのクラスタが構築出来る ▫ 略称はGKE ▪ 昔はGoogle Container Engineという名前だった ▪ Google Container Engineなのに略称がGKEでもやっ とした。GCEだと既存のサービス名と被るためだと思わ れる 18

Slide 19

Slide 19 text

Google Kubernetes Engineについ て ▫ 料金 ▪ クラスタのノードを構築している Google Compute Engineのインスタンスの料金が発生 19

Slide 20

Slide 20 text

Google Kubernetes Engineを使う理由 20

Slide 21

Slide 21 text

Google Kubernetes Engineを使う 理由 ▫ K8Sのクラスタを簡単に構築出来る ▪ 導入コストと運用コストが低い ▪ オンプレにK8Sのクラスタをいちから構築するのは大変 ▫ アプリケーションのログの管理する仕組みが提供されている ▪ エラーのログが発生した時のアラートの設定が簡単 ▫ コンテナレジストリが GCPに用意されている 21

Slide 22

Slide 22 text

Google Kubernetes Engineを使う 理由 ▫ Kubernetes は、Google 自らが開発元!! ▪ Googleはどこベンダーよりも早く Kubernetesの環境を提供 22

Slide 23

Slide 23 text

Google Kubernetes Engineを 使ってみよう 23

Slide 24

Slide 24 text

概念や用語について K8Sにはいくつか専門用語や概念あるので、ここで触 れておきます。 ▫ クラスタ ▫ Master ▫ Node ▫ kubectl 24

Slide 25

Slide 25 text

クラスタとMaster クラスタ Kubernetesはクラスタで構成され、クラスタは 1つ以上のNodeと Masterで構成 Master Masterはクラスタ全体を参照することが可能で、 Masterが公開し ているエンドポイントを通して、クラスタを操作することができる。 MasterではKubernetes APIサーバーが実行されており、 RESTリク エストに応じて各リソース( Pod、Serviceなど)の作成や編集、削除 などの各種操作を提供 25

Slide 26

Slide 26 text

Nodeとkubectl Node Nodeは1つ以上で構成され、Masterに管理されています。 Node はDockerコンテナをサポートしており、デプロイされたコンテナは Node上で動作 kubectl Kubernetesクラスタに対して、コマンドを実行するためのコマンドラ インインターフェイス。基本的に kubectlのコマンドを叩いてk8sを操 作していきます。 26

Slide 27

Slide 27 text

27

Slide 28

Slide 28 text

概念や用語について Pod Podはアプリケーションを構成するDockerコンテナ のグループ Replica Set Podの複製を保持する機能を提供 Deployment PodとReplica Setの設定をまとめたもの 上記の2つのリソースをまとめて定義出来るので便 利 28

Slide 29

Slide 29 text

29

Slide 30

Slide 30 text

概念や用語について アプリケーション公開するために必要なもの Service アプリケーション(Pod)を外部に公開するためのリ ソース。ClusterIP、NodePort、LoadBalancerなど 様々な種類がある Ingress Serviceと組み合わせて使う。TLS対応などSVCで出 来ない機能を提供している 30

Slide 31

Slide 31 text

31

Slide 32

Slide 32 text

ハンズオン Kubernetesによるスケーラブルな Webアプリ環境の構築 1回目を参考にハンズオンしましょう https://codezine.jp/article/detail/10420?p=4 32

Slide 33

Slide 33 text

Kubernetes お役立ち情報 33

Slide 34

Slide 34 text

Kubernetes コミュニテイ 勉強会 ▫ Kubernetes Meetup Tokyo ▪ 3月8日 19:00 Kubernetes Meetup Tokyo #10 ▫ GCPUG ▪ Google Cloud Platformの勉強会 ▪ K8Sの勉強会ではないが、 Google Kubernetes Engineの勉強会が開催されたりする Slack ▫ http://slack.k8s.io/ ▪ 基本英語だがjp-enventsとjp-usersという日本専用の チャンネルがある 34

Slide 35

Slide 35 text

Kubernetes 書籍 ▫ Software Design 2018年3月号(2018/2/17 発売) ▫ 入門 Kubernetes (2018/3/22 発売予定) ▫ SRE サイトリライアビリティエンジニアリング (2017/08 発売) ▪ 運用周りに興味があるなら一読すると幸せになれま す。 ▪ Kubernetesの話はないけどKubernetesを運用する 上でめっちゃ役立つ内容がてんこ盛り 35

Slide 36

Slide 36 text

おまけ 36

Slide 37

Slide 37 text

インターン募集中!!!! インターンのエンジニア募集中!! 主にWebアプリケーションの開発!! Python, Angular 新しい技術にバンバンされるます! GKEにも触れます! 下記のURLの応募フォームから募集出来ます!!!! https://www.kabuku.co.jp/jobs/intern-software-developer 37

Slide 38

Slide 38 text

38

Slide 39

Slide 39 text

Google Assistantのアプリを作りまし た(個人) スマホにインストールした Google AssistantかGoogle Homeに "怒ってないよにつないで "って話しかけてみて下さい。 「えいえい怒った?」と話しかけると「怒ってないよ♡」って返します。 アプリのペー ジ:https://assistant.google.com/services/a/uid/0000001a6f41 b0be?hl=ja 初期アプリ名はクソアプリ、アプリ名で審査に落ちたので改名 39

Slide 40

Slide 40 text

技術書典4にサークル参加します (個人) 技術書展について ▫ 日時 2018/04/22 (日) 場所 秋葉原UDX アキバ・スクエア 主催 TechBooster/達人出版会 一般参加 無料 ▫ 技術書のみの同人誌即売会 サークル名 ▫ 俺のLab. 配布物予定 ▫ 音声操作が出来る四足歩行ロボの作り方 40