wordpress靜態(tài)生成頁(yè)面青島百度整站優(yōu)化服務(wù)
Istio 是一個(gè)開(kāi)源的服務(wù)網(wǎng)格,用于連接、管理和保護(hù)微服務(wù)。以下是下載并安裝 Istio 的步驟。
官網(wǎng)文檔:https://istio.io/latest/zh/docs/setup/getting-started/
下載 Istio
前往Istio 發(fā)布頁(yè)面下載適用于您的操作系統(tǒng)的安裝文件,或者自動(dòng)下載并提取最新版本(Linux 或 macOS):
curl -L https://mirror.ghproxy.com/https://raw.githubusercontent.com/istio/istio/master/release/downloadIstioCandidate.sh | sh -
執(zhí)行上述命令后,您將看到如下輸出::
Istio 1.22.1 Download Complete!Istio has been successfully downloaded into the istio-1.22.1 folder on your system.Next Steps:
See https://istio.io/latest/docs/setup/install/ to add Istio to your Kubernetes cluster.To configure the istioctl client tool for your workstation,
add the /opt/istio-1.22.1/bin directory to your environment path variable with:export PATH="$PATH:/opt/istio-1.22.1/bin"Begin the Istio pre-installation check by running:istioctl x precheck Need more information? Visit https://istio.io/latest/docs/setup/install/
root@slave1:/opt#
通過(guò)打印版本的命令來(lái)檢查您是否能夠運(yùn)行 istioctl。 此時(shí),Istio 尚未安裝在您的集群中,因此您將看到?jīng)]有 Pod 就緒
istioctl version
下載完成后,移至 Istio 包目錄。例如,如果包是 istio-1.22.1,則運(yùn)行以下命令:
cd istio-1.22.1
安裝目錄包含以下內(nèi)容:
- 示例應(yīng)用程序samples/
- istioctl客戶端二進(jìn)制 文件 bin/
將istioctl客戶端添加到您的路徑(Linux 或 macOS):
export PATH=$PWD/bin:$PATH
安裝 Istio
對(duì)于此安裝,我們使用默認(rèn) 配置文件。當(dāng)然,您也可以選擇其他配置文件以適應(yīng)生產(chǎn)或性能測(cè)試需求。
運(yùn)行以下命令安裝 Istio 默認(rèn)配置檔:
istioctl install
此命令在 Kubernetes 集群上安裝 default 配置檔。 default 配置檔是建立生產(chǎn)環(huán)境的一個(gè)良好起點(diǎn), 這和較大的 demo 配置檔不同,后者常用于評(píng)估一組廣泛的 Istio 特性。
可以配置各種設(shè)置來(lái)修改安裝。比如,要啟動(dòng)訪問(wèn)日志:
istioctl install --set meshConfig.accessLogFile=/dev/stdout
也可以使用 -f 傳遞配置文件。 這么做可以讓例子更緊湊。 這兩種方法是等價(jià)的,但強(qiáng)烈推薦在生產(chǎn)環(huán)境使用 -f。 上面的命令可以用 -f 寫(xiě)成如下的形式
cat <<EOF > ./my-config.yaml
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:meshConfig:accessLogFile: /dev/stdout
EOF
istioctl install -f my-config.yaml
其他的 Istio 配置檔,可以通過(guò)在命令行傳遞配置檔名稱的方式,安裝到集群。 例如,下面命令可以用來(lái)安裝 demo 配置檔。
istioctl install --set profile=demo
您可以用下面命令展示 istioctl 可以訪問(wèn)到的 Istio 配置檔的名稱:
istioctl profile list
您可以瀏覽一個(gè)配置檔的配置信息。例如,運(yùn)行下面命令瀏覽 demo 配置檔的設(shè)置信息:
istioctl profile dump demo
只瀏覽配置文件的某個(gè)部分的話,可以用 --config-path 參數(shù),它將只選擇配置文件中指定路徑的局部?jī)?nèi)容:
istioctl profile dump --config-path components.pilot demo
profile diff 子命令可用于顯示配置檔之間的差異, 它在把更改應(yīng)用到集群之前,檢查定制效果方面非常有用。
istioctl profile diff default demo
在安裝 Istio 之前,可以用 manifest generate 子命令生成清單文件。 例如,用下面命令生成 default 配置檔的清單文件:
istioctl manifest generate > $HOME/generated-manifest.yaml
生成的清單文件可用于檢查具體安裝了什么,也可用于跟蹤清單是如何隨著時(shí)間而改變的。 雖然 IstioOperator CR 代表完整的用戶配置,足以用于跟蹤, 但 manifest generate 命令的輸出還能截獲底層 chart 潛在的改變,因此可以用于跟蹤實(shí)際安裝過(guò)的資源。
manifest generate 的輸出還能傳遞給 kubectl apply 或類(lèi)似的命令,用來(lái)安裝 Istio。 然而,這些替代的安裝方法不能像 istioctl install 那樣,將相同的依賴順序應(yīng)用于資源, 并且也沒(méi)有在 Istio 發(fā)行版中測(cè)試過(guò),所以不建議kubectl apply來(lái)install 參考:https://istio.io/latest/zh/docs/setup/install/istioctl/
要從集群中完整卸載 Istio,運(yùn)行下面命令:
istioctl uninstall --purge
為默認(rèn)命名空間添加標(biāo)簽,以便在稍后部署應(yīng)用程序時(shí)自動(dòng)注入 Envoy sidecar 代理
kubectl label namespace dtb istio-injection=enabled
這樣,以后所有部署在 dtb 命名空間下的應(yīng)用都會(huì)自動(dòng)注入 Envoy sidecar 代理。
部署應(yīng)用程序
首先,確保您有一個(gè)包含適當(dāng)配置的 dtb-deploy.yaml 文件。然后運(yùn)行以下命令::
kubectl apply -f dtb-deploy.yaml
應(yīng)用程序?qū)?dòng)。在每個(gè) Pod 準(zhǔn)備就緒后,Istio sidecar 將隨之部署。您可以使用以下命令查看 Pod 的狀態(tài):
kubectl get pod -n dtb
示例輸出:
NAME READY STATUS RESTARTS AGE
dtb-service-6cc7db9d94-bcs2z 2/2 Running 0 13s
等到 Pod 報(bào)告 READY2/2和 STATUS Running后再進(jìn)行下一步。這可能需要幾分鐘,具體取決于您的平臺(tái)。 READY 2/2 是因?yàn)槊總€(gè) Pod 增加了一個(gè) Istio sidecar 容器。
若要查看 Pod 的詳細(xì)信息,請(qǐng)運(yùn)行以下命令::
kubectl describe pod dtb-service-6cc7db9d94-bcs2z -n dtb
查看結(jié)果示例: