Microk8s
Zero Ops needed with a single k8s cluster done right. That's the marketing of microk8s. In practices, the product works very well but I found a bit slow(start and stop). However installing istio, is 1 command line away from happiness. Microk8s supports several versions of Kubernetes from 1.10+ to 1.13+ right now(20/04/2019) - k8s is 1.14+. If you are a hardcore Linux user you must try mcirok8s.
Running Microk8s on Ubuntu
We install microk8s with a single and simple command.
sudo snap install microk8s --classic
Using info command we can get the avaliable commands and services.
snap info microk8s
name: microk8s
summary: Kubernetes for workstations and appliances
publisher: Canonical✓
contact: https://github.com/ubuntu/microk8s
license: unset
description: |
MicroK8s is a small, fast, secure, single node Kubernetes that installs on just about any Linux
box. Use it for offline development, prototyping, testing, or use it on a VM as a small, cheap,
reliable k8s for CI/CD. It's also a great k8s for appliances - develop your IoT apps for k8s and
deploy them to MicroK8s on your boxes.
commands:
- microk8s.config
- microk8s.ctr
- microk8s.disable
- microk8s.enable
- microk8s.inspect
- microk8s.istioctl
- microk8s.kubectl
- microk8s.reset
- microk8s.start
- microk8s.status
- microk8s.stop
services:
microk8s.daemon-apiserver: simple, disabled, inactive
microk8s.daemon-apiserver-kicker: simple, disabled, inactive
microk8s.daemon-containerd: simple, disabled, inactive
microk8s.daemon-controller-manager: simple, disabled, inactive
microk8s.daemon-etcd: simple, disabled, inactive
microk8s.daemon-kubelet: simple, disabled, inactive
microk8s.daemon-proxy: simple, disabled, inactive
microk8s.daemon-scheduler: simple, disabled, inactive
snap-id: EaXqgt1lyCaxKaQCU349mlodBkDCXRcg
tracking: stable
refresh-date: 2 days ago, at 15:31 -03
channels:
stable: v1.14.1 2019-04-18 (522) 214MB classic
candidate: v1.14.1 2019-04-15 (522) 214MB classic
beta: v1.14.1 2019-04-15 (522) 214MB classic
edge: v1.14.1 2019-04-19 (542) 217MB classic
1.14/stable: v1.14.1 2019-04-18 (521) 214MB classic
1.14/candidate: v1.14.1 2019-04-15 (521) 214MB classic
1.14/beta: v1.14.1 2019-04-15 (521) 214MB classic
1.14/edge: v1.14.1 2019-04-19 (541) 217MB classic
1.13/stable: v1.13.4 2019-04-17 (438) 229MB classic
1.13/candidate: v1.13.5 2019-04-19 (526) 237MB classic
1.13/beta: v1.13.5 2019-04-19 (526) 237MB classic
1.13/edge: v1.13.5 2019-04-19 (526) 237MB classic
1.12/stable: v1.12.6 2019-04-19 (435) 251MB classic
1.12/candidate: v1.12.7 2019-04-19 (534) 259MB classic
1.12/beta: v1.12.7 2019-04-19 (534) 259MB classic
1.12/edge: v1.12.7 2019-04-19 (534) 259MB classic
1.11/stable: v1.11.9 2019-04-10 (495) 252MB classic
1.11/candidate: v1.11.9 2019-04-05 (495) 252MB classic
1.11/beta: v1.11.9 2019-04-05 (495) 252MB classic
1.11/edge: v1.11.9 2019-04-20 (545) 258MB classic
1.10/stable: v1.10.13 2019-02-25 (411) 200MB classic
1.10/candidate: v1.10.13 2019-02-18 (411) 200MB classic
1.10/beta: v1.10.13 2019-02-18 (411) 200MB classic
1.10/edge: v1.10.13 2019-04-04 (506) 208MB classic
installed: v1.14.1 (522) 214MB classic
just 1 line command :D
microk8s.enable dashboard registry istio
microk8s.kubectl get all -n istio-system
NAME READY STATUS RESTARTS AGE
pod/grafana-5b5bb96d6d-rbw4n 1/1 Running 2 8d
pod/istio-citadel-69694bd465-kdmsx 1/1 Running 2 8d
pod/istio-cleanup-secrets-pmn4w 0/1 Completed 0 8d
pod/istio-egressgateway-7c75dff4c-zbrjl 1/1 Running 5 7d23h
pod/istio-galley-6d6b7f9cdd-g795k 0/1 ContainerCreating 0 8d
pod/istio-ingressgateway-6857bc6b48-9tjvf 1/1 Running 5 7d23h
pod/istio-pilot-55d8dfc777-d6lpx 1/2 Running 12 7d23h
pod/istio-policy-579ccc84fb-nnxcp 2/2 Running 16 7d23h
pod/istio-sidecar-injector-56cdcffcd8-8v7sv 1/1 Running 0 8d
pod/istio-telemetry-95665d9f4-m8nkz 1/2 Running 16 7d23h
pod/istio-tracing-c8b67b59c-49hxp 1/1 Running 8 7d23h
pod/prometheus-578b7dcfdc-rkql8 1/1 Running 2 8d
pod/servicegraph-84f87799b5-b6pp4 0/1 Running 11 7d23h
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/grafana ClusterIP 10.152.183.49 <none> 3000/TCP 8d
service/istio-citadel ClusterIP 10.152.183.119 <none> 8060/TCP,9093/TCP 8d
service/istio-egressgateway ClusterIP 10.152.183.181 <none> 80/TCP,443/TCP 8d
service/istio-galley ClusterIP 10.152.183.193 <none> 443/TCP,9093/TCP 8d
service/istio-ingressgateway LoadBalancer 10.152.183.4 <pending> 80:31380/TCP,443:31390/TCP,31400:31400/TCP,15011:30150/TCP,8060:30557/TCP,853:31943/TCP,15030:30547/TCP,15031:31496/TCP 8d
service/istio-pilot ClusterIP 10.152.183.219 <none> 15010/TCP,15011/TCP,8080/TCP,9093/TCP 8d
service/istio-policy ClusterIP 10.152.183.51 <none> 9091/TCP,15004/TCP,9093/TCP 8d
service/istio-sidecar-injector ClusterIP 10.152.183.160 <none> 443/TCP 8d
service/istio-telemetry ClusterIP 10.152.183.234 <none> 9091/TCP,15004/TCP,9093/TCP,42422/TCP 8d
service/jaeger-agent ClusterIP None <none> 5775/UDP,6831/UDP,6832/UDP 8d
service/jaeger-collector ClusterIP 10.152.183.207 <none> 14267/TCP,14268/TCP 8d
service/jaeger-query ClusterIP 10.152.183.206 <none> 16686/TCP 8d
service/prometheus ClusterIP 10.152.183.250 <none> 9090/TCP 8d
service/servicegraph ClusterIP 10.152.183.42 <none> 8088/TCP 8d
service/tracing ClusterIP 10.152.183.35 <none> 80/TCP 8d
service/zipkin ClusterIP 10.152.183.127 <none> 9411/TCP 8d
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/grafana 1/1 1 1 8d
deployment.apps/istio-citadel 1/1 1 1 8d
deployment.apps/istio-egressgateway 1/1 1 1 8d
deployment.apps/istio-galley 0/1 1 0 8d
deployment.apps/istio-ingressgateway 1/1 1 1 8d
deployment.apps/istio-pilot 0/1 1 0 8d
deployment.apps/istio-policy 0/1 1 0 8d
deployment.apps/istio-sidecar-injector 0/1 1 0 8d
deployment.apps/istio-telemetry 0/1 1 0 8d
deployment.apps/istio-tracing 1/1 1 1 8d
deployment.apps/prometheus 1/1 1 1 8d
deployment.apps/servicegraph 0/1 1 0 8d
NAME DESIRED CURRENT READY AGE
replicaset.apps/grafana-5b5bb96d6d 1 1 1 8d
replicaset.apps/istio-citadel-69694bd465 1 1 1 8d
replicaset.apps/istio-egressgateway-7c75dff4c 1 1 1 8d
replicaset.apps/istio-galley-6d6b7f9cdd 1 1 0 8d
replicaset.apps/istio-ingressgateway-6857bc6b48 1 1 1 8d
replicaset.apps/istio-pilot-55d8dfc777 1 1 0 8d
replicaset.apps/istio-policy-579ccc84fb 1 1 0 8d
replicaset.apps/istio-sidecar-injector-56cdcffcd8 1 1 0 8d
replicaset.apps/istio-telemetry-95665d9f4 1 1 0 8d
replicaset.apps/istio-tracing-c8b67b59c 1 1 1 8d
replicaset.apps/prometheus-578b7dcfdc 1 1 1 8d
replicaset.apps/servicegraph-84f87799b5 1 1 0 8d
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
horizontalpodautoscaler.autoscaling/istio-egressgateway Deployment/istio-egressgateway <unknown>/80% 1 5 1 8d
horizontalpodautoscaler.autoscaling/istio-ingressgateway Deployment/istio-ingressgateway <unknown>/80% 1 5 1 8d
horizontalpodautoscaler.autoscaling/istio-pilot Deployment/istio-pilot <unknown>/80% 1 5 1 8d
horizontalpodautoscaler.autoscaling/istio-policy Deployment/istio-policy <unknown>/80% 1 5 1 8d
horizontalpodautoscaler.autoscaling/istio-telemetry Deployment/istio-telemetry <unknown>/80% 1 5 1 8d
NAME COMPLETIONS DURATION AGE
job.batch/istio-cleanup-secrets 1/1 2m33s 8d
job.batch/istio-grafana-post-install 0/1 8d 8d
job.batch/istio-security-post-install 0/1 8d 8d
sudo microk8s.stop
sudo microk8s.start
Cheers,
Diego Pacheco