6.3. Using MicroK8s
This document will provide instructions to using MicroK8s and Kubernetes commandline to access your cluster.
6.3.1. Using MicroK8s
Typing:
microk8s --help
will give a list of all commands:
Available subcommands are:
add-node
cilium
config
ctr
dashboard-proxy
disable
enable
helm
helm3
istioctl
join
juju
kubectl
leave
linkerd
refresh-certs
remove-node
reset
start
status
stop
inspect
To get more details about a command, type:
microk8s <command> --help
6.3.1.1. Getting the Status
To check the status of your cluster and which addons are enabled:
microk8s status
Example:
microk8s is running
addons:
dashboard: enabled
dns: enabled
metrics-server: enabled
ambassador: disabled
cilium: disabled
fluentd: disabled
gpu: disabled
helm: disabled
helm3: disabled
host-access: disabled
ingress: disabled
istio: disabled
jaeger: disabled
knative: disabled
kubeflow: disabled
linkerd: disabled
metallb: disabled
multus: disabled
prometheus: disabled
rbac: disabled
registry: disabled
storage: disabled
6.3.1.2. Starting and Stopping
MicroK8s will continue running until you decide to stop it. You can stop MicroK8s and its services by typing the command:
microk8s stop
You can restart by typing:
microk8s start
6.3.1.3. Accessing the Dashboard Locally
MicroK8s provides access to the standard Kubernetes dashboard. You can enable the dashboard and proxy to it on the local system.
microk8s enable dashboard
microk8s kubectl proxy &
The dashboard is available at the following URL: http://127.0.0.1:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
6.3.2. Using Kubernetes
MicroK8s bundles its own version of kubectl
for accessing Kubernetes. Use it to run commands to monitor and control your Kubernetes. Kubectl commands are prefixed by microk8s
.
6.3.2.1. Getting a List of Commands
To get a list of commands, run:
microk8s kubectl
Example:
kubectl controls the Kubernetes cluster manager.
Find more information at: https://kubernetes.io/docs/reference/kubectl/overview/
Basic Commands (Beginner):
create Create a resource from a file or from stdin.
expose Take a replication controller, service, deployment or pod and expose it as a new Kubernetes Service
run Run a particular image on the cluster
set Set specific features on objects
Basic Commands (Intermediate):
explain Documentation of resources
get Display one or many resources
edit Edit a resource on the server
delete Delete resources by filenames, stdin, resources and names, or by resources and label selector
Deploy Commands:
rollout Manage the rollout of a resource
scale Set a new size for a Deployment, ReplicaSet or Replication Controller
autoscale Auto-scale a Deployment, ReplicaSet, or ReplicationController
Cluster Management Commands:
certificate Modify certificate resources.
cluster-info Display cluster info
top Display Resource (CPU/Memory/Storage) usage.
cordon Mark node as unschedulable
uncordon Mark node as schedulable
drain Drain node in preparation for maintenance
taint Update the taints on one or more nodes
Troubleshooting and Debugging Commands:
describe Show details of a specific resource or group of resources
logs Print the logs for a container in a pod
attach Attach to a running container
exec Execute a command in a container
port-forward Forward one or more local ports to a pod
proxy Run a proxy to the Kubernetes API server
cp Copy files and directories to and from containers.
auth Inspect authorization
Advanced Commands:
diff Diff live version against would-be applied version
apply Apply a configuration to a resource by filename or stdin
patch Update field(s) of a resource using strategic merge patch
replace Replace a resource by filename or stdin
wait Experimental: Wait for a specific condition on one or many resources.
convert Convert config files between different API versions
kustomize Build a kustomization target from a directory or a remote url.
Settings Commands:
label Update the labels on a resource
annotate Update the annotations on a resource
completion Output shell completion code for the specified shell (bash or zsh)
Other Commands:
alpha Commands for features in alpha
api-resources Print the supported API resources on the server
api-versions Print the supported API versions on the server, in the form of "group/version"
config Modify kubeconfig files
plugin Provides utilities for interacting with plugins.
version Print the client and server version information
Usage:
kubectl [flags] [options]
Use "kubectl <command> --help" for more information about a given command.
Use "kubectl options" for a list of global command-line options (applies to all commands).
6.3.2.2. Viewing Nodes
To view your nodes:
microk8s kubectl get nodes
6.3.2.3. View Cluster Information
To view cluster information:
microk8s kubectl cluster-info
To view everything currently running in the cluster:
microk8s kubectl get all --all-namespaces
To view running services in the default namespace:
microk8s kubectl get services
Use
--all-namespaces
for all services in all namespacesUse
-n kube-system
for the Kubernetes systemUse
-n lockss
for LOCKSS-specific services
6.3.2.4. Viewing Pod Logs
microk8s kubectl get pods <options>
microk8s kubectl logs <podname>
6.3.2.5. Describing a Running Pod
To describe a running pod:
microk8s kubectl get pods <options>
microk8s kkubectl describe <podname>