この勉強会行きました
今日はこれ!サッカーよりkubernetesの勉強会ーhttps://t.co/ICLKn8NM9b#spzcolab#サポーターズ#サポーターズColab
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
サッカーなんてなかった。
感想まとめ
- Dockerのオーケストレーションツール。Dockerとは別物と考えよう
- GKE使うと初めての人はいいかも
- kubernetesにもいろんな単位があって、4つくらいある単位を理解したら結構シンプルに考えられそう
- とりあえずGKE登録して使ってみよう
ツイートまとめ
kubernetesでアプリ動かすイメージを掴むのがゴール#spzcolab#サポーターズ#サポーターズColab
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
概念、構成、道具たて、GKEの基本的な使い方#spzcolab#サポーターズ#サポーターズColab
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
docker>
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
依存関係をコンテナに閉じ込めるよー
Docker単体だと、同一ホスト内のコンテナしか管理できないし、オーケストレーションツール使おうねー#spzcolab#サポーターズ#サポーターズColab
k8n
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
デプロイ、スケール、管理を自動化する#spzcolab#サポーターズ#サポーターズColab
GKE→Google Kubernetes Engineの略。#spzcolab#サポーターズ#サポーターズColab
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
手っ取り早く覚えるなら、GKEとかマネージドサービス使うのが近道
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
type:loadBalancerとかで外部公開しやすいのもいい。#spzcolab#サポーターズ#サポーターズColab
Masterでリソースを管理して、Nodesで動いてる。#spzcolab#サポーターズ#サポーターズColab
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
masterが真ん中、周りにNode。#spzcolab#サポーターズ#サポーターズColab
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
Clusterが構成の一番大きい単位。
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
MasterがClusterの管理全般。コマンド受付はここ。GKEもここ。
Nodeはいわゆるマシンのとこ。GKEインスタンスもここ。これにPodが割り振られていく。#spzcolab#サポーターズ#サポーターズColab
Node
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
image-typeがOS
michine-typeが大きさ#spzcolab#サポーターズ#サポーターズColab
Podは、一つのアプリケーションを動かすためのコンテナとリソースをグループ化したもの
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
k8nの構成要素として最小の単位
CPUとかメモリとかのリソースがあるので、一台のサーバーっぽく見れるけど、クラスターから見たら1プロセスとして扱う#spzcolab#サポーターズ#サポーターズColab
Podにはipアドレスとかもあるよ!#spzcolab#サポーターズ#サポーターズColab
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
Deploymentを作成するという考え方。
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
Podの作成、設定とか。
あと、アプリケーションを止めずにアップデートができるよ。(ローリングアップデート)
サービスへのアタッチも。#spzcolab#サポーターズ#サポーターズColab
Deploymentのファイルの下に、Podの定義を書いていく。
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
ymlファイルのkindにDeploymentと書けば、Deploymentの設定ファイル。
kubernetesをk8sなのにk8nと間違えて略したの恥ずかしすぎる私(#spzcolab#サポーターズ#サポーターズColab
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
サービスが各Podをまとめて、サービスに向かってアクセスさせる。
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
type:loadbalancerに設定すると、サービスがロードバランサーになってくれる。
外部のエンドポイントを個々で持ってる。#spzcolab#サポーターズ#サポーターズColab
サービスをapply。
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
External-IPをGKEがくれるよ。#spzcolab#サポーターズ#サポーターズColab
外部公開されてるか試す間もなくスライドが閉じられた・・・w#spzcolab#サポーターズ#サポーターズColab
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
コンポーネント紹介。
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
Config Map
Secret
Ingress
Daemon Set
とか#spzcolab#サポーターズ#サポーターズColab
■Config Map
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
環境変数を外出しできる。
本番前に環境変数を切り替えとかできるね!#spzcolab#サポーターズ#サポーターズColab
■Secret
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
Config Mapみたいだけど、内部で暗号化して使ってくれる。
パスワードとか設定に使う。#spzcolab#サポーターズ#サポーターズColab
■Ingress
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
HTTPSのロードバランサー機能を提供。
TLSの終端も設定できる。#spzcolab#サポーターズ#サポーターズColab
■簡単な構成紹介
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
Ingressを大枠、class:gceの下に、
NodePort2つに、app=adやconsoleを持つ。
そこから、DeploymentがあってNordPortとアクセス。#spzcolab#サポーターズ#サポーターズColab
■コマンドラインツール
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日
gcloudコマンドでGoogle Cloud SDK
google container clusters
kubectlってコマンドラインツールでk8sを操作#spzcolab#サポーターズ#サポーターズColab
Kubernetes使うなら、DeploymentとServiceを抑えておけばアプリ動かせてる感が味わえるよ!#spzcolab#サポーターズ#サポーターズColab
— ういろう🍤👩🍤@新卒3年目PHPer (@nyamucoro) 2018年6月19日