安裝多主叢集
按照本指南在 cluster1
和 cluster2
上安裝 Istio 控制平面,使每個叢集都成為主要叢集。兩個叢集都位於 network1
網路上,這表示兩個叢集中的 Pod 之間有直接連線。
在繼續之前,請務必完成開始之前中的步驟。
在此設定中,每個控制平面都會觀察兩個叢集中的 API 伺服器以尋找端點。
服務工作負載跨叢集邊界直接 (pod-to-pod) 通訊。
將 cluster1
設定為主要叢集
為 cluster1
建立 Istio 設定
$ cat <<EOF > cluster1.yaml
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
values:
global:
meshID: mesh1
multiCluster:
clusterName: cluster1
network: network1
EOF
將設定套用至 cluster1
$ istioctl install --context="${CTX_CLUSTER1}" -f cluster1.yaml
將 cluster2
設定為主要叢集
為 cluster2
建立 Istio 設定
$ cat <<EOF > cluster2.yaml
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
values:
global:
meshID: mesh1
multiCluster:
clusterName: cluster2
network: network1
EOF
將設定套用至 cluster2
$ istioctl install --context="${CTX_CLUSTER2}" -f cluster2.yaml
啟用端點探索
在 cluster2
中安裝遠端密鑰,以提供對 cluster1
API 伺服器的存取權。
$ istioctl create-remote-secret \
--context="${CTX_CLUSTER1}" \
--name=cluster1 | \
kubectl apply -f - --context="${CTX_CLUSTER2}"
在 cluster1
中安裝遠端密鑰,以提供對 cluster2
API 伺服器的存取權。
$ istioctl create-remote-secret \
--context="${CTX_CLUSTER2}" \
--name=cluster2 | \
kubectl apply -f - --context="${CTX_CLUSTER1}"
恭喜! 您已成功在多個主要叢集上安裝 Istio 網格!
下一步
您現在可以驗證安裝。
清理
在
cluster1
中解除安裝 Istio$ istioctl uninstall --context="${CTX_CLUSTER1}" -y --purge $ kubectl delete ns istio-system --context="${CTX_CLUSTER1}"
在
cluster2
中解除安裝 Istio$ istioctl uninstall --context="${CTX_CLUSTER2}" -y --purge $ kubectl delete ns istio-system --context="${CTX_CLUSTER2}"