# GKE & K8S 筆記 使用大字型簡報 serverless = 不用管 vm !? -> Docker ? pay only for usage stateless 是搭配使用的,因為 server 只在有用戶存取時存在 把大的服務拆成 service based Event driven 一個用來互動,一個用來寄 email -> 非同步的 trigger ### react to events Http Fire base ### serverless NO server to manage scale up fast scale down to zero Pay for exact usage no patches ## 適合 serverless http trigger -> cloud function(vision API[http]) cloud function 用 python, go, js 類似 DB 的 trigger ## cloud function 不能做 long service,會強制 time out server post -> firebase -> post to slack -> reply to github send notify to followers 如果要做一個 pool 的功能,就在 cloud function 到 db 之間再加一層 pool layer ### data processing streaming data, iot telemetry ### 優勢 develope only function not app ## app engine traffic splitting sersioning 程式碼用 http 近來!? ### standard 2n generation 這是用 docker 跑得,相對快很多,但語言有限 ### flexible 這是用 vm 的,其實很慢 ## 主打 scaling for statusless 可以瞬間大量 scale out ### cloudrun for GKE,提供 dockefile, build image -> 資源 由 google 提供 ## k8s 管理 container 處理 container 之間如何連線,算是叢集或是環境管理。 ### master node API Server(gRPC, RESTful) cotroller manager -> 管理狀態切換 schedulrer etcd get current state move to desired state 做 ha Scheduler -> 管理 docker 放在那 docker to vm 的界面 etcd -> key value storage ### k8s node kubelet -> communicate to master(API server) container runtime -> Docker kube-proxy -> update iptable pod 是執行 docker 的最小單位 ## GAE 是上傳程式碼 綁在 google 客製化 docker,效能更好 ## google run 連接到 google registry -> 提供 dockerfile build 出 google 版 docker build ,直接在 google run 執行。 ## CI/CD best pratice CI 是 auto build, merge, unit test -> release CD 是 deployment 價值在交付給客戶後才產生,希望 deploy 時間從 week -> day 4M build/day 0.5B test/day ### 團隊轉型 描繪價值,精準點火,持續改善 目前狀態 -> 期望狀態 > 強調:維持現狀的成本 > 改變現狀的成本 人們不會在乎改變對組織帶來的價值 -> 人們在乎改變對自己帶來什麼價值。 精準點火 範圍小,結果明確,快速產生價值 -> 用價值累積價值 從小 API 開始 測試案例轉自動測試,自動佈署 調整團隊 明確工作流程 建立正確開發習慣 -> 完整的權限及責任,每個團隊獨立的帳號,開發團隊直接維運,獨立運作的空間。 建立樣板框架 持續納入現有的服務 讓新服務一開始就做對