Kubernetes是什么?
互聯(lián)網(wǎng)應(yīng)用部署經(jīng)歷了傳統(tǒng)部署時(shí)代、虛擬化部署時(shí)代、容器化部署時(shí)代三個(gè)階段,容器化部署給應(yīng)用開發(fā)部署、管理、運(yùn)維帶來了很多好處。kubernetes不是一個(gè)Paas系統(tǒng),但它提供了一些常見于 PaaS 產(chǎn)品的普遍適用的功能,是一個(gè)可移植、可擴(kuò)展的開源平臺(tái),用于管理容器化工作負(fù)載和服務(wù),有助于聲明式配置和自動(dòng)化。它擁有龐大且快速發(fā)展的生態(tài)系統(tǒng)。Kubernetes 適用的服務(wù)、支持和工具廣泛。
特點(diǎn)
- Kubernetes實(shí)現(xiàn)了etcd注冊中心可以實(shí)現(xiàn)服務(wù)的注冊與發(fā)現(xiàn),可以使用 DNS 名稱或使用自己的 IP 地址暴露容器,分配網(wǎng)絡(luò)流量,實(shí)現(xiàn)負(fù)責(zé)均衡,保證系統(tǒng)穩(wěn)定。
- Kubernetes 允許開發(fā)者自動(dòng)掛載自己選擇的存儲(chǔ)系統(tǒng),例如本地存儲(chǔ)、公共云提供商等。
- 開發(fā)者可以使用 Kubernetes來管理已部署容器的狀態(tài),可以自由變更容器狀態(tài)。例如,開發(fā)者可以設(shè)置Kubernetes自動(dòng) 為系統(tǒng)的部署創(chuàng)建新容器、刪除現(xiàn)有容器并將其所有資源用于新容器。
- 設(shè)定Kubernetes 每個(gè)容器需要多少 CPU 和內(nèi)存 (RAM),Kubernetes可以自動(dòng)講容器安裝到指定的節(jié)點(diǎn)
- Kubernetes 可以重新啟動(dòng)失敗的容器、替換容器、殺死不響應(yīng)用戶定義的健康檢查的容器,并且在服務(wù)準(zhǔn)備就緒之前不會(huì)通知給客戶端。
- Kubernetes 允許開發(fā)者存儲(chǔ)和管理敏感信息,例如密碼、OAuth 令牌和 SSH 密鑰。開發(fā)者可以部署和更新機(jī)密和應(yīng)用程序配置,而無需重新構(gòu)建容器映像,也無需在堆棧配置中公開敏感信息。
service mesh是什么?
服務(wù)網(wǎng)格是一個(gè)基礎(chǔ)設(shè)施層應(yīng)用,主要應(yīng)用在分布式微服務(wù)系統(tǒng)中,隨著分布式服務(wù)的部署的規(guī)模和復(fù)雜性的增長,系統(tǒng)的維護(hù)和管理會(huì)變得困難,service mesh的功能和kubernetes有一些重合,比如服務(wù)注冊發(fā)現(xiàn)、負(fù)載平衡、故障恢復(fù)、度量和監(jiān)控等,服務(wù)網(wǎng)格還能實(shí)現(xiàn)一些更復(fù)雜的功能比如A/B 測試、金絲雀部署、速率限制、訪問控制、加密和端到端身份驗(yàn)證;目前主要的服務(wù)網(wǎng)格實(shí)現(xiàn)有:Linkerd (v2)、Istio 和 Consul Connect。
特點(diǎn)
- 使用 加密、強(qiáng)大的基于身份的身份驗(yàn)證和授權(quán)來保護(hù)集群中的服務(wù)到服務(wù)通信
HTTP、gRPC、WebSocket 和 TCP 流量的自動(dòng)負(fù)載平衡 - 通過豐富的路由規(guī)則、重試、故障轉(zhuǎn)移和故障注入對(duì)流量行為進(jìn)行細(xì)粒度控制
- 支持訪問控制、速率限制和配額的可插拔策略層和配置 API
- 支持集群內(nèi)所有流量的自動(dòng)指標(biāo)、日志和跟蹤采集,包括集群入口和出口
kubernetes和service關(guān)系
使用 Service Mesh 并不是說與 Kubernetes 決裂,而是水到渠成的事情。Kubernetes 的本質(zhì)是通過聲明式配置對(duì)應(yīng)用進(jìn)行生命周期管理,而 Service Mesh 的本質(zhì)是提供應(yīng)用間的流量和安全性管理以及可觀察性。如果說 Kubernetes 管理的對(duì)象是 Pod,那么 Service Mesh 中管理的對(duì)象就是一個(gè)個(gè) Service,Kubernetes 為微服務(wù)提供了可擴(kuò)展、高彈性的部署和管理平臺(tái),Service Mesh 的基礎(chǔ)是透明代理,通過 sidecar proxy 攔截到微服務(wù)間流量后再通過控制平面配置管理微服務(wù)的行為;Service Mesh 將流量管理從 Kubernetes 中解耦,Service Mesh 內(nèi)部的流量無需 kube-proxy 組件的支持,通過為更接近微服務(wù)應(yīng)用層的抽象,管理服務(wù)間的流量、安全性和可觀察性。
作業(yè)感受
1、通過本次作業(yè)使自己重新認(rèn)識(shí)了使用google的重要性。
2、加深了自己對(duì)K8s和service mesh理解。
3、提高了自己對(duì)搜索關(guān)鍵詞的重要性認(rèn)識(shí)。
4、進(jìn)一步讓自己意識(shí)到學(xué)好英語的重要性。