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

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

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

Presentation Slides for Breakout session at Japan Container Day 2018.04
https://containerdays.jp/v1804/
関連記事: https://thinkit.co.jp/article/14030
Date: 2018/04/19

Moved from slideshare

Yoichi Kawasaki

April 19, 2018
Tweet

More Decks by Yoichi Kawasaki

Other Decks in Technology

Transcript

  1. &')/cHfZb<lBJLmN   8hfZRF?   ]O  _`\X= fZMGa

    • &')/fZ:UjAS? • iEdTfZU>  9 KIU>Y LeP   • ^Qhg[   → fZVbg[nSRE → ,2#6&15g[nDev "5*06%6 $6+';WQhRF?4'.5' (!/CD?k$6+'4-3 CD 7@
  2. ž      ž S O ž

    ž ž ž ž ž Self Healing Photo on oemupdate.com
  3. ž     ž O ž ž ž

    ž In-Flight Renewing https://www.flickr.com/photos/usnavy/8019591466/
  4. ž      ž C ž C

    ž ž ž W E Adaptive Scale
  5. • 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
  6. Deployment ReplicaSet V1 Pod Pod Pod Deployment ReplicaSet v1 Pod

    Pod ReplicaSet V2 Pod Deployment ReplicaSet V2 Pod Pod Pod
  7. • ReplicaSet / DeploymentA,Pod8( replica# ) CPUD | %&(D (%&(#*kubernetes1.8-B)7

    <1>9 • Heapster0 !* 2C %(#*64/*/? )"(8>9 E$%( >93;F • SPOF@ ' :.G -+)"(=5 ReplicaSet Pod Pod Pod Pod Holizontal Pod Autoscaler cAdvisor cAdvisor 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
  8. • "4'*TN.9-A5)9';]PodK[ =:'$&3958#  CQ IH.9-^D[;\ .9-CQ IH" 4'*% ('$96+!8[

    • ;\.9-` - FBS_5)9'@XW>  EPod<YEGZIH .9-;\  • CA-1.0.XGAOJ"4'*kubernetes-1.8 • "4'*716'$958#P 804%9/'L\ • GCP, AWS, AzureE? • UM: Azure CA-1.1.0%29,Kubernetes-1.9.X2018/04/19 RVVMSS / acs-engineE? • See also Cluster Autoscaler on Azure
  9. Open Service Broker API + Service Catalog ")($  

    & ž Open Service Broker API : *# %!' ž Service Catalog : KubernetesOpen Service Broker API ($!'
  10. &!. 5 KubernetesBD &!. 5Kubernetes Kubernetes)AFNDEC LP.$0 OJ1DHG3 7K 

     .$ • &.4D<9; • I2%+. #: • )8? ".(-% • SDN .'+ M> • .*6@,. ")-/= •
  11. Agent Pool Agent VM Agent VM Agent VM Agent VM

    Agent VM Agent VM Agent VM Agent VM Hosted Control Plane AKS 13&7*&8
  12.     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
  13. 1#$,28 e!8*4# 7%(!8+# $#( 7%(EXA=)?H vCPU./2`I SA= \a 7%(EX 

    KY !8* / )8'J]   1#$UP:[ >Q V7,1 7%( -28"07d; KubernetesZM 7%(c_L[ TG<OBWb^@  6858'CF  !8+#"7-39 NR*8#&D6858'EXC
  14. / - 5 - 5 22 - -/  

       13&7*&8
  15. Kubernetes control pane Application architect Infrastructure architect Azure Container Instances

    (ACI) ACI Connector 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 Waste Waste Waste Waste Pod Pod Pod Pod ACI Connector for Kubernetes KubernetesACI "%  %!#$  VM ACI     13&7*&8
  16. +36) 6$".*16/4>SIJL 6) GB  +36) W;GM  H,1#&?7FTZ= 9

    @R • %6!7UA5E<APC • QY6) XV8 • 04&5*1XV8 • :D*16/4-'!14 • NOK4$26/4%1(1 (CI/CD)
  17. 6*!fb<  VT8[ `i -46*!]\: 6*!fb< https://docs.microsoft.com/ja-jp/azure/architecture/microservices/interservice-communication • b<GIK •

    6*!fb<GIBj]\)#65: 1&06$&,366 • aYAN • '1 JaYAN21".eU • AN&36! • k&05/5 ZO6*!F@[ ?S 7cMh=;>QL Wg ID :d • 6*!(6 /5XS • E6*!ZO(6 /5XS RH(6 /526%5 • 6*!f&0+$PDC • TLSPDC W9TLS_^
  18. • $A3&7+%9$A3&baFHV (4.=8A5;B  0+.?A![U`F 6<2A $A3& • ZR$A3&baFL7<A,@"L4^XIQKNOHVIQ.=A&]\ '

    9;,TWPE • PodG$/A -5>  #A/LS KNOTW_J  https://github.com/istio/istio https://github.com/linkerd/linkerd https://github.com/runconduit/conduit PodG5;:4 $!<C$/A -5>  $A3&7+%9@1$*A2)A@MYD
  19. Helm > • Kubernetes#( "-75 #+&, ;-) • Linux apt-getyumMac

    OS Homebrew  /9. • Linux DepsRPM Helm"-  Charts 1 https://helm.sh/ Helm 43<8 • ', ( Helm ): 06: +-)%,CI/CD"#', 06 • -! ( tiller ): Kubernetes' 2= #+&, ; Charts*$ ( https://github.com/kubernetes/charts
  20. 2*"6; 9Gb DSYLDS.6=4;  %0C>BQR  V`]  IT #38;

     1'6$<9Dc • ,=(8/7 %01'6$<9 • CPU126+$':=& @[XW • Kubernetes1'6$<9 • H;%) @[ CPU126 6!= a\^OK • cAdvisorkube-state-metricsZP1'6$UE • .6=4;1'6$<9 • .6F?QR a_OK • AN=- 1'6$<9 • PaaS =- 5 "=MJ
  21. :  :   https://docs.microsoft.com/en-us/azure/architecture/microservices/logging-monitoring •   

     ! PrometheusInfluxDB •   !Kibana, Grafana Kibana Grafana OMS/LogAnalytics LogStash cAdvisor Prometheus Elastic Search InflluxDB