Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kubernetes入門

 Kubernetes入門

社内プレゼン用
Kubernetes Introduction

leedaebum

March 30, 2018
Tweet

Other Decks in Technology

Transcript

  1. 19 Container Orchestrator Market Share 2017/3/26~2018/3/26 Google TrendからContainer OrchestratorのMarket Shareを

    見るとDocker swarmやApache Mesosは平面化されて、 Kubernetesが一番注目されている。
  2. 21 ・ギリシャ語が語源で意味は操舵手 ・k8s (ubernete->8) called k-eight-s ・Originally designed by Google

    ( Borg->Omega->Kubernetes ) ・OSS (Apache License 2.0) ・CNCFからプロジェクトを運用 (特定の企業に依存しない) About Kubernetes 船の操舵手 (ソウダシュ) *CNCF(Cloud Native Computing Foundation) https://commons.wikimedia.org/wiki/File:RIGBY(1842)_Baltic_letters,_p1.054_HELMSMAN.jpg
  3. 27 ・ Containerの生成 ・ Containerの削除 ・ Volumeの生成 ・ Volumeの削除 Dockerだけだと開発環境で

    の運用は問題ない。 だが本番のサービスを運用 するにはものたりない。
  4. 30 Infra (Public/Private Cloud, etc…) Operation System Operation System Operation

    System Container Runtime Container Runtime Container Runtime Container Orchestration (Containerized App Management, Deployment, Scheduling) Containerized App Containerized App Containerized App Containerized App Containerized App
  5. 33 Kubernetes Basic Concepts Node (物理マシン、仮想マシン) Kubernetes Cluster Pod Pod

    Pod コン テナ コン テナ コン テナ コン テナ コン テナ コン テナ Kubernetesではひとつまたは複数のコンテナを 「Pod」との単位で管理している Node (VM)
  6. 34 Kubernetes Cluster Node Node Node (s) Master CLI API

    UI API Server etcd cluster Scheduler Controller Manager kubelet Kube-proxy pod pod pod pod container container container container container container container container Internet
  7. 36 Kubernetes Component - Master API Server etcd cluster Scheduler

    Controller Manager Masterは 各Nodeに対してデプロイ、 アップデート、スケーリングなど の指示を出す役割 API Server ・コンテナクラスタのすべての操作を コントロールする ・RESTful API ・利用するにはkubernetes dashboardを 利用したUIでのアクセスやkubectlコマンドを 利用したCLIでのアクセスがある
  8. 37 Kubernetes Component - Master API Server etcd cluster Scheduler

    Controller Manager Masterは 各Nodeに対してデプロイ、 アップデート、スケーリングなど の指示を出す役割 Scheduler ・アプリケーションの配置を行う。 ・podをどのnodeに配置するかを決める。
  9. 38 Kubernetes Component - Master API Server etcd cluster Scheduler

    Controller Manager Masterは 各Nodeに対してデプロイ、 アップデート、スケーリングなど の指示を出す役割 Controller Manager ・バックグラウンドでクラスタのコントローラ を管理 ・APIサーバを利用しクラスタ状態を監視。 ・クラスタを望ましい状態にする ・Replication Controller, Endpoint Controller…
  10. 39 Kubernetes Component - Master API Server etcd cluster Scheduler

    Controller Manager Masterは 各Nodeに対してデプロイ、 アップデート、スケーリングなど の指示を出す役割 etcd Cluster ・k8sのクラスタ情報を保存する ・secret, pod state, volume address
  11. 40 Kubernetes Component – (worker)Node Node Node kubelet Kube-proxy pod

    pod pod pod container container container container container container container container (Worker)Node は podが動作する環境 kubelet ・node agentの役割。 ・マスタとの通信でnodeに指示を出す ・k8sで作られたコンテナのみ管理 ・HTTP endpoint ・HTTP server https://kubernetes.io/docs/reference/generated/kubelet/
  12. 41 Kubernetes Component – (worker)Node Node Node kubelet Kube-proxy pod

    pod pod pod container MySQL container container app Php-fpm Nginx container (Worker)Node は podが動作する環境 pod ・containerのグループ ・k8sのミニマムなデプロイ単位 ・Podの中のコンテナはStroageや namespaces、portを共有
  13. 42 Kubernetes Component – (worker)Node Node Node kubelet Kube-proxy pod

    pod pod pod container container container container container container container container (Worker)Node は podが動作する環境 kube-proxy ・Kubernetes network proxy ・各Nodeに動作する ・特定なPortを開けてPod外からの アクセスができるようにする https://kubernetes.io/docs/reference/generated/kube-proxy/
  14. 54 ▪Summary ▪ Kubernetesはスタンダード(かも) ▪ Kubernetesは本番でコンテナされているアプリケーショ ンを管理してくれる ▪ Googleからスタートしたプロジェクトで今はOSSとして CNCFが管理している。(今は卒業生)

    ▪ Kubernetesはひとつのmasterと複数の(Worker)Node でクラスタ構成になっている ▪ 今ではローカル環境でも簡単にKubernetesが利用できる( minikube, kubernetes on dockerなど )