1.為什么要學習kubernetes?
以k8s為核心的云原生技術正在吃掉整個世界;無論是傳統企業,互聯網企業就是數字化轉型;就是把服務遷移到云原生平臺上面;kubernetes一定是未來企業架構唯一標準; 使用了kubernetes開發專案架構后,企業會實作降本增效;
輕裝上陣
一旦使用kubernetes以后,不需要關心底層哪些和專案業務沒有關系的代碼,或者是模塊;只需要關心專案業務即可,因此開發團隊只需要一個小而精悍的團隊即可;全面擁抱微服務架構
微服務架構比較難(拆分比較細),使用kubernetes技術后,只需要關心服務本身即可,不需要關心鏈路追蹤,降級,限流……無縫遷移
專案開發(開發環境),測驗(測驗環境),上線(生產環境) ---- 測驗環境,生產環境不一致導致上線出現問題難以解決; 使用kubernetes云原生技術架構后,可以做到服務無縫遷移;
彈性擴容
服務上線: 促銷活動 ---- 流量增大 ----- 壓測,預案 --- 彈性擴容
明星結婚 ---- 流量突然增大 ----- 彈性擴容
充分利用服務器計算資源
以k8s構建的云計算平臺,充分調度計算機服務器資源;充分利用服務器資源;自動化運維平臺
使用kubernetes構建自動化運維平臺(自愈,監控,擴容,伸縮……)
2.kubernetes是什么?
服務上線部署演變歷史
1、物理機服務部署模式(服務直接部署在物理機上面)
2、虛擬機部署模式(阿里云,私有云)
3、云原生模式(容器化的部署模式)
存在的問題:(使用虛擬機,容器化進行部署)
1)服務宕機后怎么辦??
2)服務宕機如何恢復??
3)服務越來越多,如何管理?
需要有一套技術來管理(編排)服務?使得我們的服務以更好的組態來在服務器上運行;
Kubernetes概述
K8s 是一個開源的 ,管理容器集群的一個技術; ---- k8s用來編排(管理)容器的技術Kubernetes發展歷史
Kubernetes是google公司開發的一個用來管理(編排)容器的一個技術; google公司在十幾年前就開始使用服務編排技術管理器內部龐大服務網路;戰略級武器: borg系統;--- 管理著龐大服務網路;
Google 公司:使用go語言參考 borg系統架構,開發了一套容器編排技術; docker公司自己開始使用kubernetes;
3.虛擬化及虛擬化基本概念及原理
- 什么是虛擬化技術?
虛擬化(英語:Virtualization)是一種資源管理技術,就是用來把物理資源(服務器,網路,硬體,CPU)進行隔離(分離)的一種技術,打破了物理資源不可分割障礙,- 虛擬化技術作用?
1)對高性能物理計算機的資源進行充分利用
2)對老舊硬體資源重組后再充分利用- 虛擬化分類
1)全虛擬化架構
在硬體上面-os,os內部可以安裝多個作業系統,達到物理資源隔離
2)OS層虛擬化架(作業系統層的虛擬化)
在os系統內部,可以復制多個os系統,達到資源隔離目的,
3)硬體層虛擬化
直接在硬體上安裝多個作業系統,達到物理資源隔離目的
注意:資源隔離實際上使用的調度程式,把這些資源調度分配給os,這個調度程式hypervisor
4.虛擬化技術之云計算平臺
- 目前你認為有幾種方式構建云計算平臺?
1)物理機構建云計算機平臺(機房建設,硬體選擇,網路建設,環境維護...)
2)虛擬化技術構建云計算平臺- OpenStack
1)開源管理專案 OpenStack是一個旨在為公共及私有云的建設與管理提供軟體的開源專案.
2)美國國家航天局 & RackSpace 開發 ,開源
作用: 提供云平臺的基礎設施服務,讓云平臺管理,架構變得更簡單- KVM(Kernel-based Virtual Machine)基于linux內核的虛擬機
KVM 虛擬機技術,已經融入到linux內核- VMWare (Virtual Machine ware)是一個“虛擬PC”虛擬機管理管理軟體
5.容器技術及容器技識訓本概念及原理
- 有了虛擬化技術,為什么還需要使用容器化技術構建云計算平臺?
KVM虛擬化在同等CPU,記憶體,IO,網路,運行相同服務,占用資源非常大,
容器化技術 就是非常輕量級資源隔離技術,容器化鏡像小道幾KB,達到幾百M,隔離性沒有虛擬機徹底,- 容器化技術發展
1)1979年的UNIX Chroot ,根據目錄來進行隔離,
2)FreeBSD Jails ,給目錄分配一個網路地址,可以對目錄進行隔離,
3)Solaris Zone ,已經實作了隔離,每一個空間都有獨立存盤,網路,防火墻.
4)LXC指代的是Linux Containers,通過Cgroups以及Linux Namespaces實作資源隔離,
![]()
5)Docker利用LXC實作了一套容器化技術完整一套方案,容器化就是利用Cgroups以及Linux Namespaces實作資源隔離,
總結: 容器就是運行在作業系統中的一個行程,利用Cgroups+namepspace實作行程間隔離,- docker原理
1)docker底層利用 cgroup + nampspace 實作資源隔離
2)docker創建procces容器行程,必須依賴磁盤鏡像,(原始容器都是依賴centos鏡像)
3)OpenStack&KVM&docker
openstack 主要用于云計算平臺管理,同時提供一些基礎設施一些管理服務,
KVM 虛擬化技術 --- 可以利用虛擬化技術構建云計算平臺
docker 和 openstack 可以形成優勢互補,
docker是一個非常輕量級的容器技術,使用容器技術構建云平臺,充分利用服務資源,性能非常高
OpenStack可以管理基礎設定服務,基礎設施服務構建交給openstack
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/283218.html
標籤:其他



















