--- lang: zh-tw title: Kubernetes tags: K8s --- <!-- Kubernetes --> <!-- .slide: data-background="https://i.imgur.com/QW95HcU.png" data-background-size="1000px" data-background-color="#ffffff" --> --- # Agenda * Overview * [Cluster Architecture](/fMa-JfHGRPO47Zfkeuw60g?view) * [Workloads](/GbRo9R0fRR-b5_YLIXJyaA?view) * [Service, Load Balancing, and Networking](/mdKvSt7TTOKNq34qt0y47A?view) * [Storage](/kKwabz6TTwmuAK10BEXLAw?view) * [Configuration](/BL6MI9M-Rh2G6Th24-mkIg?view) --- ## Overview ### What is Kubernetes? Kubernetes 是一個協助我們自動化部署、擴容以及管理容器化應用程式的系統 1. Kubernetes源自於古希臘,意思是「舵手」或「船長」,簡稱K8s 2. 是Google 在2014 年開源的項目 3. 全自動化的資源管理與調度容器執行、配置容器要在Cluster內的哪些Node執行 4. 同時部署多個容器到多台機器上(Deployment) 5. 服務的乘載量有變化時,可以對容器做自動擴展(Scaling) 6. 管理多個容器的狀態,自動偵測並重啟故障的容器(Management) ### Kubernetes 可以做到 + 同時部署多個容器到一台或多台機器 + 管理各容器狀態,如果容器異常,Kubernetes會偵測並重啟 + 能將一台機器上的所有容器轉移到另一台機器上 + 提供機器的高度擴張性,Kubernetes Cluster可以從一台機器,延展到多台機器共同運行 ### Kubnernetes 的優點 + 可以跑在任何地方 Can run anywhere + 高度模組化 High modular + 活躍的社群 Open source & active community + Google的背書 Backed by Google 1. 不論是私有雲、公有雲(像是 AWS, Google Cloud Platform )、或是混合雲 2. 每個服務都被切成一個 container ,不論是要做修改、擴張、甚至將服務遷移到另外一台機器,都可以快速被部署 3. Kubernetes 是 開源的 ,受到社群的關注度也非常高 4. 最初版的 Kubernetes 是由 Google 內部 Borg team 的成員撰寫且現在仍在持續維護。Google 使用他們自身的系統 Borg 管理容器化應用長達十年多。Kubernetes 的目的即是將 Borg 最精華的部分取出來,使得開發者能夠更簡單、直接應用