> ### `Kubernetes` 特點
* `Kubernetes`能提供一個以“**容器為中心的基礎架構**”
* 可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)
* 可擴展: 模塊化, 插件化, 可掛載, 可組合
* 自動化: 自動部署,自動重啟,自動復制,自動伸縮/擴展
> ### `架構`

* `Kubernetes`核心組件
* **etcd**保存了整個集群的狀態;
* **apiserver**提供了資源操作的唯一入口,并提供認證、授權、訪問控制、API注冊和發現等機制;
* **controller manager**負責維護集群的狀態,比如故障檢測、自動擴展、滾動更新等;
* **scheduler**負責資源的調度,按照預定的調度策略將Pod調度到相應的機器上;
* **kubelet**負責維護容器的生命周期,同時也負責Volume(CVI)和網絡(CNI)的管理;
* **Container runtime**負責鏡像管理以及Pod和容器的真正運行(CRI);
* **kube-proxy**負責為**Service**提供**cluster**內部的服務發現和負載均衡;
除了核心組件,還有一些推薦的Add-ons:
* kube-dns負責為整個集群提供DNS服務
* Ingress Controller為服務提供外網入口
* Heapster提供資源監控
* Dashboard提供GUI
* Federation提供跨可用區的集群
* Fluentd-elasticsearch提供集群日志采集、存儲與查詢
* `Master`節點主要還是負責管理和控制
* `Master`節點包括`API Server`、`Scheduler`、`Controller manager`、`etcd`
* `API Server`是整個系統的對外接口,供客戶端和其它組件調用,相當于“營業廳”
* `Scheduler`負責對集群內部的資源進行調度,相當于“調度室”
* `Controller manager`負責管理控制器,相當于“大總管”
* `etcd`,k8s系統的資源(數據)存儲的地方,是整個k8s的基石,一個高可用強一致性的服務發現存儲倉庫,etcd本身非常好的提供了數據的持久化存儲和服務發現的支持。

* `Node`節點是工作負載節點
* `Node`節點包括`Docker`、`kubelet`、`kube-proxy`、`Fluentd`、`kube-dns`、`pod`
* `Pod`是`Kubernetes`最基本的操作單元。一個`Pod`代表著集群中運行的一個進程,它內部封裝了一個或多個緊密相關的容器。
* `Kubelet`,主要負責監視指派到它所在`Node`上的`Pod`,包括創建、修改、監控、刪除等。
* `Kube-proxy`,主要負責為`Pod`對象提供代理。
* `Fluentd`,主要負責日志收集、存儲與查詢。

> ### 使用
* `Lables`,`Selectors`
* `Volume`
* `Nodes`
* `Pod`
* `Deployment`
* `Service`
* `Ingress`
<br/>
<br/>
***
參考:
[Kubernetes 架構](http://docs.kubernetes.org.cn/251.html)
[我所理解的K8S](https://juejin.im/entry/5ba0ae026fb9a05cfb3da88f)
- asD
- Java
- Java基礎
- Java編譯器
- 反射
- collection
- IO
- JDK
- HashMap
- ConcurrentHashMap
- LinkedHashMap
- TreeMap
- 阻塞隊列
- java語法
- String.format()
- JVM
- JVM內存、對象、類
- JVM GC
- JVM監控
- 多線程
- 基礎概念
- volatile
- synchronized
- wait_notify
- join
- lock
- ThreadLocal
- AQS
- 線程池
- Spring
- IOC
- 特性介紹
- getBean()
- creatBean()
- createBeanInstance()
- populateBean()
- AOP
- 基本概念
- Spring處理請求的過程
- 注解
- 微服務
- 服務注冊與發現
- etcd
- zk
- 大數據
- Java_spark
- 基礎知識
- Thrift
- hdfs
- 計算機網絡
- OSI七層模型
- HTTP
- SSL
- 數據庫
- Redis
- mysql
- mybatis
- sql
- 容器
- docker
- k8s
- nginx
- tomcat
- 數據結構/算法
- 排序算法
- 快排
- 插入排序
- 歸并排序
- 堆排序
- 計算時間復雜度
- leetcode
- LRU緩存
- B/B+ 樹
- 跳躍表
- 設計模式
- 單例模式
- 裝飾者模式
- 工廠模式
- 運維
- git
- 前端
- thymeleaf
- 其他
- 代碼規范
- work_project
- Interview