microk8s
video guide:
sudo snap install microk8s --classic
#snap install microk8s --classic --channel=1.12/stable
#microk8s.status
microk8s.kubectl get all --all-namespaces
microk8s.kubectl get no
microk8s.enable dns dashboard
watch microk8s.kubectl get all --all-namespaces
microk8s.kubectl run nginx --image nginx --replicas 3
watch microk8s.kubectl get all --all-namespaces
microk8s.kubectl expose deployment nginx --port 80 --target-port 80 --type ClusterIP --selector=run=nginx --name nginx
watch microk8s.kubectl get all
wget 10.152.183.181
microk8s.kubectl delete deployment/nginx
watch microk8s.kubectl get all
microk8s.kubectl delete svc/nginx
microk8s.disable dashboard dns
watch microk8s.kubectl get all --all-namespaces
sudo snap remove microk8s
-----------------------------------------------------
doc guide
microk8s.kubectl get nodes
microk8s.kubectl get services
snap alias microk8s.kubectl kubectl #改别名
snap unalias kubectl #取消别名
If you already have kubectl
installed and you want to use it to access the MicroK8s deployment you can export the cluster’s config with:
microk8s.kubectl config view --raw > $HOME/.kube/config
microk8s.enable dns dashboard
microk8s.disable dashboard dns
microk8s.status
#you can see the list of available add-ons and which ones are currently enabled.
List of available add-ons
- dns: Deploy kube dns. This add-on may be required by others thus we recommend you always enable it. In environments where the external dns servers
8.8.8.8
and8.8.4.4
are blocked you will need to update the upstream dns servers inmicrok8s.kubectl -n kube-system edit configmap/kube-dns
after enabling the add-on. - dashboard: Deploy Kubernetes dashboard as well as Grafana and InfluxDB. To access Grafana point your browser to the url reported by
microk8s.kubectl cluster-info
. - storage: Create a default storage class. This storage class makes use of the hostpath-provisioner pointing to a directory on the host. Persistent volumes are created under
${SNAP_COMMON}/default-storage
. Upon disabling this add-on you will be asked if you want to delete the persistent volumes created. - ingress: Create an ingress controller.
- gpu: Expose GPU(s) to MicroK8s by enabling the nvidia runtime and nvidia-device-plugin-daemonset. Requires NVIDIA drivers to be already installed on the host system.
- istio: Deploy the core Istio services. You can use the
microk8s.istioctl
command to manage your deployments. - registry: Deploy a private image registry and expose it on
localhost:32000
. The storage add-on will be enabled as part of this add-on. See the registry documentation for more details. - metrics-server: Deploy the Metrics Server.
- prometheus: Deploy the Prometheus Operator v0.25.
- fluentd: Deploy the Elasticsearch-Kibana-Fluentd logging and monitoring solution.
- jaeger: Deploy the Jaeger Operator v1.8.2 in the “simplest” configuration.
Configuring MicroK8s services
The following systemd services will be running in your system:
- snap.microk8s.daemon-apiserver, is the kube-apiserver daemon started using the arguments in
${SNAP_DATA}/args/kube-apiserver
- snap.microk8s.daemon-controller-manager, is the kube-controller-manager daemon started using the arguments in
${SNAP_DATA}/args/kube-controller-manager
- snap.microk8s.daemon-scheduler, is the kube-scheduler daemon started using the arguments in
${SNAP_DATA}/args/kube-scheduler
- snap.microk8s.daemon-kubelet, is the kubelet daemon started using the arguments in
${SNAP_DATA}/args/kubelet
- snap.microk8s.daemon-proxy, is the kube-proxy daemon started using the arguments in
${SNAP_DATA}/args/kube-proxy
- snap.microk8s.daemon-containerd, is the containerd daemon started using the configuration in
${SNAP_DATA}/args/containerd
and${SNAP_DATA}/args/containerd-template.toml
. - snap.microk8s.daemon-etcd, is the etcd daemon started using the arguments in
${SNAP_DATA}/args/etcd
Normally, ${SNAP_DATA}
points to /var/snap/microk8s/current
.
To reconfigure a service you will need to edit the corresponding file and then restart the respective daemon. For example:
echo '-l=debug' | sudo tee -a /var/snap/microk8s/current/args/containerd
sudo systemctl restart snap.microk8s.daemon-containerd.service