Getting Started with Kubernetes
Somerford Associates Limited
Accelerating Digital and Cloud Transformation by Leveraging our Delivery and Support Expertise.
What is Kubernetes?
Before going any further, it is important to establish what exactly Kubernetes, commonly referred to as K8s, is.
Containers
In order to understand Kubernetes it is important to first understand that in the modern computing world there is a high usage and dependency on containerisation. That is, using software to group application resources together, including their environments and files, so that they can virtually run anywhere and have dependencies and resources managed. This allows for ease of use and movement of the application or software across any environment, such as moving an app out of a test environment and into a prod environment. Containers also facilitate a higher level of security for software as security can be built directly into the pipeline.
A good way of looking at containers would be to equate them to virtual machines, although more lightweight. They are a package which have their own OS and everything they need to run independently and serve the purpose of a single application. This in essence allows for them to serve their role as a portable application host which can be used across your infrastructure as you need it and serves to facilitate the development pipeline which best suits your business.
However, due to the nature of containers, there are more complexities than normal software operation, as such, there is a need for container orchestration. This means a method for managing all of your containers across your environments (which for a large company would be a lot of containers) and ensuring that all of them are running optimally and are managed effectively. This is where Kubernetes comes into play.
Below is an image illustrating the use of Containers.
Obtained from https://www.docker.com/resources/what-container/
Kubernetes
Now we know the basis of why there is a need for container managing and orchestration, we can take a look at the most popular tool for doing so, Kubernetes. But what exactly is Kubernetes?
Well, as previously mentioned, Kubernetes serves as a tool which is used to manage your containers, including features which allow you to deploy and operate them centrally. It is an open source platform originally built on google cloud and released in 2014. It aims to make your life in containers as easy and hassle free as possible. This is done through automating the orchestration and optimising the time and resource attribution. This automation encompasses built in commands which allow for the deployment of applications and rolling out changes to them and also the scaling of said applications in order to fit the bespoke requirements of your infrastructure. It is important to remember however that Kubernetes is not a tool which builds applications or provides application level services, it is an automation management tool. Once your organisation is utilising Kubernetes, there are many different tools and companies who work with Somerford, with products which can take advantage of this. From the security perspective in analysing data with Lacework or Splunk Enterprise Security, or in an observability sense through Netskope.
What can it actually do?
Kubernetes main aim is to provide a framework for running and managing your containers, taking care and automating your scaling. Some of its key features are:
These are some of the most important features, however there are many more, for a full run down follow this link to the Kubernetes website: https://kubernetes.io/docs/concepts/overview/
领英推荐
What tools use Kubernetes?
As mentioned previously, Somerford partners with many different vendors whose products can take full advantage of Kubernetes and use it to drive more value for the customer. A prime example of this would be products which use your data to give you an overview of the security of your environments. Within a machine learning tool such as Lacework, Kubernetes is given its own bespoke section providing insights into not only the Kubernetes deployment itself, but also using this to enrich the security health of your environment through insights which give a combined overview. Splunk can also bring in Kubernetes data, and seamlessly index it alongside the rest of your environments data, thus giving you a more detailed and thorough repository of data to search on and allow for the insights gained from this data to be more impactful and the context to be further enriched.?
Somerford partners with countless more companies which have functionality with Kubernetes other than the ones listed above, any questions can be answered by us at Somerford through the email address: [email protected]
Deploying Kubernetes
So let's imagine that you have multiple containerised applications and are needing a tool which lets you manage them and have more control. You opt for Kubernetes, good choice! But how would you go about getting started?
Kubernetes defines establishing operation as 6 main steps as can be seen below:
Although we will only focus on the first 2 as these are the main points of focus when first establishing your environment with a Kubernetes framework.
There are quite a few methods for initially setting up Kubernetes due to the range of distributions which are on offer, however these boil down to a key decision, either using the more involved official setup which utilises Kubeadm, or a packaged solution such as K3s or MicroK8s. For the latter options installation can be as simple as running commands on the CLI of your machines and doing the relevant configuration to your chosen distribution.?
The official method requires the downloading and installation of the aforementioned Kubeadm and a container runtime on all hosts, then the following of the instructions found on the official website, for the function of this blog they won’t be regurgitated.
Key Terms and Concepts
Before proceeding and playing around with your newly managed containerised environment, it's probably best to understand some of the terms and concepts used within Kubernetes.
Conclusion
To conclude, Kubernetes is a container management tool which allows for you to have complete control over your containerised applications. Through the use of automation and other key features aiming to make your life easier Kubernetes becomes an invaluable tool for any containerised environment. And due to its nature of being an easy to operate open source tool it is no wonder it has become the most popular container orchestration tool on the market, being recognised by many other products and vendors as a key data source and integrations with some of the biggest data tools being available. Not only this but getting set up and running is a simple process which can be easily facilitated in house. Once set up, we saw how there are countless tools, facilitated by Somerford, which can utilise and allow you to draw even more value from Kubernetes, from security to observability.
Through the implementation of Kubernetes container orchestration you are ensuring your environment is managed effectively and efficiently and you are positioning your environment in the best possible way.