Martin Koníček

Blog

Installing Istio on MicroK8S

Showcase image

Installing Istio on MicroK8S using standard path following tutorial from istio.io/latest/docs/setup/getting-started/ with just small changes.

If you will follow default tutorial you will probably get following errors

Installation error

bash# istioctl install --set profile=demo -y
Error: check minimum supported Kubernetes version: error getting Kubernetes version: Get "http://localhost:8080/version?timeout=5s": dial tcp 127.0.0.1:8080: connect: connection refused

For resolving this issue you should export kubeconfig first

bash# microk8s config > ~/.kube/config
bash# export KUBECONFIG=~/.kube/config
bash# istioctl install --set profile=demo -y

Ingress

Next difference is in ingress set-up.

bash# kubectl get svc istio-ingressgateway -n istio-system
NAME                   TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)                                                                      AGE
istio-ingressgateway   LoadBalancer   10.152.183.60   <pending>     15021:31323/TCP,80:30732/TCP,443:30212/TCP,31400:32197/TCP,15443:30158/TCP   2m24s

You can see that port 80 is mounted to port 30732, now you just list interfaces

bash# ip addr l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group ...
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group ...
    inet 192.168.1.100/24 metric 100 brd 192.168.1.255 scope global dynamic 

And eth0 interface is on 192.168.1.100.

So after installing initial tutorial you will find out sample application on http://192.168.1.100:30732/productpage

  • SOPS Git Hooks for Kubernetes Secrets Management
    SOPS Git Hooks for Kubernetes Secrets ManagementI decided to build a Git-based tool to manage Kubernetes secrets more efficiently. The whole idea was to automatically encrypt password and value fields in my Kubernetes YAML and Helm files before committing them into Git, and decrypt them effortlessly when checking out.
  • cs | en