当前位置:网站首页>傲視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
边栏推荐
- 7.Swarm搭建集群
- Bluetooth broadcast chip for Shanghai giant micro
- August 30, 2020: naked write algorithm: the nearest common ancestor of two nodes in a binary tree.
- 10000! Ideal car recalls all defective cars: 97 accidents have occurred and losses will be expanded
- 20个XR项目路演,近20个资本机构出席!诚邀您参加2020 Qualcomm XR生态合作伙伴大会
- Application of UHF RFID medical blood management system
- Application layer software development Godfather teaches you how to refactor, senior programmers must professional skills
- Win7 how to quickly type CMD and get to the required directory
- VARCHART XGantt入门教程
- Solution to st link USB communication error in stlink Download
猜你喜欢
Ora-02292: complete constraint violation (midbjdev2.sys_ C0020757) - subrecord found
20个XR项目路演,近20个资本机构出席!诚邀您参加2020 Qualcomm XR生态合作伙伴大会
Mate 40系列发布 搭载华为运动健康服务带来健康数字生活
三步轻松理解Kerberos协议
Reserved battery interface, built-in charge and discharge circuit and electricity meter, quickly help easily handle hand-held applications
如何利用PopupWindow实现弹出菜单并解决焦点获取以及与软键盘冲突问题
失眠一个整晚上
gitlab 持续集成开发环境之CI/CD
vue3 新特性
2020-11-06:go中,谈一下调度器。
随机推荐
嘉宾专访|2020 PostgreSQL亚洲大会中文分论坛:岳彩波
In 2020, how can wechat seal numbers be quickly lifted?
插件Bilibili新版0.5.5
大佬们如何在nginx镜像里面增加模块?
谈了多年的数字化转型,为什么还有很多企业依然“口头管理”
图像处理工具包ImagXpress使用教程,如何查看事件
Nonvolatile MRAM memory used in all levels of cache
1万辆!理想汽车召回全部缺陷车:已发生事故97起,亏损将扩大
Practice of Xiaoxiong school development board: real equipment access of smart street lamp sandbox experiment
Git SSH bad permissions
Application of UHF RFID medical blood management system
cubemx做stm32 USB开发
Test the necessary skill points of siege lion! This article takes you to interpret the testing technology under Devops
【原創】ARM平臺記憶體和cache對xenomai實時性的影響
Jenkins pipline stage setting timeout
August 14, 2020: what are the execution engines for data tasks?
git 提交规范
ImageMagick - add watermark
Blazor 準備好為企業服務了嗎?
Web API interface design: swaggerui document / unified response format / unified exception handling / unified authority verification