Debian 11 Bullseye
Sponsored Link

MicroK8s : Deploy Pods
2021/08/30
 
This is the basic operation on MicroK8s.
[1] Create or Delete Pods.
# run [test-nginx] pods

root@dlp:~#
microk8s kubectl create deployment test-nginx --image=nginx

deployment.apps/test-nginx created
root@dlp:~#
microk8s kubectl get pods

NAME                         READY   STATUS    RESTARTS   AGE
test-nginx-59ffd87f5-9qs7g   1/1     Running   0          14s

# show environment variable for [test-nginx] pod

root@dlp:~#
microk8s kubectl exec test-nginx-59ffd87f5-9qs7g -- env

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=test-nginx-59ffd87f5-9qs7g
NGINX_VERSION=1.21.1
NJS_VERSION=0.6.1
PKG_RELEASE=1~buster
KUBERNETES_PORT_443_TCP=tcp://10.152.183.1:443
KUBERNETES_PORT_443_TCP_PROTO=tcp
KUBERNETES_PORT_443_TCP_PORT=443
KUBERNETES_PORT_443_TCP_ADDR=10.152.183.1
KUBERNETES_SERVICE_HOST=10.152.183.1
KUBERNETES_SERVICE_PORT=443
KUBERNETES_SERVICE_PORT_HTTPS=443
KUBERNETES_PORT=tcp://10.152.183.1:443
HOME=/root

# shell access to [test-nginx] pod

root@dlp:~#
microk8s kubectl exec -it test-nginx-59ffd87f5-9qs7g -- bash
root@test-nginx-59ffd87f5-9qs7g:/#
uname -a

Linux test-nginx-59ffd87f5-9qs7g 5.10.0-8-amd64 #1 SMP Debian 5.10.46-4 (2021-08-03) x86_64 GNU/Linux
root@test-nginx-59ffd87f5-9qs7g:/#
exit
# show logs of [test-nginx] pod

root@dlp:~#
microk8s kubectl logs test-nginx-59ffd87f5-9qs7g

/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
.....
.....

# scale out pods

root@dlp:~#
microk8s kubectl scale deployment test-nginx --replicas=3

deployment.apps/test-nginx scaled
root@dlp:~#
microk8s kubectl get pods

NAME                         READY   STATUS    RESTARTS   AGE
test-nginx-59ffd87f5-9qs7g   1/1     Running   0          111s
test-nginx-59ffd87f5-kb5gr   1/1     Running   0          5s
test-nginx-59ffd87f5-9bpg8   1/1     Running   0          5s

# set service

root@dlp:~#
microk8s kubectl expose deployment test-nginx --type="NodePort" --port 80

service "test-nginx" exposed
root@dlp:~#
microk8s kubectl get services test-nginx

NAME         TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
test-nginx   NodePort   10.152.183.229   <none>        80:30529/TCP   5s

# verify accesses

root@dlp:~#
curl 10.152.183.229

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
.....
.....
<p><em>Thank you for using nginx.</em></p>
</body>
</html>

# delete service

root@dlp:~#
microk8s kubectl delete services test-nginx

service "test-nginx" deleted
# delete pods

root@dlp:~#
microk8s kubectl delete deployment test-nginx

deployment.extensions "test-nginx" deleted
Matched Content