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

Docker / Kubernetesによる Cloud Nativeな開発と未来 - D...

Docker / Kubernetesによる Cloud Nativeな開発と未来 - Developers Boost at 12/15 / devboost-k8s-cn

https://event.shoeisha.jp/devboost/20181215/session/1903/

Developers Boost~U30エンジニアの登竜門~

近年Dockerから始まったコンテナ技術やKubernetesは急激に普及し、大手クラウドプロバイダー3社(GCP、Azure、AWS)がマネージドKubernetesサービスをリリースしたことからも、コンテナプラットフォームとしてデファクトスタンダードとなったことを物語っています。
また、Linux FoundationのExecutive DirectorでもあるJim Zemlin氏が「Kubernetes is becoming the Linux of the cloud」とも語っています。

Kubernetesはインフラエンジニアのためだけではなく、ソフトウェアエンジニアが利用するものでもあります。
このセッションでは、今後のCloud Nativeな開発に必要不可欠なKubernetesについて説明し、様々なエンジニアがKubernetesをベースとした開発で得られるメリットと未来について語ります。

Masaya Aoyama (@amsy810)

December 15, 2018
Tweet

More Decks by Masaya Aoyama (@amsy810)

Other Decks in Technology

Transcript

  1. Cloud Native Days Tokyo co-chair Cloud Native Meetup Tokyo Organizer

    (+ JKD+ KubeCon ) Japan Container Days v18.04 Keynote (+ IPSJ ComSys 2018)   for Kubernetes CKA #138CKAD #2 OpenStack / Kubernetes Contributor Masaya Aoyama (@amsy810) Infrastructure Engineer
  2.  page 04       

    : 10:20 : 2:30    12:10 15:30 18:05 SEA ! Kubernetes Contributors Summit KubeCon + CloudNativeCon NRT!SEA " # NRT   
  3. Docker • Docker-Application Container '0*&  $2 • %(# 

    6531" • DevOps/+4),  / !. page 06
  4. Docker   Immutable Infrastructure page 07 FROM centos:7 RUN

    yum -y install epel-release RUN yum -y install nginx COPY nginx.conf /etc/nginx/ ENTRYPOINT ["nginx", "-g", "daemon off;"] Build Once,    Docker Image
  5. Docker  Immutable Infrastructure page 08 Build Once, Run Anywhere

    Docker Image CentOS 7 (3.x Kernel) Ubuntu 18.04 (4.x Kernel)
  6. Container Orchestration Engine (4/0 • 3*Docker2/ • # $ #

    •  $ # / $ $ # • "$ # $ • #-.15 • 6&+!$ # • $ • "$# # • $,')%2/
  7. CNCF and The Linux Foundation • Kubernetes The Linux Foundation

    CNCF  •     
  8. Cloud Native page 013 Cloud native technologies empower organizations to

    build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach. These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil. The Cloud Native Computing Foundation seeks to drive adoption of this paradigm by fostering and sustaining an ecosystem of open source, vendor-neutral projects. We democratize state-of-the-art patterns to make these innovations accessible for everyone. CNCF Cloud Native Defenition v1.0, CNCF, 2018-11-28 (https://github.com/cncf/toc/blob/master/DEFINITION.md)
  9. Cloud Native 8 page 014 Cloud native technologies empower organizations

    to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach. These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil. The Cloud Native Computing Foundation seeks to drive adoption of this paradigm by fostering and sustaining an ecosystem of open source, vendor-neutral projects. We democratize state-of-the-art patterns to make these innovations accessible for everyone. CNCF Cloud Native Defenition v1.0, CNCF, 2018-11-28 (https://github.com/cncf/toc/blob/master/DEFINITION.md) • .0  • & • /- • 4*  • + 3 71 )%5 ($6 " !'2 Open Scalable #,
  10. What is doing Kubernetes? Declarative Code & APIs Self-Healing Rolling

    Update – Automation & Immutable Infrastructure ReplicaSet Service – “type: LoadBalancer”
  11. Kubernetes  page 019 Design Principles, Kubernetes Community, 2017-11-04 (https://github.com/kubernetes/community/blob/master/contributors/design-proposals/architecture/principles.md)

    02 03 01 Self Healing  ) #"  Automation & Immutable Infrastructure Immutable Infrastructure& # Declarative Code & API  Manifests$" %'API !( Infrastructure as Code
  12. Declarative Code and APIs page 020 Developer Register YAML Manifest

    Kubernetes Cluster Manifests API  Infrastructure as Code $ kubectl apply –f manifest.yaml
  13. ReplicaSet  Rolling Update (Automation) page 024 •  #

    •    • Immutable Infrastructure •  " Load Balancer Developer YAML!
  14. ReplicaSet  Rolling Update (Automation) page 025 •  

    •      • Immutable Infrastructure •   Load Balancer
  15. ReplicaSet  Rolling Update (Automation) •   • 

        • Immutable Infrastructure •   Load Balancer
  16. ReplicaSet  Rolling Update (Automation) page 027 •  

    •      • Immutable Infrastructure •   Load Balancer
  17. Keypoints page 028 • KubernetesGoogle=/A3.  + #(&$,'Borg%,OSS1  →

    ;*,),"25<>1  ?01846 • 7@1 $!*,9-YAML:  → Infrastructure EngineerBOpsC . Server-side Engineer BDevC.
  18. Microservice Architecture page 030     ProductPage Reviews

    Details Ratings HTTP/gRPC HTTP/gRPC HTTP/gRPC
  19. page 031 500+ microservices The Case of Chaos, Bruce Wong,

    2014-12-19, (https://www.slideshare.net/BruceWong3/the-case-for-chaos) The History of the Service Mesh, The New Stack, 2018-2-13, (https://thenewstack.io/history-service-mesh/)
  20. Service Mesh  • Microservice     •

    Traffic Shifting (ex, Canary release) • Circuit Break • Fault Injection • Rate Limit • Retry • mTLS Example of Canary Release
  21. Kubernetes also like framework Developer Register YAML Manifest Create Managed

    Service Instances Create Sharded MySQL Cluster on the Kubernetes Cluster as Container
  22. Kubernetes is more extensible page 035 C A D C

    DBC B DA C A C A A F A D2 F C C BB & A BB C A C A C DBC A & A C 2 A CB A A A & B A AD B &B C D C C DC C C 2 Kubernetes       Boring Kubernetes 
  23. Kubernetes is more extensible page 036 B C B CAB

    A C 2 B B AA & AA 2F B B B D CAB & D 2 B 2BA D 2 & A C A2 &A B C B B 2F CB B B
  24. page 038 KubeCon + CloudNativeCon KubeCon + CloudNativeCon Barcelona 2019

    Call for Proposals (CFP) Is Open, CNCF, 2018-11-28 (https://www.cncf.io/blog/2018/11/16/kubecon-barcelona-2019-call-for-proposals-cfp-is-open/)
  25. Google Kubernetes Engine Managed Kubernetes Serivce Azure Kubernetes Service 2014-11

    2017-02 2017-11 Amazon Elastic Container Service for Kubernetes
  26. page 040 CNCFStandardization 01.     " (!)

    OCI v1.0 02.     #  CRI 03.   #  CSI 04. #  CNI
  27. page 041 Kubernetes for Enterprise •    

      Monzo Bank • Kubernetes + Linkerd (Service Mesh) Ref: https://monzo.com/blog/2016/09/19/building-a-modern-bank-backend/
  28. 3 I H uNs P /D 6 IBK c a

    io sy P   0 C 1 DD 3 I H W3 I HS M 3 I H & 72 uNs C ID 9 CD H uNs 0BH K L 4 uNs / B 8I uNs /D HI uNs 5 I I uNs uNs N snN s h l o y f fl y s N snr N tk ye & hs c N uNsu ghd v o y /2 /0 fl N s 8 KB 5 HA 3 I H dNkyl 3 I H b