# 20191120_beyond勉強会21回目 kubernetesを始めよう! [【初心者向け】Kubernetesをはじめよう!ビヨンド勉強会#21 @さくらインターネット大阪本社](https://beyond.doorkeeper.jp/events/99171) # 登壇前 ## Beyond + Beyond的にはDockerで次やりたいなーって考えてる + 今後はインフラをテーマに2ヶ月に一回程度やる予定 + Beyondの説明 + [web予約システム EDISONE](https://edisone.jp/) + 無料プランあり + [Appmill for Game](https://game.appmill.work/) + ゲームテスト用のアプリ。これ便利そう。ちょっと気になる。 ## さくらインターネット + Youtubeのチャンネルあり + 雑談用と普通用ある + 雑談用:桜のエバンジェリストナイト + DoorKeaperにコミュニティあり + さくらクラブ + ユーザ主体 ## スライドに関してはSlideShareにアップされる予定 + 基本スライド参照する形でのメモにする # Kubernetest is 何?を語るために必要な基礎知識 登壇者:teraoka yuuki HN:ネズミさん [スライド](https://speakerdeck.com/nezumisannn/20191120-biyondomian-qiang-hui-21-kubernetes-is-he-woyu-rutamenibi-yao-naji-chu-zhi-shi) ツイッターあり ## Dockerについて ハイパーバイザー AWS:EC2が例 ## コンテナについて + OSないから軽いよー + ゲストOSない&起動しないぶん軽いし早い + コンテナ型とハイパーバイザー型の違いの説明 + これ画像わかりやすい ## Kubernetesについて + 複数のコンテナを管理するためのソフト + クラウド界のLinuxになりつつある + ってLinuxの偉い人が言ってたので結構広がった + Dockerが自社のオーケストレーションツールと一緒にサポートするようになった + モノリスからマイクロサービスへ + 例:掲示板機能 + モノリスの場合 + 単一サービス + 密結合 + マイクロサービスの場合 + 複数サービス + 疎結合 + サービスごとの開発・デプロイ + 障害範囲の分離 + 何ができるのか + コンテナのスケジューリング + デプロイなど + ローリングアップデート + ブルーグリーン環境をランタイムなしで切り替えれたり + 新機能のテストを一部コンテナだけに反映してそこに接続 + カナリアリリース + オートスケーリング + 障害発生のセルフヒーリング + Infrastructure as code + yamlでかけてそれを管理できる + etc... + 主要なコンポーネント + Client + kubectl + 操作するためのCLIクライアント + Master + いっぱいある + 順番に説明有り + etcd + クラスタ情報を持ってくれてる + kube-apiserver + こいつが中核 + kube-scheduler + PodをNodeに割り当てるスケジューラ + 最適なとこに自動で割り振ってくれる + kube-controller-manager + kubernetesオブジェクトを処理するコントローラの実行・管理するデーモン + Podを何台セットしますか、などを設定できる + cloud-controller-manager + kube-dns + クラスタ内部で使うDNS + Serviceリソースを作ると登録される + Serviceリソース + Podへの接続エンドポイントを提供するやつ + Pod + Kubernetesの最小単位 + コンテナ動かすためのもの + 最低一つのコンテナをもつ + Node + 仮想マシンまたは物理マシンで構成されたワーカーマシン + Podは必ずこれの上で実行される + Node + kubelet + 各Nodeで動作するエージェント + kube-proxy + Serviceリソースを元にルーティング # Kubernatesでサイトを立ち上げるためのエトセトラ 岡崎 潤一郎 [マイグレーションコンペティション](https://mspj.jp/event/migcon-2019) ## wordpressを構築する流れ + GCP + kubernatesエンジン使用 https://eng-entrance.com/linux-command-tee + 準備自体はサクッと終わりそうな説明だった + 実際やらんとわからんけども + ストレージはディスクっていうのを作って消えない領域に作成する + kubernateesのサービスの外にはなる + 疑問:設計思想そのものが変わる? + ユーザデータなどのSQL間で同期とる必要のあるやつはどうやったらいいんや + ポートが443の場合はまた別の構成になるので注意 + 今回は80番ポートだからこれでOKらしい + 構築は大変だけど、開発作業自体は楽になる # 社内システムにGKEを組み込んだお話 北岡 俊樹 [スライド](https://docs.google.com/presentation/d/1ucYieb1lF8nTycBzPawNmfG03mv1Pc8GMoU9Eo6WP0A/edit#slide=id.g35f391192_00) + GKE + GCPのマネージドサービス + AWSも似たようなんある + SQL ProxyっていうのでMySQLと接続する方法がある + Ingress + こいつが結構便利らしい + ルーティングのIP勝手に取ってきてくれたりとか。 + 勝手になんとかしてくれるから運用でインフラエンジニアが緊急対応することとか滅多にない + kubernetesが勝手になんとかしてくれる ## コンテナ使う開発って色々てま? + 通常の流れとは異なってくる + ビルド、デプロイから解放される! + skaffoldが勝手にしてくれる + Goでできてるから環境関係なし + Docker for windows使ってる + クラウドビルドできる + よかった点 + ローリングアップデートがノーメンテプレイできそう + そこそこお金かかるかも + サーバさえあればローカルでkubernetesを簡単に作る方法をスライドに載せてる