這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)怎樣理解Istio Operator,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
江津網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,江津網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為江津近1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的江津做網(wǎng)站的公司定做!
Kubernetes operator 提供了一種將人類(lèi)運(yùn)維知識(shí)編碼到軟件中的模式,是一種簡(jiǎn)化軟件基礎(chǔ)結(jié)構(gòu)組件管理的流行方法。Istio 是自動(dòng) operator 的理想選擇,因?yàn)樗墓芾砭哂刑魬?zhàn)性。
到目前為止,Helm 一直是安裝和升級(jí) Istio 的主要工具。Istio 1.4 引入了一種新的使用istioctl安裝方法。這種新的安裝方法建立在 Helm 的優(yōu)勢(shì)之上,并添加了以下內(nèi)容:
用戶(hù)只需要安裝一個(gè)工具:istioctl
驗(yàn)證所有 API 字段
不在 API 中的小型定制不需要更改 chart 或 API
版本特定的升級(jí) hook 可以很容易和穩(wěn)健地實(shí)現(xiàn)
Helm 安裝方法正在棄用中。從 Istio 1.4 升級(jí)到一個(gè)默認(rèn)沒(méi)有安裝 Helm 的版本也會(huì)被一個(gè)新的 istioctl 升級(jí)特性所取代。
新的 istioctl
安裝命令使用一個(gè)自定義資源來(lái)配置安裝。自定義資源是新的 Istio operator 實(shí)現(xiàn)的一部分,該實(shí)現(xiàn)旨在簡(jiǎn)化安裝、升級(jí)和復(fù)雜的 Istio 配置更改等常見(jiàn)管理任務(wù)。安裝和升級(jí)的驗(yàn)證和檢查與工具緊密集成,以防止常見(jiàn)錯(cuò)誤并簡(jiǎn)化故障排除。
每個(gè) operator 實(shí)現(xiàn)都需要一個(gè)自定義資源定義(CRD) 來(lái)定義它的自定義資源,即它的 API。Istio 的 operator API 由 IstioControlPlane
CRD 定義,它是由一個(gè) IstioControlPlane
原型生成的。API 支持所有 Istio 當(dāng)前的配置文件 ,通過(guò)使用一個(gè)字段來(lái)選擇 profile。例如,下面的 IstioControlPlane
資源使用 demo
profile 配置 Istio:
apiVersion: install.istio.io/v1alpha2kind: IstioControlPlanemetadata: namespace: istio-operator name: example-istiocontrolplanespec: profile: demo
然后可以使用其他設(shè)置來(lái)自定義配置。例如,禁用遙測(cè):
apiVersion: install.istio.io/v1alpha2kind: IstioControlPlanemetadata: namespace: istio-operator name: example-istiocontrolplanespec: profile: demo telemetry:enabled: false
使用 Istio operator API 的推薦方法是通過(guò)一組新的 istioctl
命令。例如,要在集群中安裝 Istio:
$ istioctl manifest apply -f
通過(guò)編輯配置文件并再次執(zhí)行 istioctl manifest apply
來(lái)更改安裝配置。
升級(jí)到新版本的 Istio:
$ istioctl x upgrade -f
除了在 IstioControlPlane
資源中指定完整的配置外,istioctl
命令還可以使用 --set
標(biāo)志傳遞單獨(dú)的設(shè)置:
$ istioctl manifest apply --set telemetry.enabled=false
還有許多其他 istioctl
命令,例如,它們可以幫助您列出、顯示和比較配置 profile 和 manifest。
更多信息請(qǐng)參考 Istio 安裝說(shuō)明。
Operator 實(shí)現(xiàn)使用 Kubernetes controller 來(lái)持續(xù)監(jiān)控它們的自定義資源并應(yīng)用相應(yīng)的配置更改。Istio controller 監(jiān)控一個(gè) IstioControlPlane
資源,并通過(guò)更新相應(yīng)集群中的 Istio 安裝配置來(lái)響應(yīng)更改。
在 1.4 版中,Istio controller 處于開(kāi)發(fā)的 alpha 階段,沒(méi)有完全集成到 istioctl
中。但是,可以使用 kubectl
命令來(lái)做實(shí)驗(yàn)。例如,要將 controller 和默認(rèn)版本的 Istio 安裝到集群中,請(qǐng)運(yùn)行以下命令:
$ kubectl apply -f https://
然后你可以對(duì) Istio 的安裝配置進(jìn)行修改:
$ kubectl edit istiocontrolplane example-istiocontrolplane -n istio-system
一旦資源更新,controller 將檢測(cè)到這些變化,并相應(yīng)地更新 Istio 安裝。
Operator controller 和 istioctl
命令共享相同的實(shí)現(xiàn)。重要的區(qū)別在于其執(zhí)行上下文。對(duì)于 istioctl
,操作在管理用戶(hù)的命令執(zhí)行和安全上下文中運(yùn)行。對(duì)于 controller,集群中的一個(gè) pod 在其安全上下文中運(yùn)行代碼。在這兩種情況下,都根據(jù)一個(gè) schema 來(lái)驗(yàn)證配置,并執(zhí)行相同的正確性檢查。
為了方便從使用 Helm 過(guò)渡,istioctl
和 controller 支持對(duì) Helm 安裝 API 的透?jìng)髟L(fǎng)問(wèn)。
您可以使用 istioctl --set
來(lái)傳遞 Helm 配置選項(xiàng),方法是將字符串 values.
放在配置選項(xiàng)前面。例如,對(duì)于這個(gè) Helm 命令:
$ helm template ... --set global.mtls.enabled=true
您可以使用 istioctl
這個(gè)命令:
$ istioctl manifest generate ... --set values.global.mtls.enabled=true
你也可以在一個(gè) IstioControlPlane
自定義資源中設(shè)置 Helm 配置值。參見(jiàn)使用 Helm 自定義 Istio 設(shè)置。
另一個(gè)可以幫助從 Helm 遷移的特性是這個(gè) alpha 命令:istioctl manifest migrate。此命令可用于將 Helm values.yaml
文件自動(dòng)轉(zhuǎn)換為相應(yīng)的 IstioControlPlane
配置。
已經(jīng)創(chuàng)建了幾個(gè)框架,通過(guò)為部分或所有組件生成存根來(lái)幫助實(shí)現(xiàn) operator。Istio operator 是在 kubebuilder 和 operator framework 的幫助下創(chuàng)建的。Istio 的安裝現(xiàn)在使用 proto 來(lái)描述 API,這樣就可以通過(guò) schema 對(duì)執(zhí)行運(yùn)行時(shí)進(jìn)行驗(yàn)證。
有關(guān)實(shí)現(xiàn)的更多信息可以在 Istio operator 倉(cāng)庫(kù)中的 README 和 ARCHITECTURE 文檔中找到。
從 Istio 1.4 開(kāi)始,Helm 安裝將被新的 istioctl
命令所取代,該命令使用新的 operator 自定義資源定義,IstioControlPlane
,作為配置 API。一個(gè) alpha controller 也被提供用于 operator 的早期實(shí)驗(yàn)。
新的 istioctl
命令和 operator controller 都會(huì)驗(yàn)證配置 schema,并執(zhí)行安裝更改或升級(jí)的一系列檢查。這些檢查與工具緊密集成,以防止常見(jiàn)錯(cuò)誤并簡(jiǎn)化故障排除。
Istio 維護(hù)者們期望這種新方法能夠改善安裝和升級(jí)期間的用戶(hù)體驗(yàn),更好地穩(wěn)定安裝 API,幫助用戶(hù)更好地管理和監(jiān)控他們的 Istio 安裝。
上述就是小編為大家分享的怎樣理解Istio Operator了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。