Files
2019-09-29 14:56:01 +02:00
..
2018-09-21 14:19:32 +00:00
2018-09-03 14:02:33 +00:00
2018-09-15 20:19:49 +00:00
2018-09-12 15:49:02 +00:00
2018-09-11 14:39:12 +00:00
2018-09-10 13:32:13 +00:00
2018-09-05 09:04:51 +00:00
2019-08-20 16:12:07 +02:00
2018-11-15 00:41:22 +00:00

istio

Kops configuration

kops edit cluster kubernetes.newtech.academy

Add:

  kubeAPIServer:
    admissionControl:
    - NamespaceLifecycle
    - LimitRanger
    - ServiceAccount
    - PersistentVolumeLabel
    - DefaultStorageClass
    - DefaultTolerationSeconds
    - MutatingAdmissionWebhook
    - ValidatingAdmissionWebhook
    - ResourceQuota
    - NodeRestriction
    - Priority

download (1.0.3):

cd ~
wget https://github.com/istio/istio/releases/download/1.0.3/istio-1.0.3-linux.tar.gz
tar -xzvf istio-1.0.3-linux.tar.gz
cd istio-1.0.3
echo 'export PATH="$PATH:/home/ubuntu/istio-1.0.3/bin"' >> ~/.profile

Download (latest):

cd ~
curl -L https://git.io/getLatestIstio | sh -
echo 'export PATH="$PATH:/home/ubuntu/istio-1.0.3/bin"' >> ~/.profile # change 1.0.3 in your version
cd istio-1.0.3 # change 1.0.3 in your version

Istio install

Apply CRDs:

kubectl apply -f ~/istio-1.0.3/install/kubernetes/helm/istio/templates/crds.yaml

Wait a few seconds.

Option 1: with no mutual TLS authentication

kubectl apply -f ~/istio-1.0.3/install/kubernetes/istio-demo.yaml

Option 2: or with mutual TLS authentication

kubectl apply -f ~/istio-1.0.3/install/kubernetes/istio-demo-auth.yaml

Example app

Example app (from istio)

export PATH="$PATH:/home/ubuntu/istio-1.0.3/bin"
kubectl apply -f <(istioctl kube-inject -f samples/bookinfo/platform/kube/bookinfo.yaml)

Hello world app

export PATH="$PATH:/home/ubuntu/istio-1.0.3/bin"
kubectl apply -f <(istioctl kube-inject -f helloworld.yaml)
kubectl apply -f helloworld-gw.yaml

Mutual TLS example

Create pods, services, destinationrules, virtualservices

kubectl create -f <(istioctl kube-inject -f helloworld-tls.yaml)
kubectl create -f helloworld-legacy.yaml

End-user authentication

kubectl create -f <(istioctl kube-inject -f helloworld-jwt.yaml)
kubectl create -f helloworld-jwt-enable.yaml