Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦

8,117 views

Published on

Presentation Slides for Breakout session at Japan Container Day 2018.04
https://containerdays.jp/

Published in: Technology
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Nice !! Download 100 % Free Ebooks, PPts, Study Notes, Novels, etc @ https://www.ThesisScientist.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦

  1. 1. 4 0 .10 . 4 1 2 0 10 .0
  2. 2. D @yokawasa / https://github.com/yokawasa C :A // 4 V 2 4 4 2 4 e01 4
  3. 3. • • • → SRE → Dev
  4. 4. žSelf Healing žIn-Flight Renewing žAdaptive Scale
  5. 5. ž ž S O ž ž ž ž ž ž Self Healing Photo on oemupdate.com
  6. 6. ž ž O ž ž ž ž In-Flight Renewing https://www.flickr.com/photos/usnavy/8019591466/
  7. 7. ž ž C ž C ž ž ž W E Adaptive Scale
  8. 8. https://www.slideshare.net/hiromasaoka/noops-88082246
  9. 9. • Phase = Pending | Running | Succeeded | Failed | Unknown • Probe: • Liveness probe: • Readiness probe RestartPolicy= Always| OnFailure | Never https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/ https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ https://kubernetes.io/docs/user-guide/walkthrough/k8s201/ : Pod with an HTTP health check
  10. 10. Deployment ReplicaSet Pod Pod Deployment ReplicaSet ReplicaSet Pod (Replica ) Pod Pod Pod Deployment ReplicaSet Pod A Pod B Pod C Deployment ReplicaSet Pod A Pod B Pod C Pod C
  11. 11. Deployment ReplicaSet V1 Pod Pod Pod Deployment ReplicaSet v1 Pod Pod ReplicaSet V2 Pod Deployment ReplicaSet V2 Pod Pod Pod
  12. 12. • Kubernetes version .spec.updateStrategy.type RollingUpdate https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#rolling-updates kubectl patch statefulset web –p '{"spec":{"updateStrategy":{"type":"RollingUpdate"}}}'
  13. 13. 2.
  14. 14. • ReplicaSet / Deployment Pod ( replica# ) CPU | ( kubernetes1.8 ) • Heapster • SPOF ReplicaSet PodPod Pod Pod Holizontal Pod Autoscaler cAdvisorcAdvisor kubelet kubelet https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/ Deployment kubectl autoscale deployment php-apache --cpu-percent=50 --min=1 --max=10
  15. 15. • Pod • - Pod • CA-1.0.X GA kubernetes-1.8 • • GCP, AWS, Azure • : Azure CA-1.1.0 Kubernetes-1.9.X 2018/04/19 VMSS / acs-engine • See also Cluster Autoscaler on Azure
  16. 16. https://twitter.com/kelseyhightower/status/963413508300812295 https://twitter.com/kelseyhightower/status/963419882376241153 Kubernetes StatefulSets Volumes Kubernetes
  17. 17. Key/value OrdersCart Catalog & Reviews Document Suggestions Graph E-Commerce Service RDBMS
  18. 18. Open Service Broker API + Service Catalog ž Open Service Broker API : ž Service Catalog : Kubernetes Open Service Broker API
  19. 19. https://www.openservicebrokerapi.org/ Open Service Broker API – v2.13
  20. 20. Cloud Foundry Cloud Controller https://www.openservicebrokerapi.org/ Any Platform API
  21. 21. Secret Service Catalog Architecture https://kubernetes.io/docs/concepts/service-catalog/ Service Catalog Design https://github.com/kubernetes-incubator/service- catalog/blob/master/docs/design.md
  22. 22. Cloud Foundry Cloud Controller Any Platform Kubernetes + Service CatalogService Catalog
  23. 23. https://github.com/Azure/open-service-broker-azure
  24. 24. Kubernetes Kubernetes Kubernetes • • • • SDN • •
  25. 25. Set up High-Availability Kubernetes Masters https://kubernetes.io/docs/tasks/administer-cluster/highly-available- master/#implementation-notes
  26. 26. Agent Pool Agent VM Agent VM Agent VM Agent VM Agent VM Agent VM Agent VM Agent VM Hosted Control Plane AKS PREVIEW
  27. 27. az aks scale –name mycluster –resource-group rg-aks --node-count 4 az aks upgrade –name mycluster –resource-group rg-aks --kubernetes-version 1.9.2
  28. 28. ( ) vCPU / Kubernetes
  29. 29. / - 5 - 5 22 - -/ PREVIEW
  30. 30. Kubernetes control pane Application architect Infrastructure architect Azure Container Instances (ACI) ACIConnector Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod VM VM VM VM Deployment/ tasks Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod WasteWaste WasteWaste PodPod PodPod ACI Connector for Kubernetes Kubernetes ACI VM ACI PREVIEW
  31. 31. https://github.com/virtual-kubelet/virtual-kubelet Kubetet – Kubernetes
  32. 32. • • • • • (CI/CD)
  33. 33. : https://docs.microsoft.com/ja-jp/azure/architecture/microservices/interservice-communication • • : • • • • ID • • • • TLS TLS
  34. 34. • • L7 L4 • Pod https://github.com/istio/istio https://github.com/linkerd/linkerd https://github.com/runconduit/conduit Pod
  35. 35. https://istio.io/docs/concepts/what-is-istio/overview.html https://istio.io https://www.envoyproxy.io/
  36. 36. Istio - Creating circuit breaking policies https://istio.io/docs/tasks/traffic-management/circuit-breaking.html https://istio.io
  37. 37. Polly https://docs.microsoft.com/ja-jp/dotnet/standard/microservices-architecture/implement-resilient- applications/implement-circuit-breaker-pattern
  38. 38. • CI/CD • • • • CI/CD
  39. 39. Helm • Kubernetes • Linux apt-get yum Mac OS Homebrew • Linux Deps RPM Helm Charts https://helm.sh/ Helm • ( Helm ): CI/CD • ( tiller ): Kubernetes Charts https://github.com/kubernetes/charts
  40. 40. helm install -f config.yaml <package> … helm upgrade -f config.yaml <release-name> …
  41. 41. helm rollback <release-name> <revision>
  42. 42. • • CPU • Kubernetes • CPU • cAdvisor kube-state-metrics • • • • PaaS
  43. 43. : : https://docs.microsoft.com/en-us/azure/architecture/microservices/logging-monitoring • Prometheus InfluxDB • Kibana, Grafana Kibana Grafana OMS/LogAnalytics LogStash cAdvisor Prometheus Elastic Search InflluxDB

×