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

LoK101.pdf

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Jerry Jerry
December 11, 2018

 LoK101.pdf

Avatar for Jerry

Jerry

December 11, 2018
Tweet

More Decks by Jerry

Other Decks in Technology

Transcript

  1. Agenda • 簡單認識 Kubernetes / Docker • 介紹 Kubernetes 各項元件

    • 實際部署⼀一個 Laravel Project 到 GKE 上
  2. What is Kubernetes • 容器的全⾃自動管理理/調度平台,誕⽣生⾃自 Google Borg • 不限制 application

    類型,只要能容器化的都吃 • 各種抽象化的資源類型 • web/database • task runner • auto scaler • Ingress..
  3. Docker Registry • 維護⽅方式跟 Github 有 87% 像,但是放 Docker image

    • Dockerhub -> 由 Docker 官⽅方維護,是⽬目前最⼤大的 public registry • Private registry: • VMware Harbor • Gitlab Registry • Cloud: AWS/GCP/Azure…
  4. Kubernetes Nodes • Node • Node • 負責 Resource 的執⾏行行

    • 監控 Resource 的健康狀狀態 • Master Node • 管理理與監控 Node • 負責調度所有的 Resource • 儲存整個 Cluster 的運作狀狀態 • 架設⽅方式 • ⾃自架:minikube / kubeadm / Rancher 2.x (⼈人⽣生短短幾個秋...) • 直接⽤用 Cloud: AWS/ GCP/ Azure/ DigitalOcean…
  5. • ⼀一組資源的集合 • 隔離不同 namespace 之間的資源(persistent volume 除外) • 預設有

    kube-system/ kube-public/ default https://www.mundodocker.com.br/wp-content/uploads/2017/06/namespaces.png
  6. Pod • Kubernetes 中的最⼩小執⾏行行單位 • ⼀一個完整的 application 部署封裝,可能有⼀一個以上的 container •

    共享儲存空間/網路路 https://i0.wp.com/foxutech.com/wp-content/uploads/2018/02/Kubernetes-Pod.jpg
  7. Service • ⽤用來來存取 Pod 的資源 • 可透過 Kubernetes 內部的 DNS

    來來對應 • 各種 Service Type: • ClusterIP • NodePort • LoadBalancer
  8. Ingress • 類似 Virtual Host 的概念念 • 可以⽤用 URL 來來

    proxy 到不同的 service https://cdn-images-1.medium.com/max/2000/1*KIVa4hUVZxg-8Ncabo8pdg.png
  9. Laravel requirements • Nginx/PHP-FPM • Database (MySQL) • Cache/Session store

    (Redis) • Storage (S3/GCS) • Log (ELK) • Exception handler (Sentry)