O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Kubernetesを触ってみた

76.005 visualizações

Publicada em

Kuberenetesを触ってみたので、こんな感じでしたよとレポートします

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Kubernetesを触ってみた

  1. 1. Kubernetesを触ってみた 第20回 PaaS勉強会 @jacopen
  2. 2. @jacopen Kazuto Kusama NTT Communications ! Cloudn PaaSの開発・運用をやっています
  3. 3. Cloud
  4. 4. Cloud SaaS PaaS IaaS
  5. 5. Cloud SaaS PaaS IaaS
  6. 6. Cloud SaaS PaaS IaaS
  7. 7. Cloud SaaS PaaS IaaS
  8. 8. Cloud = VM?
  9. 9. Cloud = VM? うちのサービス、全部コンテナで動いてるで うちもや。VMとか使ってへんで
  10. 10. Docker なんか呼んだか?
  11. 11. コンテナという選択肢 • コンテナ技術そのものは昔からある • LinuxでもLXCがあった • 商用UNIXの世界ではン十年前からある
  12. 12. Dockerのすごいところ どや • コンテナ技術のもつメリットに加えて・・ • 差分ディスクイメージを作ってシェアできる • Dockerfileでインフラのコード化ができる コンテナ技術がグッと身近に。 コミュニティが進化すればするほど使いやすく。
  13. 13. 運用に課題 • どうやって数あるホストにコンテナを配置 する? • どうやって今稼働しているコンテナを管理 する? • 死活監視は? Dockerだけでは運用できない
  14. 14. Kubernetes
  15. 15. Kubernetesとは Googleが公開した、コンテナ管理ツール ! Kubernetes (koo-ber-nay'-tace) is Greek for “helmsman” of a ship. 船の舵を取る人 という意味らしい
  16. 16. Design Overview Kubernetes is a system for managing containerized applications across multiple hosts, providing basic mechanisms for deployment, maintenance, and scaling of applications https://github.com/GoogleCloudPlatform/kubernetes/blob/master/DESIGN.md
  17. 17. まずは触ってみよう
  18. 18. DEMO
  19. 19. 今回のKubernetes環境 Master Node (Minion) Node (Minion) Node (Minion) Node (Minion)
  20. 20. Demoで構築したもの Frontend Replication Controller frontend frontend frontend Redis Slave service Redis master service redisslave redisslave redis-master Redis Slave Replication Controller
  21. 21. Kubernetesの仕組み • Pod • Label • Replication Controller • Service
  22. 22. Pod • コンテナの集まり • 今回のデモだと1Pod 1Container • Pod内のコンテナは、必ず同一ホストにな る • ストレージとか、IPアドレスを共有しなけ ればいけないコンテナをまとめられる
  23. 23. Label • Podに「ラベル」を自由に付けられる • 環境を示すラベル(Production, Development, Staging) • 役割を示すラベル(Frontend, Backend, Worker, Logger) • 1つのPodに複数のラベルが付けられる
  24. 24. frontend frontend frontend Pod Label redisslave redisslave redis-master
  25. 25. Replication Controllers • Podテンプレートから、指定された数の Replicaを作成する仕組み • Podの監視をしていて、指定された数より 多ければ減らし、少なければ減らす
  26. 26. replicas:3 Frontend Replication Controller frontend frontend frontend redisslave redisslave redis-master Redis Slave Replication Controller replicas:2
  27. 27. Service • L3のプロキシみたいなもの • 設定したPodにラウンドロビンでアクセス を分配する
  28. 28. Frontend Replication Controller frontend frontend frontend Port:10000 Port:10001 Redis Slave service Redis master service Port:6379 Port:6379 Port:6379 redisslave redisslave redis-master Redis Slave Replication Controller
  29. 29. Frontend Replication Controller frontend frontend frontend Port:10000 Port:10001 Redis Slave service Redis master service Port:6379 Port:6379 Port:6379 redisslave redisslave redis-master Redis Slave Replication Controller Frontend service
  30. 30. 自分でKubernetesを試してみる 今だといろんな環境で試せる • Google Compute Engine • Vagrant • CoreOS • Microsoft Azure • Digital Ocean • OpenStack
  31. 31. 環境によって構築方法は異なる • Kubernetesリポジトリの、Getting Started Guidesを参照。 • GCEで構築はめちゃくちゃ楽 • gcloud cliが使える状態なら、構築はコマ ンド一発 • 対応表に入っていないIaaSでも、その上に CoreOSクラスタ構築すれば使えるんじゃ ないかな?
  32. 32. Kubernetes=PaaS?
  33. 33. 今後調べたいこと • OpenShift+Kubernetes • Corekube(CoreOS+Kuberenetes +OpenStack) • Network周り

×