-
gcloud installieren
curl https://sdk.cloud.google.com | bash exec -l $SHELL
-
kubectl installieren
gcloud components install kubectl
-
Google Cloud Benutzerkonto auf https://cloud.google.com/ erstellen
-
Den folgenden Befehl in Konsole ausführen, um sich zu authentifizieren
gcloud init
-
Die Region & Zone für das Rechenzentrum wählen
gcloud config set compute/region europe-west3 # Frankfurt gcloud config set compute/zone europe-west3-c
-
Cluster mit dem Namen
istio-demo
erstellengcloud container clusters create istio-demo \ --num-nodes=3 --cluster-version latest \ --machine-type n1-standard-2 --enable-autoupgrade \ --scopes cloud-platform
-
Dem aktuellen Nutzer Admin-Rechte für das Cluster geben (notwendig für Istio)
kubectl create clusterrolebinding cluster-admin-binding \ --clusterrole=cluster-admin \ --user=$(gcloud config get-value core/account)
- Istio herunterladen
export ISTIO_VERSION=1.1.3
curl -L https://git.io/getLatestIstio | sh -
export ISTIO=$PWD/istio-$ISTIO_VERSION
export PATH=$PATH:$ISTIO/bin
- Kubernetes Namespace für Istio erstellen
kubectl create namespace istio-system
- CRDs installieren
for i in $ISTIO/install/kubernetes/helm/istio-init/files/crd*yaml; do kubectl apply -f $i; done
- Kiali Passwort und Benutzername festlegen und in Kubernetes Secrets ablegen
KIALI_USERNAME=$(read '?Kiali Username: ' uval && echo -n $uval | base64)
KIALI_PASSPHRASE=$(read -s "?Kiali Passphrase: " pval && echo -n $pval | base64)
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
metadata:
name: kiali
namespace: istio-system
labels:
app: kiali
type: Opaque
data:
username: $KIALI_USERNAME
passphrase: $KIALI_PASSPHRASE
EOF
- Eine Istio-Installationskonfiguration für Kubernets mit helm auf Basis von
values.yaml
erstellen
helm template $ISTIO/install/kubernetes/helm/istio --values istio-values.yaml \
--namespace istio-system --name istio > custom-istio.yaml
- Die Konfiguration auf dem Cluster anwenden
kubectl apply -f custom-istio.yaml
- Dem Standard-Namespace
default
für automatische Injektion von Sidecars markieren
kubectl label namespace default istio-injection=enabled
- Die Kubernetes Konfiguration für das Deployment des Hipster Shops anwenden
kubectl apply -f kubernetes-manifests
- Die Eintritts-IP-Adresse des
istio-ingressgateways
herausfinden und ausgeben
INGRESS_HOST="$(kubectl -n istio-system get service istio-ingressgateway \
-o jsonpath='{.status.loadBalancer.ingress[0].ip}')"
echo "$INGRESS_HOST"
- Alle eingehenden Verbindungen und die ausgehende Verbindung zur EZB mit Istio-Konfiguration erlauben
kubectl apply -f istio-explore/01_setup/frontend-gateway.yaml
kubectl apply -f istio-explore/01_setup/whitelist-egress-currencyprovider.yaml
Weitere Istio-Konfigurationen im Ordner istio-explore