Martin Koníček
Blog
Installing Istio on MicroK8S
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 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.