Difficulty: Introduction
Estimated Time: 10 minutes

Nginx on Kubernetes

Nginx

These next steps provide an ideal place to start deploying and running your first application on Kubernetes. With a Kubernetes cluster based on Minikube and a CLI tool called kubectl, a few steps will get a Nginx web server running.

You will learn how:

  • to use the basics of the kubectl CLI tool
  • to install Nginx on Kubernetes
  • containers are deployed as Deployments in Pods
  • a Service can provide access to a replication of Pods

Nginx is a web server which can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. The software was created by Igor Sysoev and first publicly released in 2004. A company of the same name was founded in 2011 to provide support and Nginx plus paid software.

Nginx is free and open-source software, released under the terms of a BSD-like license. A large fraction of web servers use NGINX, often as a load balancer. -- Wikipedia

Conclusion

You now understand two different techniques for starting a container on Kubernetes. Nginx is a commonly used for serving up web contents and as you can see is easy to start on Kubernetes. There are thousands of other containers that can easily be started with these same basic steps.

Lessons Learned

With these scenarios you have learned how:

  • to use the basics of the kubectl CLI tool
  • to install Nginx on Kubernetes
  • containers are deployed as Deployments in Pods
  • a Service can provide access to a replication of Pods

Hopefully you also understand how Kubernetes is a new type of data center operating system that can run your applications - across multiple nodes on your local laptop, a rack of servers, or any cloud target. If you are considering deploying multiple containers that make up a larger solution consider layering on Helm as a package manager for these manifests.

References

Don’t stop now! The next scenario will only take about 10 minutes to complete.

Nginx

Step 1 of 3

Kubernetes Running for You

As you see, your Kubernetes cluster based on Minikube is will be available in a moment. Verify it's ready for your use:

minikube version && minikube status

Notice that while Minikube is running, there is nothing deployed except for a single service/kubernetes item,

kubectl get deployments,pods,services

and no services are listed.

minikube service list --namespace default

A clean slate, let's deploy our first application.

Terminal
Kubernetes Dashboard
Nginx-One
Nginx-Two