Встановлення Multi-Primary
Слідуйте цьому посібнику, щоб встановити панель управління Istio на cluster1
та cluster2
, роблячи кожен з них primary кластером. Обидва кластери знаходяться в мережі network1
, що означає пряму взаємодію між podʼами в обох кластерах.
Перед тим, як продовжити, обовʼязково виконайте кроки, наведені в розділі перш ніж почати.
У цій конфігурації кожна панель управління спостерігає за API-серверами в обох кластерах для моніторингу точок доступу.
Сервісні навантаження спілкуються безпосередньо (pod-pod) через межі кластерів.
Налаштування cluster1
як primary
Створіть конфігурацію Istio для cluster1
:
$ 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
як primary
Створіть конфігурацію Istio для cluster2
:
$ 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
, що надає доступ до API-сервера cluster1
.
$ istioctl create-remote-secret \
--context="${CTX_CLUSTER1}" \
--name=cluster1 | \
kubectl apply -f - --context="${CTX_CLUSTER2}"
Встановіть віддалений секрет у cluster1
, що надає доступ до API-сервера cluster2
.
$ istioctl create-remote-secret \
--context="${CTX_CLUSTER2}" \
--name=cluster2 | \
kubectl apply -f - --context="${CTX_CLUSTER1}"
Вітаємо! Ви успішно встановили сервісну мережу Istio на кілька primary кластерів!
Наступні кроки
Тепер ви можете перевірити встановлення.
Очищення
Видаліть Istio у
cluster1
:$ istioctl uninstall --context="${CTX_CLUSTER1}" -y --purge $ kubectl delete ns istio-system --context="${CTX_CLUSTER1}"
Видаліть Istio у
cluster2
:$ istioctl uninstall --context="${CTX_CLUSTER2}" -y --purge $ kubectl delete ns istio-system --context="${CTX_CLUSTER2}"