---
# System prepended metadata

title: Kubernetes
tags: [K8S]

---

---
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 最精華的部分取出來，使得開發者能夠更簡單、直接應用
