SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
Kubernetes is 何?
を語るために必要な基礎知識
ビヨンド勉強会 #21
2019/11/20 株式会社ビヨンド 寺岡 佑樹
自己紹介
resource “my_profile” “nezumisannn” {
name = “Yuki.Teraoka”
nickname = “ねずみさん家。”
company = “beyond”
job = “Site Reliability Engineer”
twitter = “@yktr_sre”
skills = [“terraform”,”packer”]
}
Kubernetes is 何?の前に
このクジラの名前は?
↑ Dockerと呼ぶらしい
Docker is 何?
・コンテナと呼ばれる仮想環境を提供するOSS
・開発はdotCloud社(現Docker社)
・仮想化という部分では同じだがハイパーバイザー型とは異なる
←上に乗ってるこれ
コンテナ is 何?
・アプリケーション及び依存関係をパッケージ化して抽象化したもの
・複数のコンテナを同じマシンで実行してOSのカーネルを共有できる
・各コンテナはユーザー空間で独立したプロセスとして実行される
・コンテナ内にOSが含まれないためサイズが小さく起動が早い
・Dockerエンジンさえあればどこでも同じように動く
つまり?
コンテナ型 ハイパーバイザー型
https://www.docker.com/resources/what-container
Kubernetesは
・Docker前提で動作するものです
・事前知識として覚えておきましょう
Kubernetes is 何?
Kubernetes is 何?
・アプリケーションのコンテナ群を統合管理するためのソフトウェア
・GoogleがBorgと呼ばれる内製ツールをOSSとして公開したのが始まり
・現在はCloud Native Computing Foundationがメンテナンスを行っている
Kubernetesの注目度
こんなツイートが
Kubernetesはクラウド界のLinuxになりつつある
kubernetesの注目度
・Swarmを推奨していたDockerもKubernetesをネイティブにサポートした
・クラウドベンダーもKubernetes互換のマネージドサービスを多数リリース
・Elastic Kubernetes Service
・Google Kubernetes Engine
・Azure Kubernetes Service
Kubernetesが
求められる背景
Kubernetesが求められる背景
・モノリスからマイクロサービスへ
https://aws.amazon.com/jp/microservices/
・単一サービス
・密結合
・複数サービス
・疎結合
・サービスごとの開発 /デプロイ
・障害範囲の分離
マイクロサービスでは
・独立した複数のコンテナを効率的に管理できる仕組みが必要になる
・それがオーケストレーションツールと言われるもの
・Kubernetesもそのツールの中の1つ
Kubernetesで
何ができるのか?
Kubernetesで出来ること
・コンテナのスケジューリング
・ローリングアップデート
・オートスケーリング
・障害が発生したときのセルフヒーリング
・Infrastructure as Code
Kubernetesの
主要コンポーネント
Client
Master
Node
https://github.com/kubernetes/kubernetes/blob/rel
ease-1.3/docs/design/architecture.md
Client
https://github.com/kubernetes/kubernetes/blob/rel
ease-1.3/docs/design/architecture.md
kubectl
・Kubernetesを操作するためのCLIクライアント
・全ての操作はkube-apiserverを経由して実行される
Master
https://github.com/kubernetes/kubernetes/blob/rel
ease-1.3/docs/design/architecture.md
マスターコンポーネント
・etcd
・kube-apiserver
・kube-scheduler
・kube-controller-manager
・cloud-controller-manager
・kube-dns
Master
https://github.com/kubernetes/kubernetes/blob/rel
ease-1.3/docs/design/architecture.md
etcd
・Kubernetesのリソース永続化に利用される分散型KVS
・Kubernetesの全てのクラスタ情報の保存場所として利用される
Master
https://github.com/kubernetes/kubernetes/blob/rel
ease-1.3/docs/design/architecture.md
kube-apiserver
・kubernetesのAPIを提供するコンポーネント
・その他のコンポーネントはkube-apiserverを経由してリソースにアクセスする
・そのため直接etcdを参照するのはkube-apiserverのみになる
・その他クライアントの認証・認可も担当する
・負荷に応じてスケールアウトが可能
Master
https://github.com/kubernetes/kubernetes/blob/rel
ease-1.3/docs/design/architecture.md
kube-scheduler
・作成されたPodをNodeへ割り当てるためのスケジューラ
・kube-apiserverを経由してPod及びNodeのリソースを非同期に監視する
・Podが作成されたときに最適なNodeを選択してバインディングする
Pod
・Kubernetesにおいてコンテナを動かすための最小単位
  ・コンテナのイメージバージョンなどの基本情報
・共有ストレージ(ボリューム) などが含まれる
Node
・仮想マシンまたは物理マシンで構成されたワーカーマシン
・Podは必ずNode上で実行される
Master
https://github.com/kubernetes/kubernetes/blob/rel
ease-1.3/docs/design/architecture.md
kube-controller-manager
・Kubernetesオブジェクトを処理するコントローラの実行・管理を行うデーモン
・コントローラはkube-apiserverを経由してオブジェクトを非同期に監視する
・オブジェクトに変更があればコントローラによって変更が反映される
・オブジェクトには以下のようなものが存在する
・Deployment
・ReplicaSet
cloud-controller-manager
・Kubernetesの基盤となっているクラウドプロバイダを管理するコンポーネント
・マネージドなロードバランサなどを扱うときに利用する
kube-dns
・Kubernetesクラスタ内部で利用するDNS
・Serviceリソースが作成されるとkube-dnsにもレコードが登録される
Serviceリソース
・Podへの接続エンドポイントを提供
・トラフィックをルーティング
Node
https://github.com/kubernetes/kubernetes/blob/rel
ease-1.3/docs/design/architecture.md
ノードコンポーネント
・kubelet
・kube-proxy
Node
https://github.com/kubernetes/kubernetes/blob/rel
ease-1.3/docs/design/architecture.md
kubelet
・各Nodeで動作するエージェント
・kube-apiserverを監視して自ノードに割り当てられたPodを起動する
Node
https://github.com/kubernetes/kubernetes/blob/rel
ease-1.3/docs/design/architecture.md
kube-proxy
・Serviceリソースを元にルーティングを行う
・デフォルトでiptablesを利用してパケットの制御を行っている
独特の概念が多いですが
・基礎知識として覚えましょう
・実際に触ったときにより理解しやすくなります
まとめ
まとめ
・KubernetesでDockerコンテナ群を統合管理できる
・独自の概念が多いためまずは主要なコンポーネントを把握していくと良い
・実際に触ってみるのが早い(ニゲチャダメ)
終わり

Contenu connexe

Tendances

最近良く聞く Kubernetes を体験してみた イントロ + 活用編
最近良く聞く Kubernetes を体験してみた イントロ + 活用編最近良く聞く Kubernetes を体験してみた イントロ + 活用編
最近良く聞く Kubernetes を体験してみた イントロ + 活用編
Fuminobu Takeyama
 

Tendances (20)

Docker1.13で変わったことをわからないなりにまとめてみた
Docker1.13で変わったことをわからないなりにまとめてみたDocker1.13で変わったことをわからないなりにまとめてみた
Docker1.13で変わったことをわからないなりにまとめてみた
 
何者(Dockerって)
何者(Dockerって)何者(Dockerって)
何者(Dockerって)
 
Juju/MAASで作る Kubernetes + GPU
Juju/MAASで作る Kubernetes + GPUJuju/MAASで作る Kubernetes + GPU
Juju/MAASで作る Kubernetes + GPU
 
Docker 再入門 2016 update
Docker 再入門 2016 updateDocker 再入門 2016 update
Docker 再入門 2016 update
 
GKE のアプリデプロイは Spinnaker に任せて!
GKE のアプリデプロイは Spinnaker に任せて!GKE のアプリデプロイは Spinnaker に任せて!
GKE のアプリデプロイは Spinnaker に任せて!
 
OpenShift Origin Minishift (Beta)
OpenShift Origin Minishift (Beta)OpenShift Origin Minishift (Beta)
OpenShift Origin Minishift (Beta)
 
Kubernetes雑にまとめてみた 2019年12月版
Kubernetes雑にまとめてみた 2019年12月版Kubernetes雑にまとめてみた 2019年12月版
Kubernetes雑にまとめてみた 2019年12月版
 
貧乏人でも出来るお手軽docker
貧乏人でも出来るお手軽docker貧乏人でも出来るお手軽docker
貧乏人でも出来るお手軽docker
 
最近のJuju/MAAS について
最近のJuju/MAAS について最近のJuju/MAAS について
最近のJuju/MAAS について
 
Ruby Enterprise Environment
Ruby Enterprise EnvironmentRuby Enterprise Environment
Ruby Enterprise Environment
 
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
 
kpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルドkpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルド
 
Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築
 
Docker Tシャツを着て Docker の話をする
Docker Tシャツを着て Docker の話をするDocker Tシャツを着て Docker の話をする
Docker Tシャツを着て Docker の話をする
 
最近良く聞く Kubernetes を体験してみた イントロ + 活用編
最近良く聞く Kubernetes を体験してみた イントロ + 活用編最近良く聞く Kubernetes を体験してみた イントロ + 活用編
最近良く聞く Kubernetes を体験してみた イントロ + 活用編
 
Docker超入門
Docker超入門Docker超入門
Docker超入門
 
Kubernetes 初心者の僕からの JKD 参加報告
Kubernetes 初心者の僕からの JKD 参加報告Kubernetes 初心者の僕からの JKD 参加報告
Kubernetes 初心者の僕からの JKD 参加報告
 
Dockerの改修を一緒にやりませんか
Dockerの改修を一緒にやりませんかDockerの改修を一緒にやりませんか
Dockerの改修を一緒にやりませんか
 
Introduction of skippbox
Introduction of skippboxIntroduction of skippbox
Introduction of skippbox
 
Wocker 秒速で WordPress 開発環境を構築する
Wocker 秒速で WordPress 開発環境を構築するWocker 秒速で WordPress 開発環境を構築する
Wocker 秒速で WordPress 開発環境を構築する
 

Similaire à 20191120 beyondstudy#21 teraoka

Similaire à 20191120 beyondstudy#21 teraoka (20)

Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
 
ざっくり始めるCloud Native開発
ざっくり始めるCloud Native開発ざっくり始めるCloud Native開発
ざっくり始めるCloud Native開発
 
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
 
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版
 
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
 
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ーWeb系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
Web系エンジニアのためのスキルアップ講座 ーDockerで開発環境を作ろう ー
 
Kubernets on Bluemix + DevOpsでコンテナCIやってみた
Kubernets on Bluemix + DevOpsでコンテナCIやってみたKubernets on Bluemix + DevOpsでコンテナCIやってみた
Kubernets on Bluemix + DevOpsでコンテナCIやってみた
 
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
 
いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達いまからでも遅くない Docker事始め&愉快な仲間達
いまからでも遅くない Docker事始め&愉快な仲間達
 
Node.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたことNode.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたこと
 
明日からはじめられる Docker + さくらvpsを使った開発環境構築
明日からはじめられる Docker + さくらvpsを使った開発環境構築明日からはじめられる Docker + さくらvpsを使った開発環境構築
明日からはじめられる Docker + さくらvpsを使った開発環境構築
 
2019年度 CaaS ワークショップ @ NTTコム
2019年度 CaaS ワークショップ @ NTTコム2019年度 CaaS ワークショップ @ NTTコム
2019年度 CaaS ワークショップ @ NTTコム
 
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
Docker/Aarukas入門ハンズオン資料~第1回さくらとコンテナの夕べ #さくらの夕べ 番外編
 
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
 
コンテナ on Windows
コンテナ on Windowsコンテナ on Windows
コンテナ on Windows
 
AKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsAKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab Contents
 
Go 製リアルタイムサーバーの Kubernetes での運用について
Go 製リアルタイムサーバーの  Kubernetes での運用についてGo 製リアルタイムサーバーの  Kubernetes での運用について
Go 製リアルタイムサーバーの Kubernetes での運用について
 
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
 
アプリ屋のための Docker入門
アプリ屋のための Docker入門アプリ屋のための Docker入門
アプリ屋のための Docker入門
 

Plus de beyond Co., Ltd.

Plus de beyond Co., Ltd. (20)

beyoben38.pdf
beyoben38.pdfbeyoben38.pdf
beyoben38.pdf
 
【社内勉強会資料】DNS わかんねえ
【社内勉強会資料】DNS わかんねえ【社内勉強会資料】DNS わかんねえ
【社内勉強会資料】DNS わかんねえ
 
ビヨンドでのマイグレーションとマルチクラウドの運用
ビヨンドでのマイグレーションとマルチクラウドの運用ビヨンドでのマイグレーションとマルチクラウドの運用
ビヨンドでのマイグレーションとマルチクラウドの運用
 
AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較
 
やさしいIPアドレス入門
やさしいIPアドレス入門やさしいIPアドレス入門
やさしいIPアドレス入門
 
【簡潔】SMTPサーバー・POP3サーバーの役割を手短かに解説
【簡潔】SMTPサーバー・POP3サーバーの役割を手短かに解説【簡潔】SMTPサーバー・POP3サーバーの役割を手短かに解説
【簡潔】SMTPサーバー・POP3サーバーの役割を手短かに解説
 
beyond.pdf
beyond.pdfbeyond.pdf
beyond.pdf
 
「マイネットのマルチクラウド戦略について」株式会社マイネット 猪狩 拓也 様
「マイネットのマルチクラウド戦略について」株式会社マイネット 猪狩 拓也 様「マイネットのマルチクラウド戦略について」株式会社マイネット 猪狩 拓也 様
「マイネットのマルチクラウド戦略について」株式会社マイネット 猪狩 拓也 様
 
20201029 nagatani
20201029 nagatani20201029 nagatani
20201029 nagatani
 
20201029 hirata
20201029 hirata20201029 hirata
20201029 hirata
 
20201014 fujisawa
20201014 fujisawa20201014 fujisawa
20201014 fujisawa
 
20200923 miyazaki
20200923 miyazaki20200923 miyazaki
20200923 miyazaki
 
20200923 inahata
20200923 inahata20200923 inahata
20200923 inahata
 
20200923 fujisawa
20200923 fujisawa20200923 fujisawa
20200923 fujisawa
 
200813 fgdc mandai
200813 fgdc mandai200813 fgdc mandai
200813 fgdc mandai
 
Bydstudy#26 sato
Bydstudy#26 satoBydstudy#26 sato
Bydstudy#26 sato
 
Bydstudy#26 ishihara
Bydstudy#26 ishiharaBydstudy#26 ishihara
Bydstudy#26 ishihara
 
Bydstudy#26 nagasawa
Bydstudy#26 nagasawaBydstudy#26 nagasawa
Bydstudy#26 nagasawa
 
20200708 bydstudy miyazaki
20200708 bydstudy miyazaki20200708 bydstudy miyazaki
20200708 bydstudy miyazaki
 
20200423 bydstudy23-fujisawa
20200423 bydstudy23-fujisawa20200423 bydstudy23-fujisawa
20200423 bydstudy23-fujisawa
 

Dernier

Service-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadershipService-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadership
Yasuyoshi Minehisa
 
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
Michael Rada
 

Dernier (9)

セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
 
事例DBサービス紹介資料(Case Study DB service introduction)
事例DBサービス紹介資料(Case Study DB service introduction)事例DBサービス紹介資料(Case Study DB service introduction)
事例DBサービス紹介資料(Case Study DB service introduction)
 
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdf
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdfストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdf
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdf
 
UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチ
UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチUP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチ
UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチ
 
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料
 
Service-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadershipService-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadership
 
company profile.pdf
company profile.pdfcompany profile.pdf
company profile.pdf
 
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
 
202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)
202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)
202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)
 

20191120 beyondstudy#21 teraoka