当前位置:网站首页>傲視Kubernetes(一):Kubernetes簡介
傲視Kubernetes(一):Kubernetes簡介
2020-11-07 16:50:00 【itread01】
前言
從上個月,因工作需要外加興趣所知,博主開始學習Kubernetes,時至今日可以說是剛剛入門。獨自學不如一起學,後面博主會一邊學著一邊將學習內容以博文的形式呈現出來,希望能跟各位園友有問題一起討論,在不斷的交流中互補有無,一起學習進步。本系列取名【傲視Kubernetes】,要的就是這股氣勢,力爭把它學好學精。閒話少敘,下面開始傲視Kubernetes之旅。
目標:
1、Kubernetes是什麼?為什麼要用Kubernetes?
2、Kubernetes和Docker的關係
3、Kubernetes的架構
正文
1、Kubernetes是什麼?為什麼要用Kubernetes?
相信幹過開發的園友們都能感受到近年來微服務化的流行,不管是求職面試時,還是公眾號朋友圈各種打廣告的培訓班,都會提到微服務的相關東西。而隨著越來越多單體專案的微服務化,以及大專案的微服務拆分,需要有一個應用可以針對數量眾多的微服務進行自動排程、配置、監管和故障處理,而這就是Kubernetes的定位。
且看一下官網對Kubernetes的定義:Kubernetes is an open source container orchestration engine for automating deployment, scaling, and management of containerized applications.
可以看出來,它是一個開源的容器編排引擎,這個引擎可以自動部署、伸縮和管理容器化應用。大體上跟咱上面總結的大差不差。
說完了Kubernetes是什麼,再來看它的優勢是什麼?為什麼要用它呢?
1)、簡化應用程式部署:即你不需要關注你的應用部署在了哪臺機器上,Kubernetes會自動給你準備好需要的計算資源和儲存資源。並且只要叢集搭建的方式一樣,它也可以保證開發測試生產環境的一致性。
2)、更好的利用硬體:Kubernetes在給應用分配執行節點時,會自動匹配最優的節點,提高資源利用率。
3)、健康檢查和自修復:Kubernetes會監控你應用執行的節點的狀態,當它出現故障時,會重新排程其他節點補上,無需人工參與。
4)、自動擴容:可以讓Kubernetes根據應用程式的負載情況自動做出反應,比如增加節點或減少節點。
2、Kubernetes和Docker的關係
說它們關係之前,首先要提一下Docker是什麼。
Docker是一個打包、分發和執行應用程式的容器平臺。容器相當於一種輕量級的虛擬機器。虛擬機器是在宿主機的基礎上又重新建立了一套自己的作業系統,虛擬機器中的程序執行在這個虛擬出來的作業系統上。而容器則作為一個程序仍然執行在宿主機的作業系統上,所以相比虛擬機器容器不需要額外創建出一套作業系統,節省了資源,更輕量級。容器的隔離機制,是藉助於Linux名稱空間和cgroup來實現的。
再來看Docker和Kubernetes的關係。從上面第一部分Kubernetes的定義中我們知道,Kubernetes是一個容器編排引擎,可以管理容器化應用。此處的容器化技術就是指Docker,即Kubernetes管理Docker容器化出來的容器。當然隨著容器化技術的發展,除了Docker之外,Kubernetes還支援其他的幾種容器化技術,比如containered、CRI-O等。
3、Kubernetes的架構
Kubernetes架構可以分為以下兩部分:控制面板和工作節點。具體組成大體如下圖所示,此處只需有個大體的印象即可,後面會一起更詳細的學習。
apiserver:是Kubernetes叢集操作的入口,外界操作指令先到apiserver,然後它再把指令下發到具體的節點/服務
etcd:是Kubernetes叢集的分散式配置資料中心,所有叢集的配置都存在它那裡
Scheduler:Kubernetes排程器,負責pod的分配
Controller Manager:執行叢集級別的功能,比如跟蹤工作節點、處理失敗節點等
kubelet:與apiserver通訊,並管理它所在節點的容器
kube-proxy:負責節點的網路通訊
容器執行時(container runtime):指docker等容器化
版权声明
本文为[itread01]所创,转载请带上原文链接,感谢
https://www.itread01.com/content/1604730063.html
边栏推荐
- August 18, 2020: introduce Mr process?
- 快進來!花幾分鐘看一下 ReentrantReadWriteLock 的原理!
- List to map (split the list according to the key, and the value of the same key is a list)
- 失眠一个整晚上
- Mobile pixel adaptation scheme
- Composition of MRAM cache
- Python 3 operates the Jenkins module API
- confd
- 你真的会使用搜索引擎吗?
- How to write plug-in code of small program mall system? How to use code to check whether the plug-in is successfully added?
猜你喜欢

Practice of Xiaoxiong school development board: real equipment access of smart street lamp sandbox experiment

How to write plug-in code of small program mall system? How to use code to check whether the plug-in is successfully added?

2018中国云厂商TOP5:阿里云、腾讯云、AWS、电信、联通 ...

8.Swarm创建维护和水平扩展Service

Do you really know how to use search engines?

About Devops seven misunderstandings, 99% of people have been hit!

.NETCore3.1+Vue.js打造的低代码工作流引擎

Stm32f030f4p6 compatible with smart micro mm32f031f4p6

pc端与移动端适配解决方案之rem

The advantages and functions of psychological counseling app
随机推荐
8. Swarm creates maintenance and horizontal extension service
Web API interface design: swaggerui document / unified response format / unified exception handling / unified authority verification
2020-09-04: do you understand the function call convention?
Reserved battery interface, built-in charge and discharge circuit and electricity meter, quickly help easily handle hand-held applications
如何创建交互式内核密度图表
The use of Xunwei imx6 development board device tree kernel menuconfig
yum [Errno 256] No more mirrors to try 解决方法
idea 激活到 2089 失效
ImageMagick - 添加水印
About Devops seven misunderstandings, 99% of people have been hit!
Composition of MRAM cache
Git submission specification
心理咨询app开发所具备的优点与功能
1万辆!理想汽车召回全部缺陷车:已发生事故97起,亏损将扩大
一种超参数优化技术-Hyperopt
11.Service更新
k-vim安装及The ycmd server SHUT DOWN (restart with ':YcmRestartServer')这种错误的解决方法
移动端像素适配方案
Design of NAND flash interface control
The first choice for lightweight GPU applications is the NVIDIA vgpu instance launched by Jingdong Zhilian cloud