sudo curl --silent --location -o /usr/local/bin/kubectl https://storage.googleapis.com/kubernetes-release/release/v1.13.7/bin/linux/amd64/kubectl
sudo chmod +x /usr/local/bin/kubectl
sudo yum -y install jq gettext
export ACCOUNT_ID=$(aws sts get-caller-identity --output text --query Account)
export AWS_REGION=$(curl -s 169.254.169.254/latest/dynamic/instance-identity/document | jq -r '.region')
echo "export ACCOUNT_ID=${ACCOUNT_ID}" >> ~/.bash_profile
echo "export AWS_REGION=${AWS_REGION}" >> ~/.bash_profile
aws configure set default.region ${AWS_REGION}
aws configure get default.region
ssh-keygen
aws ec2 import-key-pair --key-name "eksworkshop" --public-key-material file://~/.ssh/id_rsa.pub
aws sts get-caller-identity
curl --silent --location "https://github.com/weaveworks/eksctl/releases/download/latest_release/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
sudo mv -v /tmp/eksctl /usr/local/bin
eksctl create cluster --version=1.13 --name=eksworkshop-eksctl --nodes=3 --node-ami=auto --region=eu-west-1
curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get > get_helm.sh
chmod +x get_helm.sh
./get_helm.sh
kubectl apply -f helm/rbac.yaml
helm init --service-account tiller
kubectl apply -f efk/.
kubectl get pods --namespace=kube-system
kubectl -n kube-system port-forward $(kubectl -n kube-system get pod -l k8s-app=kibana-logging -o jsonpath='{.items[0].metadata.name}') 8080:5601
helm repo add flagger https://flagger.app
helm upgrade -i nginx-ingress stable/nginx-ingress \
--namespace ingress-nginx \
--set controller.stats.enabled=true \
--set controller.metrics.enabled=true \
--set controller.podAnnotations."prometheus\.io/scrape"=true \
--set controller.podAnnotations."prometheus\.io/port"=10254
helm upgrade -i flagger flagger/flagger \
--namespace ingress-nginx \
--set prometheus.install=true \
--set meshProvider=nginx
kubectl create namespace test
kubectl -n test apply -f flagger/loadtester/.
kubectl apply -f https://raw.githubusercontent.com/weaveworks/flagger/master/artifacts/flagger/crd.yaml
helm delete --purge flagger
kubectl -n test apply -f flagger/nginx/.
kubectl -n test apply -f flagger/podinfo-ingress.yaml
kubectl -n test apply -f flagger/podinfo-canary.yaml
kubectl apply -f https://raw.githubusercontent.com/weaveworks/flagger/master/artifacts/flagger/crd.yaml
kubectl -n test set image deployment/podinfo podinfod=stefanprodan/podinfo:2.0.1
kubectl -n ingress-nginx port-forward flagger-prometheus-844dfd8f6f-lwr44 8080:909
kubectl -n test describe canary/podinfo
watch kubectl get canaries --all-namespaces
curl -L https://git.io/getLatestIstio | sh -
cd istio-*
sudo mv -v bin/istioctl /usr/local/bin/
helm install install/kubernetes/helm/istio-init --name istio-init --namespace istio-system
kubectl apply -f ../kiali/kiali.yaml # admin admin
helm install install/kubernetes/helm/istio --name istio --namespace istio-system --set global.configValidation=false --set sidecarInjectorWebhook.enabled=false --set grafana.enabled=true --set servicegraph.enabled=true --set kiali.enabled=true
kubectl create namespace test-istio
kubectl label namespace test-istio istio-injection=enabled
kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=kiali -o jsonpath='{.items[0].metadata.name}') 8080:20001
kubectl apply -f demo-istio/.
kubectl -n test-istio port-forward svc/demo-frontend 8080:5000
eksctl delete cluster --name=eksworkshop-eksctl
https://eksctl.io
https://helm.sh
https://docs.flagger.app
https://istio.io