Anthos Config Management 產(chǎn)品設(shè)計(jì)分析,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
目前成都創(chuàng)新互聯(lián)公司已為上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站運(yùn)營、企業(yè)網(wǎng)站設(shè)計(jì)、墨玉網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
大家可以看Arctiq公司搞的修改node數(shù)量Demo:https://www.arctiq.ca/our-blog/2019/4/9/gke-on-prem-and-anthos-config-management/
簡(jiǎn)單說,當(dāng)你修改某個(gè)git管理下的yaml配置文件,里面描述了某個(gè)GKE私有集群某個(gè)cluster的node數(shù)量,然后Anthos Config Management會(huì)幫你自動(dòng)的發(fā)命令并讓節(jié)點(diǎn)數(shù)量變成你想要的那個(gè)
是google發(fā)布的混合云多云平臺(tái)
GKE:Anthos 的命令和控制核心。用戶通過 GKE 的控制平面來對(duì)分散在 Google 云、私有數(shù)據(jù)中心一級(jí)其它云平臺(tái)上的基礎(chǔ)設(shè)施進(jìn)行管理。
GKE On-Prem:Google 推出了一個(gè)基于 Kubernetes 的和 GKE 一致的軟件平臺(tái)。用戶能夠在任何的兼容硬件上部署這一產(chǎn)品,而 Google 將會(huì)對(duì)其進(jìn)行管理。從升級(jí) Kubernetes 版本到應(yīng)用最新補(bǔ)丁,Google 都視其為 GKE 的邏輯擴(kuò)展。尤其需要注意的是 GKE On-Prem 運(yùn)行在 VMWare vSphere 6.5 的虛擬化基礎(chǔ)上,Hyper-V 和 KVM 等其它虛擬化技術(shù)的支持還在開發(fā)之中。
Istio:這一技術(shù)讓跨平臺(tái)的聯(lián)邦網(wǎng)絡(luò)管理成為可能。Anthos 需要為部署在不同數(shù)據(jù)中心、GCP 以及其它云上的多種應(yīng)用程序的組件建立服務(wù)網(wǎng)格,Istio 自然是首選。它會(huì)和 VMWare NSX、Cisco ACI 以及 Google 自己的 Andromeda 等 SDN 進(jìn)行無縫集成。已經(jīng)在網(wǎng)絡(luò)設(shè)施上(例如 F5) 進(jìn)行投資的客戶,可以將 Istio 和負(fù)載均衡及防火墻集成起來。
Velostrata:Google 在 2018 年收購了這一云遷移技術(shù),來增強(qiáng) Kubernetes 的競(jìng)爭(zhēng)力。Velostrata 的主要功能——在 GCE 實(shí)例中復(fù)制物理機(jī)/虛擬機(jī),并把現(xiàn)有虛擬機(jī)轉(zhuǎn)換為 Kubernetes 應(yīng)用(Pod)。這是業(yè)界首個(gè)物理機(jī)到 Kubernetes 的遷移工具,由 Google 提供。這一技術(shù)以 Anthos Migrate 的面目出現(xiàn),目前是 Beta 階段。
Anthos 配置管理:Kubernetes 是一個(gè)可擴(kuò)展的策略驅(qū)動(dòng)的平臺(tái)。Anthos 的客戶必須面對(duì)運(yùn)行在不同環(huán)境中的多個(gè) Kubernetes,因此 Google 嘗試?yán)?Anthos 來簡(jiǎn)化配置管理工作。從發(fā)布工件、配置項(xiàng)目、網(wǎng)絡(luò)策略、密文和密碼等類型的配置,Anthos 配置管理都能夠進(jìn)行管理并將配置應(yīng)用到一或多個(gè)集群之中。
Stackdriver:Stackdriver 為 Anthos 基礎(chǔ)設(shè)施和應(yīng)用提供了可觀察性的支持。客戶能夠使用這一組件跟蹤運(yùn)行在 Anthos集群狀態(tài),以及部署在各個(gè)托管集群上的應(yīng)用的健康情況。該組件負(fù)責(zé)集中地提供監(jiān)控、日志、跟蹤以及觀察的支持。
GCP Cloud Interconnect:在企業(yè)數(shù)據(jù)中心以及云基礎(chǔ)設(shè)施之間的高速互聯(lián),是混合云平臺(tái)的必要條件。Cloud Interconnect 能夠在數(shù)據(jù)中心和云間交付高達(dá) 100Gbps 的高速網(wǎng)絡(luò)。客戶也可以使用 Equinix、NTT Communications、Softbanck 等電信廠商的網(wǎng)絡(luò)將其數(shù)據(jù)中心延伸到 GCP
GCP Marketplace:Google 為能夠在 Kubernetes 上運(yùn)行的(來自 ISV 和開源的)軟件列表。用戶能夠在 Anthos 中一鍵部署 Cassandra 數(shù)據(jù)庫或者 GitLab 等軟件。最終 Google 可能還會(huì)為內(nèi)部 IT 提供一個(gè)私有的 Catalog 服務(wù)。
大家可以看到,在這8大組件里面,大概只有4和5是最近推出的,其他的早就投入生產(chǎn)并有不少企業(yè)在用了,這些組件到底是什么關(guān)系?我們把這些組件放到一張圖上,就排著這個(gè)樣子(原諒我忽略了可憐的StackDriver和Marktplace,我假定讀者對(duì)這2個(gè)東西很熟悉)
也就是說,Anthos Config Management是一瓶膠水,把混合云里面應(yīng)用的配置工作給自動(dòng)化了。
這個(gè)詞過于寬泛,所以在這里提幾個(gè)常見的k8s用戶場(chǎng)景
你是否碰到過,一個(gè)典型的Web應(yīng)用,在測(cè)試環(huán)境有一份配置文件(我們假定這個(gè)配置文件是一個(gè)k8s的deployment的yaml),在準(zhǔn)生產(chǎn)環(huán)境有一份配置文件,在公有云有一份配置文件,在私有云也有一份配置文件?每次你都復(fù)制黏貼并修改一些參數(shù),并指望這些環(huán)境能夠混合起來給終端用戶提供合理的服務(wù),但手工修改往往會(huì)造成差錯(cuò)
你是否碰到過,配置文件存在多個(gè)k8s集群里面,每次都要手忙腳亂的用kubectl挨個(gè)修改,但沒法看到這些配置的歷史版本?你可以回滾應(yīng)用的docker鏡像,但你沒法回滾配置。如果你是一個(gè)資深k8s玩家,你當(dāng)然知道在etcd的某個(gè)角落里面存有所有yaml的歷史版本,通過某種黑魔法般的命令行操作你還是可以找回歷史的,但肯定沒有g(shù)it那么爽快
是的,Anthos Config Management就是用來解決這些問題的,并且,是按照Infrasturce as code的理念來做這個(gè)事情的
眾所周知,在傳統(tǒng)的Unix/Linux環(huán)境下,在/etc下有不少配置文件,大部分苦逼的運(yùn)維工程師每天的工作就是修改這些文件,并且通過重啟進(jìn)程或者給進(jìn)程發(fā)信號(hào)讓這些配置生效,并且要修改上百臺(tái)機(jī)器;過去幾年有了ansible或者salt這類批處理工具,把登陸幾百臺(tái)機(jī)器的工作量給省了;而k8s除了解決集群的批量問題,還引入了一個(gè)新的理念,就是聲明式配置,運(yùn)維工程師不需要苦逼的重啟進(jìn)程,這些“進(jìn)程”會(huì)自動(dòng)按照你的配置達(dá)到期望的狀態(tài)(當(dāng)然,由于這是在一個(gè)集群內(nèi),所以需要一定的時(shí)間),也就是說
聲明式配置 = 面向終態(tài)
所以,你寫的配置和傳統(tǒng)的配置文件,那種靜態(tài)的文本配置已經(jīng)完全不一樣了,最后這些配置會(huì)變成生產(chǎn)系統(tǒng)的某個(gè)狀態(tài),并且,如果使用了合理的工具鏈,這一系列工作都是自動(dòng)化的。
那么現(xiàn)在這些“配置文件”還是配置嗎?運(yùn)維工程師的工作流程就變成了
git pull
read, think, modify
git push // all things done automaticlly
是的,你會(huì)發(fā)現(xiàn)運(yùn)維工程師的工作流程就和開發(fā)工程師一樣了!
這些配置,無論是什么語言寫的,本質(zhì)上變成了源代碼,只是沒有通過編譯工具鏈而是通過運(yùn)維工具鏈達(dá)到了魯棒性,這樣就把傳統(tǒng)運(yùn)維的重復(fù)勞動(dòng)工作從大部分人手中拿出來交給少部分的運(yùn)維工具鏈專家去維護(hù)。
關(guān)于這點(diǎn),Google并沒有放出這個(gè)東西的源代碼,但是有一張圖
是的,這張圖在組件上畫的非常清晰,Anthos Config Mangement,在運(yùn)行形態(tài)上是一個(gè)k8s的operator,部署在多個(gè)集群里面,并且應(yīng)該可以從同一個(gè)遠(yuǎn)程git repo里面讀取配置,從這個(gè)demo庫里面,我們可以看到這個(gè)operator讀取git庫的配置
apiVersion: addons.sigs.k8s.io/v1alpha1 kind: ConfigManagement metadata: name: config-management spec: git: syncRepo: git@github.com:GoogleCloudPlatform/csp-config-management.git syncBranch: "0.1.0" syncWait: 5 secretType: ssh policyDir: foo-corp
這里幾個(gè)參數(shù)清晰的標(biāo)明,Anthos Config Mangement會(huì)去每5秒鐘讀取一次git repo的0.1.0分支,并按照這個(gè)分支上的配置來進(jìn)行后續(xù)的操作。那么,這些操作具體能干啥,怎么干呢?官方文檔實(shí)在是太可憐了,就幾句話就想打發(fā)我們,不過,從Demo里面我們可以試圖尋找這些功能和配置的對(duì)應(yīng)關(guān)系。讀者可以把demo庫 git clone下來,比對(duì)著看。
官方的功能描述是:
從單一代碼庫衍生的真實(shí),控制和管理
允許使用代碼審查,驗(yàn)證和回滾工作流程。
避免陰影操作,由于手動(dòng)更改導(dǎo)致的Kubernetes集群之間不同步。
允許使用CI / CD管道進(jìn)行自動(dòng)化測(cè)試和部署。
跨所有集群的一步式部署
Anthos Config Management將單個(gè)Git提交轉(zhuǎn)換為跨所有集群的多個(gè)kubectl命令。
只需還原Git中的更改即可回滾。 然后,大規(guī)模自動(dòng)部署恢復(fù)。
豐富的繼承模型,簡(jiǎn)化修改
使用命名空間,您可以為所有集群,某些集群,某些命名空間甚至自定義資源創(chuàng)建配置。
使用命名空間繼承,您可以創(chuàng)建一個(gè)分層的命名空間模型,該模型允許跨repo文件夾結(jié)構(gòu)進(jìn)行配置繼承。
這是demo的樹形目錄結(jié)構(gòu)
. ├── cluster │ ├── namespace-reader-clusterrole.yaml │ ├── namespace-reader-clusterrolebinding.yaml │ ├── pod-creator-clusterrole.yaml │ └── pod-security-policy.yaml ├── namespaces │ ├── audit │ │ └── namespace.yaml │ ├── online │ │ └── shipping-app-backend │ │ ├── pod-creator-rolebinding.yaml │ │ ├── quota.yaml │ │ ├── shipping-dev │ │ │ ├── job-creator-role.yaml │ │ │ ├── job-creator-rolebinding.yaml │ │ │ ├── namespace.yaml │ │ │ └── quota.yaml │ │ ├── shipping-prod │ │ │ └── namespace.yaml │ │ └── shipping-staging │ │ └── namespace.yaml │ ├── sre-rolebinding.yaml │ ├── sre-supported-selector.yaml │ └── viewers-rolebinding.yaml └── system ├── config-management.yaml └── resourcequota-hierarchy.yaml
我相信應(yīng)該是anthos的工作流應(yīng)該是讀取cluster里面的一些安全配置,并且在所有集群上都創(chuàng)建這里的namespace目錄所描述的命名空間。
在一些demo視頻里面我們還看到了clusterregistry目錄,應(yīng)該是用來修改集群的一些屬性,達(dá)到動(dòng)態(tài)修改節(jié)點(diǎn)數(shù)量的目的。
但如何讓一個(gè)應(yīng)用在多個(gè)集群的多個(gè)namespace流轉(zhuǎn),當(dāng)前還沒能看到痕跡,從namespace的嵌套目錄來看,應(yīng)用WorkLoad會(huì)經(jīng)過這些目錄的層級(jí),然后動(dòng)態(tài)的修改自己的一些配置。這些細(xì)節(jié)還有待研究。
Anthos是在多k8s集群的場(chǎng)景下,想到了這兩點(diǎn)
既然k8s把所有東西的狀態(tài)變?yōu)殪o態(tài)的yaml文本描述,那么這些配置存在etcd里面并用kubectl去修改就是低效的,完全可以用git存起來
這些配置之間是有冗余的,完全可以通過模板化的方式去自動(dòng)搞定單個(gè)應(yīng)用多集群的配置
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。
本文名稱:AnthosConfigManagement產(chǎn)品設(shè)計(jì)分析
當(dāng)前網(wǎng)址:http://chinadenli.net/article36/joidsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、微信公眾號(hào)、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、網(wǎng)站制作、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)