This blog presents how to deploy a self-hosted Kubernetes cluster using kubeadm.

Note that usually we use kubeadm to bootstrap a K8s cluster that has several nodes. It is also easy to scale up the created cluster using kubeadm later. However, if you only need to have a learning environment of K8s, it might be easier to use some tools like kind, and minikube: https://kubernetes.io/docs/tasks/tools/

- Read the full article -

By default, there is only one network created in an OpenStack project. But for some scenarios, you might need to create several instances and organize them in an internal network. This internal network could be connected to the public Internet through a router (more discussions in this issue). This blog demonstrates how to create such an internal network in an OpenStack project. A corresponding tutorial video could be found at https://www.youtube.com/watch?v=3RmUpWA7U1Q

- Read the full article -

Sometimes when we use a virtual machine on some cloud platforms such as Azure, we might face the following scenario. The hard disk is running out of space. Thus we expand the size of that hard disk from the cloud platform's dashboard. After logging in to the system again, we find that the size of the disk is successfully expanded while the partition remains the same size.

- Read the full article -

An example of a vulnerability in the early JWT token node.js library: https://github.com/gluckzhang/ctf-jwt-token

Basic Introduction to JWT Token

According to standard RFC 7519, JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.

- Read the full article -