Yahoo! JAPANのマネージド Kubernetes サービスを支える技術 #ヤフー名古屋

スライド概要

2019年5月28日に開催されたヤフー名古屋Tech Meetup #2のキーノートです。
#2 は「コンテナ技術」をテーマに開催しました。
https://yahoo-nagoya.connpass.com/event/121472/
ヤフー名古屋Tech Meetupは、名古屋で開催されるクリエイター向け勉強会です。
東京大阪に行かなくても技術的な話が出来る場、クリエイターのアウトプット/インプットの場、多種多様なクリエイターと交流できる場を目指しています。

profile-image

Yahoo!デベロッパーネットワーク

@ydnjp

作者について:

エンジニア・デザイナー向けのヤフー公式アカウント。イベント/登壇情報/ブログ記事など、ヤフーの技術・デザインに関わる情報を発信します。

スライド一覧
シェア
埋め込む»CMSなどでJSが使えない場合

公開日

2019-06-05 10:23:00

各ページのテキスト

1.

2.

3.

4.

5.

6. κυβερνήτης b a xm M kLf “Kubernetes is open source—a contrast to Borg and Omega, which were developed as purely Google-internal systems. “ Borg, Omega, and Kubernetes

7. acL A3 2 3 3A g M dT

8. u psp FP b KT o Fu https://twitter.com/brendandburns/status/585479466648018944

9.

10. n

11. m Sd T

12. cL f ka

13. bF A03 3 3 )33 A A A03 m S dT

14.

15. t f uu f Kk

16. https://www.openhub.net/p/_compare?project_0=Kubernetes&project_1=docker+swarm&project_2=Apache+Mesos

17. b a Y dT KubeCon + CloudNativeCon Europe 2019 Barcelona, Spain (May 20 - 23, 2019) https://www.flickr.com/photos/143247548@N03/46985430585/in/album-72157707188120301/

18. t t f F K F F uu oM k

19.

20. S m L bgO ea PilkLM k Y

21.

22.

23. A C B ⋆ ♥

24. 3 f T

25. C A C

26. C A A

27. M k l dT l M apiVersion: apps/v1 kind: Deployment metadata: name: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.13.3 ports: - containerPort: 80

28. ! ! ! ! ! ! ! ! ! !

29. ! ! ! ! ! ! " ! " ! ! ! ! !

30.

31. k p a f dT

32. a y m d kY A03 3 3 r ) ! Lf b 3 k

33.

34.

35. h

36.

37. REST kubectl Master component Node etcd Networking apiserver kubelet controller-manager Container Runtime scheduler OS

38.

39. kubectl apply -f manifest.yaml

40.

41. apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - name: nginx image: nginx:1.15.8 ports: - containerPort: 80

42.

43.

44. apiVersion: apps/v1 kind: ReplicaSet metadata: name: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.15.8 ports: - containerPort: 80

45.

46.

47.

48.

49.

50.

51.

52.

53.

54. apiVersion: apps/v1 kind: Deployment metadata: name: nginx spec: replicas: 2 selector: matchLabels: app: nginx strategy: type: RollingUpdate rollingUpdate: maxSurge: 25% maxUnavailable: 25% template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.15.8 ports: - containerPort: 80

55.

56.

57. apiVersion: v1 kind: Service metadata: name: nginx spec: type: ClusterIP selector: app: nginx ports: - protocol: TCP port: 8080 targetPort: 80

58.

59.

60.

61. au t b a b T M n L i

62. AUTOMATE ALL THE THINGS

63.

64.

65.

66. cL f O na M dT

67. apiVersion: apiextensions/k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: kubernetesclusters.kubernetes.zlab.co.jp spec: scope: Namespaced group: kubernetes.zlab.co.jp version: v1alpha1 names: plural: kubernetesClusters singular: kubernetesCluster kind: KubernetesCluster shortNames: - kc additionalPrinterColumns: - name: ready type: boolean description: ”Phase of KubernetesCluster” JSONPath: .status.ready ・・・

68. $ cat cluster01.yaml apiVersion: kubernetes.zlab.co.jp/v1alpha1 kind: KubernetesCluster metadata: name: cluster01 spec: version: ”1.14.3” masterReplicas: 3 masterFlavor: large workerReplicas: 5 workerFlavor: large ・・・ $ kubectl apply -f cluster.yaml Kubernetescluster “cluster01” created

69.

70. An Operator represents human operational knowledge in software to reliably manage an application. https://coreos.com/operators/

71. https://github.com/operator-framework/awesome-operators

72. https://www.oreilly.co.jp/books/9784873117911/

73. 3

74. clusterctl Kubectl

75.

76. !

77.

78.

79.

80.

81. κυβερνήτης “Kubernetes is open source—a contrast to Borg and Omega, which were developed as purely Google-internal systems. “ Borg, Omega, and Kubernetes

82. acL A3 2 3 3A g M dT

83.

84. Kazuki Suda <