SlideShare a Scribd company logo
Kubernetes童貞が許されるのは
2017年までだよねー
九州インフラ交流勉強会(Kixs) Vol.008
@Sakonju
Index
▷ Who are you?
▷ BackGround
▷ What’s Kubernetes?
▷ What’s Container/Docker?
▷ What’s Google Kubernetes Engine?
▷ What’s Pod?
▷ What’s ReplicaSet?
▷ What’s Deployment?
▷ What’s StatefulSet?
▷ What’s Service?
▷ Kubernetes Ecosystem
2
Who are you?
   @Sakonju
   https://qiita.com/HirokiSakonju
インフラ担当
(GCP/AWS/オンプレ)
3
“BackGround
4
Kubernetesが必要な背景
▷ Velocity(速度)
○ immutable(不変)
○ 宣言的設定
○ 自己回復するシステム
▷ Scale
○ 分離
○ applicationとclusterの簡単なScale
▷ インフラの抽象化
▷ 効率性
5
6
“What's Kubernetes?
7
Kubernetesとは
▷ Containerオーケストレーションツール
(ランタイムはDockerなど)
▷ 当初はGoogleが開発し、オープンソース
(CNCFがホスト)
非常に活発に開発(VerUp)される
▷ パブリッククラウドでは以下がマネージドがある。
GKE(GCP),EKS(AWS),AKS(Azure)
8
“What’s Container/Docker?
9
Container
10https://www.docker.com/resources/what-container
▷ コンテナとは、アプリケーションを動かすために必
要なファイルを全部カプセル化したバイナリパッ
ケージ(immutable)
▷ OSカーネルを他コンテナと共有することが可能
▷ それぞれのコンテナはユーザー空間で独立したプ
ロセスとして実行される
▷ CPU/メモリはコンテナごとに使用率を制限可能
Docker(Containers vs VMs)
11
Containers Virtual Machines
https://www.docker.com/resources/what-container
Remote Registry
12
1. 各端末でContainerImageを作成
(docker build)
2. 作成されたContainerImageを
GoogleContainerRegistryや
DockerHubのようなRemote
Registryに保存。
(docker push)
3. Dockerが稼働するサーバーにて
ContainerImageを取得
(docker pull)
       _,,;' '" '' ゛''" ゛' ';;,,
      (rヽ,;''"""''゛゛゛'';, ノr)
      ,;'゛ i _  、_ iヽ゛';,    お前それ、冗長構成の非機能要件あっても同じ事言えんの?
      ,;'" ''| ヽ・〉 〈・ノ |゙゛ `';,
      ,;'' "|   ▼   |゙゛ `';,
      ,;''  ヽ_人_ /  ,;'_
     /シ、  ヽ⌒⌒ /   リ \
    |   "r,, `"'''゙´  ,,ミ゛   |
    |      リ、    ,リ    |
    |   i   ゛r、ノ,,r" i   _|
    |   `ー――----┴ ⌒´ )
    (ヽ  ______ ,, _´)
     (_⌒ ______ ,, ィ
      丁           |
       |           |
13
14
Kubernetes
“What’s
GKE(GoogleKubernetesEngine)?
15
Google Kubernetes Engine
16
Master
kube-apiserver
etcd
kube-scheduler
kube-controller-manager
cloud-controller-manager
AllNode
kubelet
kube-proxy
Container Runtime
DNS
“What’s Pod?
17
Pod
▷ PodがKubernetesでの最小の
デプロイ単位
▷ 複数のContainerがPodに入る
▷ Podに全部詰め込めばいいわ
けではない
○ WordPressとMySQLのコンテナを1Pod
はスケールが出来ないのでアンチパ
ターン
▷ Resource(CPU/Memory)の
Request,LimitをContainer毎に
設けることが出来る。
18https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/
“What’s ReplicaSet?
19
ReplicaSet
▷ 以下を達成
○ 冗長性
○ スケール
○ シャーディング
▷ Podのマネージャとして動
く。Podのレプリカを作って
レプリカ群を1つのまとまり
として管理
▷ 自己回復する仕組みを提供
20
“What’s Deployment?
21
Deployment
▷ リリース管理をする仕組み(オブ
ジェクト)
▷ ReplicaSetを管理する
▷ Blue/Greenデプロイや
RollingUpdateも可能
▷ バージョン管理されるため、
rollout undoでロールバックも容
易(デフォルトのバージョン保持
数:4)
22
“What’s StatefulSet?
23
StatefulSet
▷ ReplicaSetに似ていて、Podを管
理する
▷ 主にデータベースなどで用いられ
る
▷ 各Replicaには一意なインデックス
を含む永続的なホスト名がつく(連
番)
▷ スケールイン時はインデックスの
数字が大きい順から削除される
24
“What’s Service?
25
Service
▷ Kubernetesのサービスディスカバリ
▷ Labelセレクタを作ってCluster内外からPodへアクセス可能に
する仕組み
▷ Type:ClusterIP,NodePort,ExternalName,LoadBalancer(G
KEだとInternalLBの annotationもある)
▷ 各パブリッククラウドではLoadBalancerを作成出来る
※GCLBを作成する場合はIngressリソースを用いる
26
“Kubernetes Ecosystem
27
PackageManagement:Helm
▷ yum/apt-get的なやつ
○ example: helm install stable/redis
▷ Chart: deb,rpmのようなパッケージ
▷ tiller: 実際にサーバのデプロイを行うコンポーネント
▷ 任意のパッケージ(Chart)を作成することも可能
28
Monitoring:Prometheus+Grafana
▷ CNCFのプロジェクト。
2018/08/09にKubernetesに続きGraduationとなった。
▷ PrometheusはPull型のモニタリングツール
Exporterからメトリクスを収集(Scrape)し、TSDBというファイ
ルフォーマットで保存する。
▷ 収集したメトリクスはPrometheusでPromQLという言語でクエ
リが使えるし、簡易なグラフ化が可能。
▷ Grafanaを用いることで、より高度なvisualizeが出来るため、
Grafanaと併用することが一般的
▷ Alertmanagerを使用してSlackにアラートを通知することも可
能
29
ServiceMesh:Istio
▷ マイクロサービス間をマネージメントするためのOSS
▷ Blue/Greenデプロイ、カナリアリリース、サーキットブレー
カー、通信暗号化などの機能を提供
▷ Control plane・Dataplaneに分割される。HubとなるMixerを
介してネットワーク通信を制御する
▷ SidecarパターンでEnvoyというProxyを通して各アプリケー
ションの通信の状況を取得する
▷ GCPではマネージド機能として提供される予定(Google
Cloud Next ‘18にて発表)
30
Deployment: Spinnaker
▷ CDツール。BuildやTestなどのCI機能はなく、CDのみに特化
▷ Blue/Green(Red/Black)デプロイやカナリアリリースなどの機
能を提供。ロールバック機能もある。
kayentaにより自動分析でカナリアリリースを制御することも
可能
▷ Kubernetesだけでなく、ComputeEngineやEC2などのVMに
もマルチクラウドで対応
▷ Netflixで開発/運用されていたが、オープンソース化して
Googleもメンテしている
▷ Spinnaker自体がゴツめのMicroServiceで出来ていて、環境
構築が辛い。
31

More Related Content

PDF
Infra: Kubernetes and GKE, Network
PPTX
NGINX Ingress With GKE
PDF
Juju/MAASで作る Kubernetes + GPU
PDF
Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kuber...
PPTX
2017 Kubecon cncon recap ver1
PPTX
2017 KubeCon CNCon ver2
PDF
GCP でも Serverless!!
PPTX
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Infra: Kubernetes and GKE, Network
NGINX Ingress With GKE
Juju/MAASで作る Kubernetes + GPU
Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kuber...
2017 Kubecon cncon recap ver1
2017 KubeCon CNCon ver2
GCP でも Serverless!!
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた

What's hot (20)

PDF
[Cloud OnAir] クラウド時代に待ったナシ!クラウド、そして Google Cloud Platform を選ぶワケ (LIVE) 201...
PDF
Certified XXX まわりのはなし Kubernetes Invitational Meetup #2
PDF
自由な空間情報利用のためのツールQGISと日本語化プロジェクトの紹介
PPTX
Kubernetes etc.. & rancher 2.0 technical preview
PDF
Kube con + cloudnativecon 2017 社内報告会(外部公開用)
PDF
KueCon 2020 NA Recap - Building a Global Supercomputer with Virtual Kubelet /...
PDF
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
PDF
Kubernetes Meetup Tokyo #35_GitOps Toolkit による Kubernetes マニフェスト CD
PDF
対話AI on Kubernetes
PPTX
DockerCon '17 Feedback -User Stories- at Docker Meetup Tokyo
PDF
もうちょっと早く知りたかった kubectl
PDF
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送
PDF
Re-frame and A-Frame
PDF
[Cloud OnAir] Google Cloud へのデータ移行 2019年1月24日 放送
PDF
mruby_nginx_module
PDF
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
PDF
Wordpress案件にgkeを採用してみた(短縮版)
PDF
2018 07-19dist
PDF
Google Cloud Dataflow を理解する - #bq_sushi
PDF
Kubernetes雑にまとめてみた 2019年12月版
[Cloud OnAir] クラウド時代に待ったナシ!クラウド、そして Google Cloud Platform を選ぶワケ (LIVE) 201...
Certified XXX まわりのはなし Kubernetes Invitational Meetup #2
自由な空間情報利用のためのツールQGISと日本語化プロジェクトの紹介
Kubernetes etc.. & rancher 2.0 technical preview
Kube con + cloudnativecon 2017 社内報告会(外部公開用)
KueCon 2020 NA Recap - Building a Global Supercomputer with Virtual Kubelet /...
Google Container Engine (GKE) & Kubernetes のアーキテクチャ解説
Kubernetes Meetup Tokyo #35_GitOps Toolkit による Kubernetes マニフェスト CD
対話AI on Kubernetes
DockerCon '17 Feedback -User Stories- at Docker Meetup Tokyo
もうちょっと早く知りたかった kubectl
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送
Re-frame and A-Frame
[Cloud OnAir] Google Cloud へのデータ移行 2019年1月24日 放送
mruby_nginx_module
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
Wordpress案件にgkeを採用してみた(短縮版)
2018 07-19dist
Google Cloud Dataflow を理解する - #bq_sushi
Kubernetes雑にまとめてみた 2019年12月版
Ad

Similar to Kubernetes virgin is permitted until 2017 (20)

PDF
Kuberneteの運用を支えるGitOps
PDF
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
PDF
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
PDF
EnrootとPyxisで快適コンテナ生活
PDF
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
PPTX
Edge Computing と k8s でなんか話すよ
PDF
Azure Kubernetes ServiceとCI/CD pipeline
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
PPTX
ニフクラでも できる!Kubernetes。
PDF
SpinnakerとKayentaで 高速・安全なデプロイ!
PPTX
Kubernetes ときどき Serverless -- cndjp第1回勉強会
PDF
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
PDF
Docker入門 - 基礎編 いまから始めるDocker管理
PDF
KubeFlow MeetUp #1 Katibよもやま話
PPTX
OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月
PDF
20190722 OpenStack community past present future
PDF
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
PDF
Container Storage Interface のすべて
PDF
Kubernetes雑にまとめてみた 2020年8月版
PDF
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
Kuberneteの運用を支えるGitOps
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
EnrootとPyxisで快適コンテナ生活
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
Edge Computing と k8s でなんか話すよ
Azure Kubernetes ServiceとCI/CD pipeline
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
ニフクラでも できる!Kubernetes。
SpinnakerとKayentaで 高速・安全なデプロイ!
Kubernetes ときどき Serverless -- cndjp第1回勉強会
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
Docker入門 - 基礎編 いまから始めるDocker管理
KubeFlow MeetUp #1 Katibよもやま話
OpenStack Summit Austin 2016 参加報告 - OpenStack最新情報セミナー 2016年5月
20190722 OpenStack community past present future
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
Container Storage Interface のすべて
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes meetup-tokyo-13-customizing-kubernetes-for-ml-cluster
Ad

Kubernetes virgin is permitted until 2017