Within the occasion you’ve been following my Kubernetes 101 sequence, you should have discovered that there are strategies to make Kubernetes considerably easier. Due to MicroK8s and Portainer, the journey doesn’t needs to be tough frequently. Nonetheless regardless that you simply probably can begin your dive into Kubernetes as a point-and-click affair with Portainer, eventually you might need to have the flexibility to work from the command line. That’s not a given nevertheless you under no circumstances know in case you’ll be thrown proper right into a state of affairs the place you’re requested to deploy an app or service to a Kubernetes cluster and there is no Portainer GUI to be found.
Must such a state of affairs come up, you’ll be glad you perceive the way to take administration of the command line interface and get the job completed.
That’s exactly what we’re going to do proper right here. We’ll run by the use of a straightforward NGINX deployment and do all of it from the command line.
Requirements
To look at alongside, you’ll need a working Kubernetes cluster, which can be very easy to deploy with the help of MicroK8s. Yow will uncover out how one can arrange MicroK8s proper right here after which how one can add nodes to the cluster proper right here. Now, on account of we’re demonstrating with a MicroK8s mannequin of Kubernetes, the directions generally is a bit completely totally different on account of they’ll use microk8s along with kubectl.
That’s all you need. Let’s get to the deployment.
Create Your First Deployment
The very very first thing we’ll do is log in to the Kubernetes controller node. As quickly as logged in, verify your nodes are all nonetheless associated with the command:
microk8s kubectl get nodes
The output of the command must comprise one factor like this:
k8s3 Ready
Now that you just’re certain your nodes are all throughout the Ready state, create a model new itemizing with the command:
mkdir ~/deployment 1 mkdir ~/ deployment
Grow to be that newly-created itemizing with the command:
cd ~/deployment 1 cd ~/ deployment
Create a model new deployment YAML file with:
nano nginx-deployment.yml 1 nano nginx – deployment . yml
In that file, paste the following contents:
apiVersion: apps/v1
kind: Deployment
metadata:
determine: nginx-deployment
labels:
app: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
– determine: nginx
image: nginx:1.7.9
ports:
– containerPort: 80
Lots of the above file must be self-explanatory, nevertheless there are explicit sections to pay shut consideration to, resembling:
apiVersion – particulars which mannequin of the API can be utilized.
kind – particulars the type of object you is likely to be creating.
metadata – data that helps set up the factor.
spec – the state you want for the factor
Save and shut the file with the [Ctrl]+[X] keyboard shortcut.
Apply the newly created YAML file with the command:
microk8s kubectl apply -f nginx-deployment.yml 1 microk8s kubectl apply – f nginx – deployment . yml
The output must current one factor like this:
deployment.apps/nginx-deployment created 1 deployment . apps / nginx – deployment created
Affirm the deployment with:
microk8s kubectl get deployments 1 microk8s kubectl get deployments
It’s good to see one factor like this throughout the output:
nginx-deployment 2/2 2 2 5m32s 1 nginx – deployment 2 / 2 2 2 5m32s
Superior. Let’s maintain going.
You’ll now need to get your hands on out what IP sort out for which the NGINX pod is likely to be reached. One issue to keep in mind is that this major deployment will solely be on the market to the native neighborhood. We’ll take {{that a}} step extra subsequent time and make it on the market exterior the cluster.
To seek out the IP sort out of the NGINX pod, state of affairs the command:
microk8s kubectl describe pods nginx 1 microk8s kubectl describe pods nginx
Inside the output, you will need to see one factor like this:
IPs: IP: 10.1.219.7 1 2 IPs : IP : 10.1.219.7
Our NGINX pod is engaged on IP sort out 10.1.219.7. We’re in a position to try that by working the following command from the controller node:
curl 10.1.219.7 1 curl 10.1.219.7
The output must look one factor like this:
Welcome to nginx!
Within the occasion you see this net web page, the nginx web server is effectively put in and dealing. Further configuration is required.
For on-line documentation and help please seek the advice of with nginx.org.
Enterprise help is accessible at” nginx.com.
Thanks for using nginx.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 < ! DOCTYPE html > < html > < head > < title > Welcome to nginx ! < / title > < style > physique { width : 35em ; margin : 0 auto ; font – famIf you’ve been following my Kubernetes 101 sequence, you should have discovered that there are strategies to make Kubernetes considerably easier. Due to MicroK8s and Portainer, the journey doesn’t needs to be tough frequently. Nonetheless regardless that you simply probably can begin your dive into Kubernetes as a point-and-click affair with Portainer, eventually you might need to have the flexibility to work from the command line. That’s not a given nevertheless you under no circumstances know in case you’ll be thrown proper right into a state of affairs the place you’re requested to deploy an app or service to a Kubernetes cluster and there is no Portainer GUI to be found.
Must such a state of affairs come up, you’ll be glad you perceive the way to take administration of the command line interface and get the job completed.
That’s exactly what we’re going to do proper right here. We’ll run by the use of a straightforward NGINX deployment and do all of it from the command line.
Requirements
To look at alongside, you’ll need a working Kubernetes cluster, which can be very easy to deploy with the help of MicroK8s. Yow will uncover out how one can arrange MicroK8s proper right here after which how one can add nodes to the cluster proper right here. Now, on account of we’re demonstrating with a MicroK8s mannequin of Kubernetes, the directions generally is a bit completely totally different on account of they’ll use microk8s along with kubectl.
That’s all you need. Let’s get to the deployment.
Create Your First Deployment
The very very first thing we’ll do is log in to the Kubernetes controller node. As quickly as logged in, verify your nodes are all nonetheless associated with the command:
microk8s kubectl get nodes
The output of the command must comprise one factor like this:
k8s3 Ready
Now that you just’re certain your nodes are all throughout the Ready state, create a model new itemizing with the command:
mkdir ~/deployment 1 mkdir ~/ deployment
Grow to be that newly-created itemizing with the command:
cd ~/deployment 1 cd ~/ deployment
Create a model new deployment YAML file with:
nano nginx-deployment.yml 1 nano nginx – deployment . yml
In that file, paste the following contents:
apiVersion: apps/v1
kind: Deployment
metadata:
determine: nginx-deployment
labels:
app: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
– determine: nginx
image: nginx:1.7.9
ports:
– containerPort: 80
Lots of the above file must be self-explanatory, nevertheless there are explicit sections to pay shut consideration to, resembling:
apiVersion – particulars which mannequin of the API can be utilized.
kind – particulars the type of object you is likely to be creating.
metadata – data that helps set up the factor.
spec – the state you want for the factor
Save and shut the file with the [Ctrl]+[X] keyboard shortcut.
Apply the newly created YAML file with the command:
microk8s kubectl apply -f nginx-deployment.yml 1 microk8s kubectl apply – f nginx – deployment . yml
The output must current one factor like this:
deployment.apps/nginx-deployment created 1 deployment . apps / nginx – deployment created
Affirm the deployment with:
microk8s kubectl get deployments 1 microk8s kubectl get deployments
It’s good to see one factor like this throughout the output:
nginx-deployment 2/2 2 2 5m32s 1 nginx – deployment 2 / 2 2 2 5m32s
Superior. Let’s maintain going.
You’ll now need to get your hands on out what IP sort out for which the NGINX pod is likely to be reached. One issue to keep in mind is that this major deployment will solely be on the market to the native neighborhood. We’ll take {{that a}} step extra subsequent time and make it on the market exterior the cluster.
To seek out the IP sort out of the NGINX pod, state of affairs the command:
microk8s kubectl describe pods nginx 1 microk8s kubectl describe pods nginx
Inside the output, you will need to see one factor like this:
IPs: IP: 10.1.219.7 1 2 IPs : IP : 10.1.219.7
Our NGINX pod is engaged on IP sort out 10.1.219.7. We’re in a position to try that by working the following command from the controller node:
curl 10.1.219.7 1 curl 10.1.219.7
The output must look one factor like this:
Welcome to nginx!
Within the occasion you see this net web page, the nginx web server is effectively put in and dealing. Further configuration is required.
For on-line documentation and help please seek the advice of with nginx.org.
Enterprise help is accessible at” nginx.com.
Thanks for using nginx.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 < ! DOCTYPE html > < html > < head > < title > Welcome to nginx ! < / title > < style > physique { width : 35em ; margin : 0 auto ; font – fam