ocp, kubernetes ハイパースケールアーキテクチャ 導入の道のり -...

Download OCP, Kubernetes  ハイパースケールアーキテクチャ 導入の道のり - OpenStack最新情報セミナー(2016年7月)

If you can't read please download the document

Upload: virtualtech-japan-inc

Post on 12-Jan-2017

3.448 views

Category:

Technology


2 download

TRANSCRIPT

2016/7/28YJ AmericaNorifumi MatsuyaOCP, Kubernetes

YJ America1

2

74%Yahoo! JAPAN

3

Yahoo! JAPAN26%74%

4

26%74%

Yahoo! JAPAN

5

6

2015 (http://www.enecho.meti.go.jp/about/whitepaper/2015gaiyou/whitepaper2015pdf_h26_nenji.pdf): Map of average US residential electricity price by utility service territory (http://en.openei.org/wiki/File:2012_12_14_Electricity_Price-01.jpg)22%

1/67

201410Yahoo! JAPAN2015454

8

201410Yahoo! JAPAN2015454

9

19

10

19OpenStack

OpenStackOpenStack2010

11

19

12

OpenStack13

14

OpenStackOperating system15

16

OpenStack17

YJ America

YJ America18

19

20

21

22

23

0

GoogleFacebook01024

25

26

27

OSS

OSS28

OSS

29

30

31

Hadoop

Y AmericaHadoop32

YJ AmericaHadoop33

34

35

AB

36

Open Compute Project

Facebook201150

Open Compute Project OCP 2011FacebookOCPFacebook37

FacebookOCP

38

25,000/15

Facebook2500039

40

41

OCP

42

43

FacebookOCP44

HadoopOCP

White box switchSwitchOCPServerServerOCPFacebook

OCP

hadoopOCPOCP45

OEM/ODM

46

47

Docker48

: Kubernetes on OpenStack at eBay, Aswin Nair, eBay (https://www.youtube.com/watch?v=l5HpUNhpKwU)

OpenStack Day Seattle 2015Kubernetes on OpenStack @eBay (OpenStack)

OpenStack 49

eBayOpenStackKubernetes: Kubernetes on OpenStack at eBay, Aswin Nair, eBay (https://www.youtube.com/watch?v=l5HpUNhpKwU)

OpenStack Day Seattle 2015Kubernetes on OpenStack @eBay (OpenStack)

OpenStack Day SeattleeBayKubernetes on OpenStackKubernete50

BorgKubernetesGoogle Borg10Google2billion/week launch

: Large-scale cluster management at Google with Borg (https://static.googleusercontent.com/media/research.google.com/ja//pubs/archive/43438.pdf)

KubernetesGoogle51

BorgKubernetesGoogle Borg10Google2billion/week launch

: Large-scale cluster management at Google with Borg (https://static.googleusercontent.com/media/research.google.com/ja//pubs/archive/43438.pdf)

BorgKubernetes52

Kubernetes

Kubernetes53

Code ControlImage CreationDeploy to Platform

OpenStack54

Code ControlImage CreationDeploy to Platform

55

AppdeployTool chain

Image creationCode controlDeployment Platform

Bare Metal & VMContainer

GitHubOpenstackKubernetedeploy56

Image creationCode controlDeployment Platform

Bare Metal & VMContainer

Tool chain

57

Code CodeManagementInstance

AuthenticationPersistentVolumeContainerEngine Container ClusterManagerContainerNetworkingServiceRegistry

ContainerRegistryInfrastructureProvisioning

APP

APP

APP

loggingMetricsHeapsterCI tool

ServiceMonitoring

Kubernetes on OpenStackGitHubetcdCI toolKubernetesKubernetesOpenStack

Manage application, Not MachinesKubernetesIaaSIaaS

Kubernetesmanage application not machinensOpenstack

58

Image creationCode controlDeployment Platform

Bare Metal & VMContainerContainer Image creation flow

Artifactory

ImagedeployOSk8s

59

MasterSlave

Service Job

DockerfilerepositoryBuild.shdockerbuild

DockerimageDcokerimageDocker HUB

NewDockerimage123458697Container Image creation flowGitHubCodepushJenkinsMasterJenkinsslaveDockerfile repositorycheckoutService JobArtifactorybase docker imageArtifactorydocker imageDocker HubDocker buildimageimageArtifactory

Kubernetesdocker60

Image creationCode controlDeployment Platform

Bare Metal & VMContainerdeployKubernetes

Kubernetes Architecture

deployKuberntes61

VMKubernetes Master

VM

KeystoneCinder

VMetcd proxykubelet

kube proxy

Pod

App

App

App

Pod

App

App

Pod

App

App

App

Pod

App

Kubernetes Node

P

CalicoDocker enginePodetcd proxykubelet

kube-apiserver

P

CalicoDocker enginePodkube-scheduler

Podkube-controller-manager

Pod

VMetcd proxykubelet

kube proxy

Pod

App

App

App

Pod

App

App

Pod

App

App

App

Pod

App

Kubernetes Node

P

CalicoDocker enginePodMasterNodePodKubernetesKeystoneKeystoneKubernetespolicyCinderProject CalicoKubernetes Architecture

62

VM

Kubernetes Master

VM

Loadbalancer Node

VM

Pod

App

App

Kubernetes Node

VM

Pod

App

Kubernetes Node

Pod

App

AppiBGPiBGPiBGPiBGPRoute Reflector & Gateway

Redistribute ClusterIP and Pod IPs to Backbone

Advertise Pod IPs(/26)

Advertise ClusterIP

Advertise PodIPs IP(/26) ClusterIP range : 10.0.0.0/22Pod IP range: 192.168.0.0/22Node IP range: 172.16.0.0/22 Kubernetes NetworkingRoute ReflectorVMiBGPNodePodBlackholeiBGPPodIPPodBackbonePod

63

192.168.0.0/24

ClusterIP: 10.0.0.100

200.0.0.100Src addressDst address200.0.0.10010.0.0.100172.16.0.100192.168.0.100192.168.0.100172.16.0.10010.0.0.100200.0.0.100

VM

Loadbalancer Node

VM

Kubernetes Master

VM

Pod

App

App

Kubernetes Node

Pod IP: 192.168.0.100Node IP : 172.16.0.100ClusterIP range : 10.0.0.0/22Pod IP range: 192.168.0.0/22Node IP range: 172.16.0.0/22 External Service Load BalancingKubernetesExternalInternalExternal

1. ClusterIPNode2. DNAT/SNATSNATKubernetes3. Node4. NAT

External service load balancing64

Docker registry

Jenkins Master

Launch Jenkins slave Podand run commandhookUpload Artifactorypull repository

issue trackingtrack commitbuild resultCI support Kubernetes Cluster

masterdeploy

APP

CinderPersistentVolume

KeystoneAuthTenant Isolation

pushLaunch Pod

pull image

master

APP

CinderPersistentVolume

KeystoneAuthTenant IsolationLaunch Pod

Kubernetes Cluster #1for Datacenter A

Nova

NovaBoot Kubernetes nodeOpenStackAdmin

Dockerbuild

masterBoot Kubernetes nodeKubernetes Cluster #2for Datacenter B

Code ControlImage CreationDeploy to PlatformOpenStack30

OpenStack on Kubernetes on OpenStack

image creationkuberntestool chaintool chainOpenstackOpenstack65

APP

Openstack Cluster #1for Datacenter A

Glance

CI support Kubernetes Cluster

pushOpenStackAdmin

qcow2ImageTeraformPackerCode ControlImage CreationDeploy to Platform

KubernetesImage deploy

APP

Openstack Cluster #2for Datacenter B

Glance

VM image creationkubernetes

66

67

Techblog- Kuberneteshttp://techblog.yahoo.co.jp/infrastructure/os_n_k8s/

- Open Compute Projecthttp://techblog.yahoo.co.jp/operation/2015-10-ocp/

68